将Word DOCX文件另存为PDF

时间:2012-08-20 20:26:32

标签: c# .net pdf openxml docx

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

我可以以某种方式以完全自动化的方式打印到已安装的PDF打印机,可爱PDF或Windows 7内置的PDF打印机吗?

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

5 个答案:

答案 0 :(得分:9)

您可以使用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();

答案 1 :(得分:2)

从DocX获取 - > PDF您需要能够呈现DocX文件并提供PDF导出/保存功能的内容。毋庸置疑,没有那么多工具可以呈现DocX(Word,OpenOffice / LibreOffice和下面提到的一些其他许可产品)。根据您的运行时限制/要求,您可以尝试:

  1. 使用MS Automation来获取Word以加载docx并另存为PDF。
  2. 位于OpenOffice(JODConverter / Docmosis)之上的工具进行转换。
  3. 尝试嵌入其他文档库(Aspose,Windward)
  4. 我不确定自动打印要求对不起。

答案 2 :(得分:1)

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

它完全受管理,可用于导出各种格式,如图像,XPS或(借助PDF库,如ABCpdf)PDF。

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