Java实现批量图片生成PDF文件
首先,导入对应依赖:
<dependency> <groupId>com.lowagie</groupId> <artifactId>itext</artifactId> <version>2.1.7</version> </dependency>
实现代码如下:
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); if (!file.exists()){ file.createNewFile(); } // 第一步:创建一个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:\\img"); }

浙公网安备 33010602011771号