【问题标题】:How to convert Word documents (XML based) to PDF, with C#?如何使用 C# 将 Word 文档(基于 XML)转换为 PDF?
【发布时间】:2014-07-11 06:08:12
【问题描述】:

我必须自动将 Word 文档转换为 PDF。通过研究,我发现从 Microsoft Office 2007 开始,Word 文档都是基于 XML 的。此外,我发现有一个免费的解决方案 ApacheFOP 可以将 XML 转换为 PDF,但是,我仍然没有找到使用 C# 自动化它的方法。有 nFOP(在 .NET 框架上运行的版本),但有一些关于实现它的详细说明,不是真的。

【问题讨论】:

  • Microsoft Word XML 与 ApacheFOP 转换为 PDF (xsl-fo) 的 XML 大不相同。这个问题解决了 Word XML 到 xsl-fo 的转换:stackoverflow.com/questions/17029603/…
  • 换句话说,如果我想使用 ApacheFOP,首先我必须将 Word 文档转换为 XSL 格式化对象 (XSL-FO) 格式,然后通过使用 ApacheFOP 我可以将其转换为 PDF对吧?
  • 是的。我还没有这样做,但这似乎是一条值得一试的道路。
  • 好的,我试一试。谢谢弗兰克! :)

标签: c# xml pdf ms-word apache-fop


【解决方案1】:

我发现了一个库,可以在 C#/.NET 中将 XML 转换为 PDF,反之亦然,称为 Aspose.PDF for .NET。希望能解决你的问题。

【讨论】:

  • Aspose.pdf 是一个非常有用的工具,但是它是商业的,我正在寻求一些免费的解决方案。
【解决方案2】:

你可以使用docx4j.NET

这是 .NET 版本的 docx4j,它是一个使用 FOP 将 docx 转换为 PDF 的 Java 库。

ConvertOutPDF.java

在开始下载等工作之前,您可能需要使用online demo 来查看 PDF 输出是否符合您的需求。

**披露:我领导 docx4j 项目。 **

【讨论】:

  • 这是一个值得注意的解决方案,但是使用这个演示站点,PDF 输出并不能满足我的需求。
  • 好吧——假设有很大的差距——你不妨忘记使用 FOP;获得你想要的输出的努力会太多。相反,请查看 LibreOffice/OpenOffice 输出是否足以满足您的需求。
  • 好的。我发现的是 PDFCreator,它是免费的,而且输出 PDF 实际上非常好。似乎值得一试。你可能熟悉它吗?
  • 如果是虚拟打印机,则取决于是否安装了 Word(或 OO/LO),在这种情况下,请查询您通过 Word/OO/LO 中的原生 PDF 输出支持获得了什么。跨度>
  • 非常感谢,我终于知道全貌了。
【解决方案3】:

一个丑陋的解决方案是使用 microsoft office interop 进行“另存为”...

阅读更多here

并找到相关的stackoverflow帖子here

【讨论】:

  • 是的,但是要使用它,您需要安装 MS Office,我正在尝试使用一些免费的解决方案。
  • 我认为付费图书馆是最好的选择 - 或者您可以尝试创建自己的图书馆来包装 ITextSharp 周围的东西......
  • 我之前找到了ITextSharp,它是免费的,但是为了在一些商业应用中使用它,你必须发布你的源代码,所以我一直在寻找。
猜你喜欢
  • 2018-06-03
  • 1970-01-01
  • 2018-10-11
  • 2011-11-10
  • 1970-01-01
  • 1970-01-01
  • 2015-06-03
  • 2017-09-23
  • 2011-03-02
相关资源
最近更新 更多