OpenOffice API 开源,而非纯 Java - 需要安装 Open Office OpenOffice 是一个支持 Java API 的本地办公套件。支持阅读Office文档和编写PDF文档。 SDK 包含文档转换示例 (examples/java/DocumentHandling/DocumentConverter.java)。要编写 PDF,您需要通过“writer_pdf_Export”编写器而不是“MS Word 97”编写器。或者您可以使用包装器 API JODConverter 。
JDocToPdf - 截至 2016-02-11 已失效 使用 Apache POI 阅读 Word 文档并使用 iText 编写 PDF。完全免费,100% Java 但有一些 限制。
这是一项非常艰巨的任务,如果你想要完美的结果(如果不使用 Word 是不可能的)就更难了,因为我相信用纯 Java 为你做这一切并且是开源的 API 的数量是零( _更新:我错了,见下文_)。
您的基本选项如下:
更新 - 2016-02-11 这是我关于此主题的博客文章的缩减副本,其中概述了支持 Java 中的 Word-to-PDF 的现有产品。
在 Java 中将 Microsoft Office(Word、Excel)文档转换为 PDF
我知道的三种产品可以呈现 Office 文档:
yeokm1/docs-to-pdf-converter 不定期维护,纯 Java,开源 将许多库联系在一起以执行转换。
xdocreport 积极开发,纯 Java,开源 它是 Java API,用于将使用 MS Office(docx)或 OpenOffice(odt),LibreOffice(odt)创建的 XML 文档与 Java 模型合并以生成报告,并在需要时将其转换为另一种格式( PDF、XHTML…)。
Snowbound Imaging SDK 闭源,纯 Java Snowbound 似乎是一个 100% Java 解决方案,成本超过 2,500 美元。它包含描述如何在评估下载中转换文档的示例。
OpenOffice API 开源,而非纯 Java - 需要安装 Open Office OpenOffice 是一个支持 Java API 的本地办公套件。支持阅读Office文档和编写PDF文档。 SDK 包含文档转换示例 (examples/java/DocumentHandling/DocumentConverter.java)。要编写 PDF,您需要通过“writer_pdf_Export”编写器而不是“MS Word 97”编写器。或者您可以使用包装器 API JODConverter 。
JDocToPdf - 截至 2016-02-11 已失效 使用 Apache POI 阅读 Word 文档并使用 iText 编写 PDF。完全免费,100% Java 但有一些 限制。