使用java api从Word文档创建PDF文档

时间:2012-03-29 10:51:20

标签: java pdf ms-word pdf-generation

在我的一项要求中,我必须从word文档创建一个PDF,以便

1)每页都会有一个页码。

2)每行都会有行号,每行的行号为1。

我们的应用程序是用java编写的,因此Java API会更有帮助。但如果在任何其他语言中更方便那就没问题。

5 个答案:

答案 0 :(得分:1)

这是最常见的Java PDF API的链接:) http://java-source.net/open-source/pdf-libraries IText是最着名的一个,这是IText的链接 http://itextpdf.com/ 我希望我能帮助:)。

答案 1 :(得分:0)

由于word文件无法像.txt文件一样阅读,因此您需要2个 API

一个用于从doc文件读取数据,另一个用于将该数据写入pdf文件。

现在要从doc文件中读取数据,您可以使用APACHE-POI.

并将该数据写入pdf文件,您可以使用ITEXT

答案 2 :(得分:0)

你可以尝试docx4j,虽然你需要做一些小的改进来支持每一行的行编号,并且可能更有问题,可能使用商业XSL FO处理器。

docx4j使用XSL FO进行PDF输出,行编号不是1.0规范的一部分。 (它是XSL 2.0 requirements spec

的一部分

这意味着您必须使用支持特定于供应商的扩展的XSL FO处理器,例如Antenna House

更新2016年04

从v3.3.0开始,docx4j默认使用我们的商业转换器,您可以在http://converter-eval.plutext.com/

尝试

答案 3 :(得分:0)

我建议您JODReportsDocmosis,因为您想要从word文档开始。您可以从Java API动态插入编号记录和分页符,因此听起来它们可以满足您的要求。

您尚未说明为什么要使用word文档。如果您严格生成文档,则可以删除该要求并使用iText或docx4j。

答案 4 :(得分:0)

你可以使用Apache FOP(http://xmlgraphics.apache.org/fop/),我在2012年10月发布的1.1版本中只看到了一件事。但仍然存在问题。