如何使用C#将Microsoft Print转换为PDF,将DOCX转换为PDF?

时间:2019-06-13 06:54:35

标签: c# pdf docx

我正在尝试使用C#中的“ Microsoft Print to PDF”将DOCX转换为PDF。我的文档中有些对象是工程图,我不能在不破坏结构的情况下“另存为”。

通过打印“ Microsoft Print to PDF”,一切都很好,所以我想使用C#程序执行此操作。我要处理3000个文件。

我正在尝试此代码。它执行PDF打印并创建错误的文件,但是,它只是空白页。

//path is my docx path
Application appWord = new Application();
wordDocument = appWord.Documents.Open(path);

PrintDocument pd = new PrintDocument();
pd.PrinterSettings.PrinterName = "Microsoft Print to PDF";
pd.PrinterSettings.PrintToFile = true;
pd.PrinterSettings.PrintFileName = pdf_path;
pd.Print();

我以为我错过了一些东西,因为我不明白什么。 而且我不知道在互联网上的某些示例中wordDocument是否可以成为streamReader

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

感谢您提出的所有要求。

此(简单)行工作正常:

Application appWord = new Application();
wordDocument = appWord.Documents.Open(path);
wordDocument.PrintOut(
    OutputFileName:pdf_path,
    PrintToFile: true
);

path是我的docx源路径

pdf_path是目标pdf文件路径

我希望这个主题可以对某人有所帮助。