在 Java 开发中,将 Word 文档(.doc 或 .docx)转换为 PDF 是常见的办公自动化需求。本文介绍常用的实现方式及其配置文件设置。
1. 使用 LibreOffice + JODConverter
这是最稳定的方式之一,通过调用 LibreOffice 的命令行接口进行转换。
Maven 依赖
<dependency>
<groupId>org.jodconverter</groupId>
<artifactId>jodconverter-spring-boot-starter</artifactId>
<version>4.4.6</version>
</dependency>
application.yml 配置
jodconverter:
local:
office-home: /usr/lib/libreoffice # 根据系统路径调整
working-dir: /tmp
port-numbers: 2002
2. 使用 Apache POI + iText
适用于 .docx 转 PDF,但对复杂格式支持有限。
Maven 依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.4</version>
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.1.7</version>
</dependency>
3. 注意事项
- 确保服务器已安装 LibreOffice(若使用 JODConverter)
- 中文乱码问题:需在 PDF 生成时嵌入中文字体
- 生产环境建议使用异步任务处理转换请求
4. 推荐在线工具(无需编码)
如需快速转换文档,可使用以下免费在线服务:
- Word转Excel工具(支持多种格式互转)
- 在线Word文档编辑(可配合导出PDF功能使用)