用于更新 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图片设置使用中文字体