为什么需要将Word转为PDF?
在企业开发或办公自动化场景中,常常需要将用户编辑的Word文档(.doc/.docx)转换为PDF格式,以确保内容格式统一、不可篡改,并便于打印或分发。
Java实现Word转PDF的常见方案
- Apache POI + iText:适用于.docx文件,先解析Word内容再用iText生成PDF。
- JODConverter + LibreOffice/OpenOffice:调用本地Office服务进行格式转换,兼容性好。
- Aspose.Words for Java:商业库,功能强大但需付费授权。
示例代码:使用JODConverter + LibreOffice
前提:已安装 LibreOffice 并将其添加到系统 PATH。
// Maven依赖
<dependency>
<groupId>org.jodconverter</groupId>
<artifactId>jodconverter-local</artifactId>
<version>4.4.6</version>
</dependency>
// Java代码
import org.jodconverter.LocalConverter;
import java.io.File;
public class WordToPdf {
public static void main(String[] args) {
File inputFile = new File("input.docx");
File outputFile = new File("output.pdf");
LocalConverter.builder()
.build()
.convert(inputFile)
.to(outputFile)
.execute();
}
}
注意事项
- 确保 LibreOffice 后台服务正常运行(可使用 soffice --headless --accept="socket..." 启动)。
- 生产环境中建议使用 Docker 容器化 LibreOffice 服务。
- 对于高并发场景,需考虑转换队列和资源隔离。
在线工具推荐
如果你不需要编程实现,也可以使用以下在线工具快速完成转换:
- Word转Excel工具(支持多种文档格式互转)
- 在线Word文档编辑(可编辑并导出为PDF)