如何将 Word 文档转换为 PDF?

新手上路,请多包涵

如何将 Word 文档转换为 PDF,其中文档包含各种内容,例如表格。尝试使用 iText 时,原始文档看起来与转换后的 PDF 不同。有没有我可以使用的开源 API/库,而不是调用可执行文件?

原文由 magh 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 913
2 个回答

这是一项非常艰巨的任务,如果你想要完美的结果(如果不使用 Word 是不可能的)就更难了,因为我相信用纯 Java 为你做这一切并且是开源的 API 的数量是零( _更新:我错了,见下文_)。

您的基本选项如下:

  1. 使用 JNI/a C# web 服务/etc 脚本 MS Office(100% 完美结果的唯一选择)
  2. 使用可用的 API 脚本 Open Office(90+% 完美)
  3. 使用 Apache POI 和 iText(非常大的工作,永远不会完美)。

更新 - 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 但有一些 限制

原文由 Michael Lloyd Lee mlk 发布,翻译遵循 CC BY-SA 3.0 许可协议

为此,您可以使用 JODConverter。它可用于在不同办公格式之间转换文档。如:

  1. Microsoft Office 到 OpenDocument,反之亦然
  2. 任意格式转PDF
  3. 并支持更多转换
  4. 它还可以将 MS office 2007 文档转换为 PDF 以及几乎所有格式

有关它的更多详细信息,请访问: http ://www.artofsolving.com/opensource/jodconverter

原文由 Nodexpert 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题