You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.7 KiB
Java

package com.example;
import com.example.utils.Md5Util;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
import java.util.Timer;
import java.util.TimerTask;
@RunWith(SpringRunner.class)
@SpringBootTest(classes = com.example.SpringbootDemoApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class DemoApplicationTests {
@Test
public void contextLoads() {
String jpgPath = "E:\\pdf\\1\\2.jpg";
// 输出 PDF 文件路径
String pdfPath = "E:\\pdf\\2\\2.pdf";
try (PDDocument document = new PDDocument()) {
PDPage page = new PDPage(PDRectangle.A4);
document.addPage(page);
PDImageXObject pdImage = PDImageXObject.createFromFile(jpgPath, document);
try (PDPageContentStream contentStream = new PDPageContentStream(document, page)) {
// 设置图片的位置和大小
contentStream.drawImage(pdImage, 0, 0, pdImage.getWidth(), pdImage.getHeight());
}
document.save(pdfPath);
} catch (IOException e) {
e.printStackTrace();
}
}
}