【问题标题】:Saving Word DOCX files as PDF [closed]将 Word DOCX 文件保存为 PDF [关闭]
【发布时间】:2012-08-16 04:39:30
【问题描述】:

我正在使用 openxml 创建 Word DOCX 文件。一旦将这些文档创建为 PDF 文件,我想保存它们。有没有办法在openxml中做到这一点?我认为答案是否定的。如果不是,是否有推荐的库或工具可用于将 DOCX 文件保存/打印为 PDF(以编程方式,在 .NET 中)?我查看了 sharpPDF (PDFSharp),似乎这个库仅用于从头开始生成 PDF,而不是将 DOCX 保存为 PDF。

我能否以某种方式以全自动方式打印到已安装的 PDF 打印机(Cute PDF 或 Windows 7 内置的 PDF 打印机)?

更新:寻找免费的非病毒许可,最好不需要额外安装。

【问题讨论】:

    标签: c# .net pdf openxml docx


    【解决方案1】:

    要从 DocX -> PDF 获取,您需要能够呈现 DocX 文件并提供 PDF 导出/保存功能的东西。不用说,可以渲染 DocX 的工具并不多(Word、OpenOffice/LibreOffice 和下面提到的一些其他许可产品)。根据您的运行时限制/要求,您可以尝试:

    1. 使用 MS 自动化让 Word 加载 docx 并另存为 PDF。
    2. 位于 OpenOffice (JODConverter/Docmosis) 之上的工具来进行转换。
    3. 尝试嵌入其他文档库(Aspose、Windward)

    抱歉,我不确定自动打印要求。

    【讨论】:

    • 您可以通过 IKVM 在 .NET 环境中使用 docx4j 的 PDF 输出,但我建议您先在 Java 环境中尝试一下,看看它是否适合您的需求
    • 对于#1,您指的是 MS OFFice 互操作库吗?
    • @StealthRabbi - 是的,抱歉用词不当。
    • 更新我之前的评论,Plutext 现在有一个商业 docx 到 PDF 转换器;试试converter-eval.plutext.com
    【解决方案2】:

    您可以使用 Word 自动化来做到这一点。你需要安装word。

    var TheDocument = TheWordApp.Documents.Open(docName);
    
    TheDocument.ExportAsFixedFormat(
                docName.Replace(".docx", ".pdf"),
                Word.WdExportFormat.wdExportFormatPDF, 
                OptimizeFor: Word.WdExportOptimizeFor.wdExportOptimizeForOnScreen, 
                BitmapMissingFonts: true, DocStructureTags: false);
    
    ((Word._Document)TheDocument).Close();
    

    【讨论】:

    • 微软互操作?是的,这确实有效。我希望不必安装 Word 就能做到这一点。如果没有其他依赖项的免费方法,这可能是我前进的道路。
    • @cellik:它是否适用于在 IIS 中配置的应用程序?
    【解决方案3】:

    我过去曾为此成功使用过Aspose 工具套件:https://stackoverflow.com/a/5513946/54762。它不是免费的,但您可以在购买前进行演示。

    【讨论】:

      【解决方案4】:

      我用过this VBScript,效果很好。它在后台工作(打开 docx 并使用“保存/导出为 PDF”选项另存为 PDF)。检查页面上列出的系统要求。

      【讨论】:

        【解决方案5】:

        我们生产 WordGlue .NET,它是一个通用的 WP 布局引擎,可以处理 doc/docx。

        它是完全托管的,可用于导出为各种格式,如图像、XPS 或(借助 ABCpdf 等 PDF 库)PDF。

        我在 ABCpdf .NET 软件组件上工作,因此我的回复可能包含基于 ABCpdf 的概念。这只是我所知道的。 :-)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-08-09
          • 1970-01-01
          • 1970-01-01
          • 2021-07-30
          • 2019-10-26
          • 1970-01-01
          • 2012-03-07
          相关资源
          最近更新 更多