Java实现批量图片生成PDF文件,这个也是比较常用到的。
需要引入一个包
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>${lastest.version}</version>
</dependency>
代码如下:
public class PdfUtils {
private static String FILEPATH = "E:\\pdf\\";
/** * @param fileName 生成pdf文件 * @param imagesPath 需要转换的图片路径的数组 */
public static void imagesToPdf(String fileName, String imagesPath) {
try {
fileName = FILEPATH + fileName + ".pdf";
File file = new File(fileName);
// 第一步:创建一个document对象。
Document document = new Document();
document.setMargins(0, 0, 0, 0);
// 第二步:
// 创建一个PdfWriter实例,
PdfWriter.getInstance(document, new FileOutputStream(file));
// 第三步:打开文档。
document.open();
// 第四步:在文档中增加图片。
File files = new File(imagesPath);
String[] images = files.list();
int len = images.length;
for (int i = 0; i < len; i++) {
if (images[i].toLowerCase().endsWith(".bmp")
|| images[i].toLowerCase().endsWith(".jpg")
|| images[i].toLowerCase().endsWith(".jpeg")
|| images[i].toLowerCase().endsWith(".gif")
|| images[i].toLowerCase().endsWith(".png")) {
String temp = imagesPath + "\\" + images[i];
Image img = Image.getInstance(temp);
img.setAlignment(Image.ALIGN_CENTER);
img.scalePercent(100);
// 根据图片大小设置页面,一定要先设置页面,再newPage(),否则无效
document.setPageSize(new Rectangle(img.getWidth(), img.getHeight()));
document.newPage();
document.add(img);
}
}
// 第五步:关闭文档。
document.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
imagesToPdf("我的pdf文件", "E:\\tmp");
}
}
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://yunfan.blog.csdn.net/article/details/120973205
内容来源于网络,如有侵权,请联系作者删除!