0

我正在尝试将 docx 从 ASP.NET MVC 应用程序转换为 pdf 文件。直到现在我一直在使用 Microsoft interop saveas 命令,但有时(并非总是)失败并显示错误“命令失败”。我已经看到它已经被 Microsoft 弃用并且不再支持,Microsoft 表示不建议再从 ASP.NET 应用程序中使用它,因此我正在尝试获得替代方案。

我看到有一个很好的,就是 aspose.words 但它不是免费的。我对免费的感兴趣。那么,现在是否有任何与 Microsoft docx 文档兼容并且能够毫无问题地转换为 pdf 的免费替代品?

4

1 回答 1

1

我对免费的感兴趣

没有一个。Office/Word 的.docx文件格式非常长且复杂(见下文),因此编写一个可以单独完全解析 Word 文档的程序是一项艰巨的任务,仅生成视觉格式模型表示,然后转换通过从中生成 PostScript/PDF 命令,将该视觉模型转换为 PDF 文件。

这是 OOXML 规范打印出来时的样子:

在此处输入图像描述

(来源:https ://fussnotes.typepad.com/plexnex/2007/05/ooxml_more_than_1.html )

然后考虑 Word 格式化模型中存在的所有功能和边缘情况:表格、标题、首字下沉、题注(不要忘记使用 OLE 的嵌入和外部内容!)、浮动文本框、艺术字等等。

Word 文档的 XML 表示的非可视化处理实际上是微不足道的,可以使用任何 XML 库完成 - 尽管您应该使用 OOXML-schema-aware 库,以便正确处理 Word 文档(因此您不会结束-向上插入段落到页眉或填充页面的标题)。

其他一切都是问题中困难(且昂贵)的部分。这就是为什么即使在 Word 首次发布近 40 年后和 OOXML 格式规范发布 15 年后的今天,OpenOffice ( nee StarOffice) 和 Apple iWork等第三方软件仍然无法完全正确地导入或呈现 Word 文档。

于 2020-10-21T07:28:12.473 回答