Java实现批量图片生成PDF文件

x33g5p2x  于2021-10-26 转载在 Java  
字(1.3k)|赞(0)|评价(0)|浏览(580)

Java实现批量图片生成PDF文件,这个也是比较常用到的。

  1. public class PdfUtils {
  2. private static String FILEPATH = "E:\\pdf\\";
  3. /** * @param fileName 生成pdf文件 * @param imagesPath 需要转换的图片路径的数组 */
  4. public static void imagesToPdf(String fileName, String imagesPath) {
  5. try {
  6. fileName = FILEPATH + fileName + ".pdf";
  7. File file = new File(fileName);
  8. // 第一步:创建一个document对象。
  9. Document document = new Document();
  10. document.setMargins(0, 0, 0, 0);
  11. // 第二步:
  12. // 创建一个PdfWriter实例,
  13. PdfWriter.getInstance(document, new FileOutputStream(file));
  14. // 第三步:打开文档。
  15. document.open();
  16. // 第四步:在文档中增加图片。
  17. File files = new File(imagesPath);
  18. String[] images = files.list();
  19. int len = images.length;
  20. for (int i = 0; i < len; i++) {
  21. if (images[i].toLowerCase().endsWith(".bmp")
  22. || images[i].toLowerCase().endsWith(".jpg")
  23. || images[i].toLowerCase().endsWith(".jpeg")
  24. || images[i].toLowerCase().endsWith(".gif")
  25. || images[i].toLowerCase().endsWith(".png")) {
  26. String temp = imagesPath + "\\" + images[i];
  27. Image img = Image.getInstance(temp);
  28. img.setAlignment(Image.ALIGN_CENTER);
  29. img.scalePercent(100);
  30. // 根据图片大小设置页面,一定要先设置页面,再newPage(),否则无效
  31. document.setPageSize(new Rectangle(img.getWidth(), img.getHeight()));
  32. document.newPage();
  33. document.add(img);
  34. }
  35. }
  36. // 第五步:关闭文档。
  37. document.close();
  38. } catch (Exception e) {
  39. e.printStackTrace();
  40. }
  41. }
  42. public static void main(String[] args) {
  43. imagesToPdf("我的pdf文件", "E:\\tmp");
  44. }
  45. }

相关文章

最新文章

更多