【问题标题】:Convert DOCX to PDF programmatically without Word installed? [closed]在没有安装 Word 的情况下以编程方式将 DOCX 转换为 PDF? [关闭]
【发布时间】:2011-06-09 17:14:41
【问题描述】:

我有一个 Web 应用程序,我需要将 DOCX 文件转换为 PDF 以在 Word 2007 中生成一些报告。首先我使用自动化,但遇到了 DCOM 问题,最后我发现 Microsoft 不支持 Word 的自动化服务器端。 现在我正在寻找其他免费工具,而不是 Word 等不是免费的, iTextSharp 不会将 DOCX 转换为 PDF。

如果有人知道可以进行此对话的免费工具或 .NET 类,请告诉我。

【问题讨论】:

  • 检查此链接可能对您有用,social.msdn.microsoft.com/Forums/da-DK/worddev/thread/…
  • 为什么关闭?这似乎是一个有效的问题 - 到目前为止(在提出问题 4 年后)没有多少好的答案。
  • @DoctorOreo 同意 100% - 愿意投票重新开放吗?随着时间的推移,还有其他一些不需要花费数千美元的解决方案,例如rasteredge.com/how-to/csharp-imaging/word-convert-pdf(我还没有评估过)
  • 仍然找不到满足这个问题的好的开源解决方案。我能找到的只是一些“免费”,有限制的段落或大小。然后我发现这个问题已关闭,因为not constructive :)
  • @JDZ 我同意你的观点,只有 WinWord 给出可接受的结果

标签: c# asp.net pdf docx


【解决方案1】:

在没有纯 .NET 解决方案的情况下,您可以通过 IKVM 将 docx4j 及其依赖项用作 DLL。

【讨论】:

  • 查看docx4java.org/blog/2014/09/docx-to-pdf-in-c-net 了解通过 NuGet 使用 docx4j.NET 的演练
  • 您能否确认一下,是否需要 JRE?
  • 您不需要 JRE;不过你确实需要支持的 DLL
  • 好的,您的回答指出 In the absence of a pure .NET solution 暗示某些部分未使用 .NET。我了解支持 DLL 的要求,但它们看起来也像 .NET,所以看起来它是一个纯 .NET 解决方案......
  • 我的意思是“在你没有找到其他解决方案的情况下......”;我所说的“纯”只是为了区分从 C# 代码编译的 DLL 与使用 IKVM 从 Java 代码创建的 DLL。
【解决方案2】:

您可以使用 OpenXml SDK 将您的 docx 获取为 XML,并使用 XSLT 从中生成 HTML,然后使用任何免费的 HTML 到 PDF 转换器进行转换。

【讨论】:

  • 虽然此解决方案可行,但涉及的工作量很大,在将 xml 转换为 html 时,您必须重新进行所有格式设置,从而失去将文档放在 word 中的优势.
  • 文件格式转换太多了……好像很容易导致错误的结果……无论如何,我们怎么能做到这些步骤!?目前我正在为 converting both DOCX and HTML to PDF 使用 GemBox.Document,这是一个 paid solution
【解决方案3】:

我用过这个:http://rainbowpdf.com/,但它要花钱。

勒内

【讨论】:

  • 花费 2000 美元太多
  • @KhalidOmar 是的,对.. 你需要代​​码吗?
【解决方案4】:

嗯,我不知道是否已经有一些好的实施解决方案。但是如果你没有找到任何东西,有一个来自微软的OpenXML SDK,它可以用来打开/编辑没有安装 Word 的 docx 文件。

【讨论】:

  • 打开/编辑 - 是的。渲染为 PDF - 否。
【解决方案5】:

我认为你需要了解这个库 http://docx.codeplex.com/ 它是免费的,并且有文档。 我希望这对你有用

【讨论】:

【解决方案6】:

试试ABC PDF,这是我见过的最好的.net 组件。

【讨论】:

  • 您的链接是否正确? ABCpdf 和 A​​spPDF 是不同的组件。
  • 来自他们的网站“要转换 Office 文档 ABCpdf .NET 需要 MS Office 或 OpenOffice.org 作为帮助应用程序。”
猜你喜欢
  • 2011-12-02
  • 1970-01-01
  • 1970-01-01
  • 2013-03-27
  • 2012-11-30
  • 2011-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多