这是一项艰巨的任务,如果您想要完美的结果(如果不使用Word则不可能),则难度就更大了,因为仅使用纯Java即可为您完成所有操作且都是开源的API数量为零,我相信(
更新:我错了,请参见下文 )。
基本选项如下:
- 使用JNI / C#Web服务/等脚本MS Office(仅100%完美结果的选择)
- 使用可用的API脚本Open Office(90%完美)
- 使用Apache POI和iText(非常大的工作,永远不会是完美的)。
更新-2016-02-11 这是我关于此主题的博客文章的精简副本,概述了支持Java中Word到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解决方案,价格超过2500美元。它包含描述如何在评估下载中转换文档的样本。
OpenOffice API是 开源的,不是纯Java的-需要安装Open Office
OpenOffice是支持Java API的本机Office套件。这支持阅读Office文档和编写PDF文档。SDK包含一个文档转换示例(examples
/ java / documentHandling / documentConverter.java)。要编写PDF,您需要传递“
writer_pdf_Export”作家而不是“ MS Word 97”。或者,您可以使用包装器API
JODConverter。
JDocToPdf-截至2016年2月11日 已死, 使用Apache
POI读取Word文档,并使用iText编写PDF。完全免费,100%Java,但有一些限制。



