7

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

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

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

4

5 回答 5

10

您可以使用 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();
于 2012-08-21T12:55:39.280 回答
2

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

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

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

于 2012-08-21T01:26:37.463 回答
1

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

于 2012-08-21T12:57:24.067 回答
0

我已经使用了这个VBScript,它运行良好。它在后台工作(打开 docx 并使用“保存/导出为 PDF”选项另存为 PDF)。检查页面上列出的系统要求。

于 2012-08-21T15:26:00.447 回答
0

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

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

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

于 2013-05-21T12:36:16.147 回答