文章目录

  • 1. 依赖
  • 2. 工具类抽取
1. 依赖
     <!--图片转换pdf Start--><!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf --><dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13</version></dependency><!-- https://mvnrepository.com/artifact/com.lowagie/itext --><dependency><groupId>com.lowagie</groupId><artifactId>itext</artifactId><version>4.2.1</version></dependency><!--图片转换pdf End-->
2. 工具类抽取
package com.gblfy.ly.util;package com.sinosoft.cmiip.modular.taskbatch.util;import com.itextpdf.text.Document;
import com.itextpdf.text.Image;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.PdfWriter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;/*** 图片批量转换pdf** @author gblfy* @date 2020-11-20*/
public class PicToPdfUtil {private final static Logger logger = LoggerFactory.getLogger(PicToPdfUtil.class);/*** 图片转pdf文件** @param source 图片路径* @param target pdf文件路径*/public static void convert(String source, String target) {Document document = new Document();// 设置文档页边距document.setMargins(0, 0, 0, 0);FileOutputStream fos = null;try {fos = new FileOutputStream(target);PdfWriter.getInstance(document, fos);// 打开文档document.open();// 获取图片的宽高Image image = Image.getInstance(source);float imageHeight = image.getScaledHeight();float imageWidth = image.getScaledWidth();// 设置页面宽高与图片一致Rectangle rectangle = new Rectangle(imageWidth, imageHeight);document.setPageSize(rectangle);// 图片居中image.setAlignment(Image.ALIGN_CENTER);// 新建一页添加图片document.newPage();document.add(image);} catch (Exception ioe) {logger.error("转换出现异常:", ioe.getMessage());} finally {// 关闭文档document.close();try {fos.flush();fos.close();} catch (IOException e) {e.printStackTrace();}}logger.info("图片转换完成!!!");}/*** 图片批量转换pdf入口** @param picFilePath* @param pdfFilePaths*/public static void getPathFileList(String picFilePath, String pdfFilePaths) {ArrayList<String> files = getFiles(picFilePath);getFileName(files, pdfFilePaths);}/*** 将pic图片文件批量换换位pdf文件** @param files* @return*/public static void getFileName(ArrayList<String> files, String pdfFilePath) {for (int i = 0; i < files.size(); i++) {String fileName = files.get(i);String picFileName = fileName.substring(fileName.lastIndexOf(File.separator) + 1);String[] split = picFileName.split("\\.");String pdfFileName = split[0];String pdfSuffix = ".pdf";//文件转换统一处理convert(fileName, pdfFilePath + pdfFileName + pdfSuffix);}}/*** 获取指定目录下的文件绝对路径列表** @param picFilePath 目录* @return*/public static ArrayList<String> getFiles(String picFilePath) {ArrayList<String> files = new ArrayList<String>();File file = new File(picFilePath);File[] fileList = file.listFiles();for (int i = 0; i < fileList.length; i++) {if (fileList[i].isFile()) {files.add(fileList[i].toString());}}return files;}public static void main(String[] args) {//待转换的图片目录String picFilePath = "D:\\222\\pic\\";//转换的pdf目录String pdfFilePath = "D:\\222\\pdf\\";getPathFileList(picFilePath, pdfFilePath);}
}

图片批量转换pdf文件相关推荐

  1. 怎么把JPG转换成PDF格式?图片批量转换PDF的简单方法

    文件格式的转换在我们的工作中扮演了非常重要的角色,比如怎么把JPG转换成PDF格式?如果可以轻松的解决文件格式转换问题,相信大家的工作效率也会提高很多.如果有小伙伴不知道如何转换,那么小编分享一个不用 ...

  2. 在Linux中,使用pdftotext批量转换pdf文件成txt文件

    将多个PDF文件一次性转换为文本文件,可以在Linux中使用pdftotext命令和循环.以下是示例命令: To use pdftotext in Linux to convert multiple ...

  3. 图片怎么转PDF文件?免费图片转PDF方法推荐

    图片怎么转PDF文件?我们经常把课堂上或工作中遇到的重要内容拍照记录,但是有时候内容不仅不好查阅,也不好保存,还会因为内存太大占用空间.PDF作为一种版式文档格式,因其兼容跨平台打开.兼容多格式互转. ...

  4. Python+pywin32批量转换Word文件为PDF文件

    代码功能:把当前文件夹中多个Word文件批量转换为PDF文件 技术原理:代码实际上是调用了Word的"导出"功能,模拟了手工转换的操作并实现了自动化,要求已正确安装Python扩展 ...

  5. pdfkit批量转换html文件为pdf

    最简单的epub文件转换为pdf文件的方法为使用电子书管理工具calibre,但是calibre要将文件添加到书库才能进行转换,添加到书库时会创建冗余的文件夹和文件,让人多少有点不爽.calibre工 ...

  6. python编辑svg文件_使用Python批量转换SVG文件为PNG或PDF文件

    使用Python批量转换SVG文件为PNG或PDF文件 使用Python批量转换SVG文件为PNG或PDF文件 使用模块 1 模块单独使用 2 模块用于代码 实例 1 命令行方式 2 python脚本 ...

  7. java图片转换pdf_Java实现图片转换PDF文件的示例代码

    最近因为一些事情,需要将一张简单的图片转换为PDF的文件格式,在网上找了一些工具,但是这些工具不是需要注册账号,就是需要下载软件. 而对于只是转换一张图片的情况下,这些操作显然是非常繁琐的,所以作者就 ...

  8. 将HTML文件转换为PDF文件(Thymeleaf模板转换,简单解决中文问题, 解决HTML带图片转换PDF文件问题)

    将HTML文件转换为PDF文件 一.导入依赖 <!-- itext生成Pdf --> <dependency><groupId>com.itextpdf</g ...

  9. python办公自动化实例(一):批量转换word文件为PDF

    场景:有大批word文件需要转PDF,手动word转pdf速度很慢,尤其当word文件很大的时候,这时候就可以使用程序高效批量转换word文件了. 实现效果如下图所示 代码如下: #!user/bin ...

最新文章

  1. 在Ubuntu 14.04 64bit上安装下载管理器FlareGet 4.2.92
  2. Android学习笔记---Material Design设计理念
  3. Android application捕获崩溃异常
  4. mysql 触发器学习
  5. python获取列表中元素的索引
  6. 你不能错过这些美食!
  7. android学习总结
  8. 你可能对电灯泡一无所知
  9. excel三维地图数据源引用无效_Excel函数公式应用的基础,数据源的引用,动图解释...
  10. mysql 索引空间大小_查看数据库表中容量大小,表有多少记录,占多少空间以及索引的大小,以及未使用空间...
  11. Android6.0之后的权限机制对App开发的影响
  12. 员工管理系统————员工删除模块
  13. 如何降低前端代码圈复杂度?
  14. python自学网站-分享干货:三个新手自学Python的网站!
  15. URL提交之前对数据编码
  16. VMware Workstation 9.0安装体验
  17. 单招面试计算机专业技巧,单招面试技巧 单招好不好
  18. python爬虫设计实验
  19. 华为手机系统更新成鸿蒙,如何将自己的华为手机升级成鸿蒙系统
  20. 闭着眼学基础python 保姆教程:组合数据类型(1)序列类型

热门文章

  1. 从金庸的武侠到数学的江湖
  2. 施一公:优秀博士如何养成
  3. 递归函数时间复杂度分析
  4. ROS(3)订阅者subscriber编程实现
  5. 技术干货| 阿里云基于Hudi构建Lakehouse实践探索「内附干货PPT下载渠道」
  6. 如何快速搭建云原生企业级数据湖架构及实践分享
  7. Flagger on ASM·基于Mixerless Telemetry实现渐进式灰度发布系列 1 遥测数据
  8. 一文带你了解MySQL中的各种锁机制!
  9. 节省50%部署时间的5大KS8服务
  10. 容器开启数据服务之旅系列(二):Kubernetes如何助力Spark大数据分析 1