在企业级应用或办公自动化系统中,经常需要将Word文档(.doc 或 .docx)转换为PDF格式,同时尽可能保留原始排版、字体、图片和表格等格式。本文介绍几种主流的Java实现方案。
Aspose.Words 是一个功能强大的商业库,支持高保真地将 Word 转换为 PDF,几乎完全保留原始格式。
// Maven依赖:
// <dependency>
// <groupId>com.aspose</groupId>
// <artifactId>aspose-words</artifactId>
// <version>23.10</version>
// </dependency>
import com.aspose.words.*;
public class WordToPdf {
public static void main(String[] args) throws Exception {
Document doc = new Document("input.docx");
doc.save("output.pdf", SaveFormat.PDF);
}
}
Apache POI 可读取 Word 内容,但不直接支持 PDF 输出。需结合 iText 手动重建文档结构,格式还原度较低,适合简单文本转换。
也可通过 Java 调用 LibreOffice 命令行工具进行转换(需服务器安装 LibreOffice):
soffice --headless --convert-to pdf input.docx --outdir ./