我正在使用openxml创建Word DOCX文件。我想在这些文档创建为PDF文件后将其保存。有没有一种方法可以在openxml中做到这一点?我想答案是否定的。如果是否定的,是否有推荐的库或工具可以用于将DOCX文件保存/打印为PDF(在.NET中以编程方式)?我看了sharpPDF(PDFSharp),这个库似乎只用于从头开始生成PDF,而不是将DOCX保存为PDF。
我可以以某种方式打印到已安装的PDF打印机上吗?无论是Cute PDF还是Windows 7内置的PDF打印机,都可以全自动打印吗?
更新:寻找免费的非病毒许可证,最好不需要额外安装。
您可以使用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();
要从DocX->PDF获得,您需要能够呈现DocX文件并提供PDF导出/保存功能的东西。不用说,没有那么多工具可以呈现DocX(Word、OpenOffice/LibeOffice和下面提到的其他一些授权产品)。根据您的运行时限制/要求,您可以尝试:
- 使用MS Automation让Word加载docx并保存为PDF
- 位于OpenOffice顶部的工具(JODConverter/Docmosis)来进行转换
- 尝试嵌入其他文档库(Aspose、Windward)
对不起,我不确定自动打印的要求。
我过去曾成功地为此使用Aspose工具套件:https://stackoverflow.com/a/5513946/54762.它不是免费的,但你可以在购买前进行演示。
我使用过这个VBScript,它运行得很好。它在后台工作(打开docx并使用"保存/导出为PDF"选项保存为PDF)。检查页面上列出的系统要求。
我们生产WordGlue.NET,这是一个通用的WP布局引擎,可以处理doc/docx。
它是完全管理的,可以用于导出到各种格式,如图像、XPS或(在ABCpdf等PDF库的帮助下)PDF。
我在ABCpdf.NET软件组件上工作,所以我的回复可能会包含基于ABCpdf的概念。这正是我所知道的。:-)