在企业级开发中,经常需要将Word文档自动转换为PDF格式,以确保格式统一、便于打印或分发。本文介绍几种常用的Java库和方法,帮助开发者高效完成Word到PDF的转换。
Apache POI 用于读取 Word 文档,iText 用于生成 PDF。该方案适用于简单格式的文档。
// 示例伪代码(需引入 poi 和 itext 依赖)
XWPFDocument doc = new XWPFDocument(new FileInputStream("input.docx"));
PdfWriter writer = new PdfWriter("output.pdf");
PdfDocument pdf = new PdfDocument(writer);
// 遍历段落并写入 PDF(需手动处理样式)
Spire.Doc 是一个功能强大的商业库,也提供免费版本(有页数限制),支持直接转换 Word 到 PDF,保留原始格式。
import com.spire.doc.*;
Document document = new Document();
document.loadFromFile("input.docx");
document.saveToFile("output.pdf", FileFormat.PDF);
通过调用本地安装的 LibreOffice 实现转换,适合服务器环境部署,支持复杂格式。
OfficeManager officeManager = new DefaultOfficeManager();
officeManager.start();
OfficeDocumentConverter converter = new OfficeDocumentConverter(officeManager);
converter.convert(new File("input.docx"), new File("output.pdf"));
officeManager.stop();
选择哪种方式取决于你的项目需求:若追求简单快速且文档格式不复杂,可考虑 Spire.Doc;若需完全开源方案,可结合 Apache POI 与 iText(但需自行处理排版);若服务器允许安装 LibreOffice,则 JODConverter 是最接近原生效果的选择。