为什么需要 Word 转 PDF?
在企业级应用中,常需将用户上传的 Word 文档转换为 PDF 格式用于归档、打印或安全分发。使用 Java 实现这一功能,需确保原始排版、字体、图片、表格等元素完整保留。
主流 Java 实现方案
1. 使用 Aspose.Words for Java(推荐商业方案)
Aspose.Words 是功能最全面的文档处理库之一,支持高保真 Word 到 PDF 转换。
import com.aspose.words.*;
Document doc = new Document("input.docx");
doc.save("output.pdf", SaveFormat.PDF);
2. 使用 JODConverter + LibreOffice(免费开源)
依赖本地安装的 LibreOffice,通过 UNO API 实现转换。
import org.jodconverter.LocalConverter;
import java.io.File;
LocalConverter.make()
.convert(new File("input.docx"))
.to(new File("output.pdf"))
.execute();
3. Apache POI + iText(有限支持)
Apache POI 可读取 Word 内容,但无法完美还原样式;需配合 iText 手动构建 PDF,适合简单文本场景。
注意事项
- Aspose.Words 需要许可证,但提供试用版;
- JODConverter 需在服务器安装 LibreOffice,并启动 headless 服务;
- 纯开源方案难以 100% 还原复杂 Word 格式(如页眉页脚、公式、艺术字);
- 生产环境建议优先测试转换效果后再上线。