用于更新 MS 单词页眉/页脚并转换为 PDF 的 Java API

Posted

技术标签:

【中文标题】用于更新 MS 单词页眉/页脚并转换为 PDF 的 Java API【英文标题】:Java API to update MS word headers/footers and convert to PDF 【发布时间】:2013-04-16 13:20:08 【问题描述】:

我需要一个 API 来支持更改 doc、docx、xls、xlsx 的页眉/页脚。我有一个为 libreoffice 编写的大量代码,但问题是最终文档的样式已损坏,这是一个大问题。其他开源项目也获得了类似的结果,所以我正在寻找一些可能像 Aspose 这样的付费版本,但你能否也给我其他解决方案。

问题的另一方面是我需要从任何办公文档、邮件、味精到 pdf 的转换。

我也在寻找包括 C# 在内的解决方案,但很可能它将在 linux 下运行,因此首选 java。

【问题讨论】:

【参考方案1】:

使用 Aspose Java 组件,您可以更新文档的页眉/页脚并将所有支持的文件类型(doc、docx、xls、xlsx、eml、msg 等)转换为 PDF。我们尽量保持 PDF 的格式与原始文档相同。

您可以尝试自己探索PdfSaveOptions类或将有问题的文件发布到Aspose forums,技术支持会尽力解决问题。

PS。我是 Aspose 的开发人员/布道者。

【讨论】:

【参考方案2】:

使用 C# 我知道您可以访问 microsoft word com 对象。如果您在最新的 Microsoft Word 中加载所有这些内容,您可以告诉它在此处转换为 pdf 并完成它How do I convert Word files to PDF programmatically? 这是我用来让我启动并运行 C# 的方法。 Apache POI,除了问题我什么都没有。在大多数情况下,我发现 Open Office 及其 UNO Api 对我有用,有时文档确实很时髦。所以总而言之,我发现 C# 是最好的。我希望这会有所帮助!

【讨论】:

感谢 Joshua,我也有同样的看法。这个过程是在服务器端完成的,所以你能建议任何 api 来使用 c# 作为命令行来操作文档 所以基本上我们编写了自己的命令行实用程序来转换文档。只要您在 .net 中,所有与 microsoft word 的互操作都会被覆盖。同样,如果您使用的是较新版本的 Microsoft Word(2007 及更高版本),则打开文档并告诉它转换(在代码中)非常容易 2003 有一种 hack 方法效果不佳。 Here 是我用作代码示例的,它似乎对我有用。但同样,您必须自己制作可执行文件。【参考方案3】:

根据您的要求,我只能想到 Aspose 和 IText,您可以查看一些示例代码,这将有助于您做出决定:

How to convert doc to pdf file using itext How to Convert a Document to PDF usign Aspose

【讨论】:

我需要在不进行任何回归或格式更改的情况下操作它们。我已经做了一些测试和假设并且工作正常但并非在所有情况下,所以我正在寻找另一种解决方案来检查【参考方案4】:

docx4j 可以做很多你想做的事。

支持docx、pptx、xlsx。

对于旧的二进制文档和 xls,您可以使用 LibreOffice 或通过 JODConverter 的 OpenOffice 将它们转换为 docx/xlsx 格式。

docx4j 可以将 docx 转换为 PDF。保真度在 2.8.1 后继续提高,因此您应该尝试夜间构建。

【讨论】:

【参考方案5】:

poi api 的问题,请使用 3.10 final api,此错误已在此 api 中修复。 Check this post

在这篇文章中,这个问题得到了解决。

【讨论】:

以上是关于用于更新 MS 单词页眉/页脚并转换为 PDF 的 Java API的主要内容,如果未能解决你的问题,请参考以下文章

python使用fpdf创建pdf文件包含:页眉页脚并嵌入logo图片设置使用中文字体

为PDF文档添加页眉页脚的方法,快来学学

生成 ODT/DOC(X) 并转换为 PDF,无需 OO.o/MS

如何从pdf文件中查找页眉页脚

PDF如何添加页眉页脚?PDF添加页眉页脚的小技巧

OpenOffice实现Office转Pdf(支持自定义添加水印页眉页脚)