引入pom依赖
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.4.2</version>
</dependency>
2.创建图片转pdf的实现类
package com.ran;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Image;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
public class ImgToPdfUtil {
public static File Pdf(ArrayList<String> imageUrllist, String mOutputPdfFileName) {
Document doc = new Document(PageSize.A4, 0, 0, 0, 0);
try {
PdfWriter.getInstance(doc, new FileOutputStream(mOutputPdfFileName));
doc.open();
for (int i = 0; i < imageUrllist.size(); i++) {
doc.newPage();
Image png1 = Image.getInstance(imageUrllist.get(i));
float heigth = png1.getHeight();
float width = png1.getWidth();
int percent = getPercent2(heigth, width);
png1.setAlignment(Image.MIDDLE);
png1.scalePercent(percent + 3);
doc.add(png1);
}
doc.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
File mOutputPdfFile = new File(mOutputPdfFileName);
if (!mOutputPdfFile.exists()) {
mOutputPdfFile.deleteOnExit();
return null;
}
return mOutputPdfFile;
}
public static int getPercent(float h, float w) {
int p = 0;
float p2 = 0.0f;
if (h > w) {
p2 = 297 / h * 100;
} else {
p2 = 210 / w * 100;
}
p = Math.round(p2);
return p;
}
public static int getPercent2(float h, float w) {
int p = 0;
float p2 = 0.0f;
p2 = 530 / w * 100;
p = Math.round(p2);
return p;
}
public void imgOfPdf(String filepath, String imgUrl) {
try {
ArrayList<String> imageUrllist = new ArrayList<String>();
String[] imgUrls = imgUrl.split(",");
for (int i=0; i<imgUrls.length; i++) {
imageUrllist.add(imgUrls[i]);
}
String pdfUrl = filepath;
File file = this.Pdf(imageUrllist, pdfUrl);
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
ImgToPdfUtil img = new ImgToPdfUtil();
img.imgOfPdf("D:\\test\\test.pdf","D:\\test\\7.jpg,D:\\test\\7.jpg");
}
}
3.测试一下即可是否成功
public static void main(String[] args) {
ImgToPdfUtil img = new ImgToPdfUtil();
img.imgOfPdf("D:\\test\\test.pdf","D:\\test\\7.jpg,D:\\test\\7.jpg");
}
ok
参考地址
:https://www.cnblogs.com/sky-zky/p/9639256.html