如何在 C# 中使用 Microsoft Print to PDF 将 DOCX 转换为 PDF?

How can I transform DOCX to PDF with Microsoft Print to PDF in C#?

我正在尝试在 C# 中使用 "Microsoft Print to PDF" 将 DOCX 转换为 PDF。我文档中的一些对象是绘图,我不能 "Save As" 不破坏。

通过打印 "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 在互联网上的一些例子中。

感谢您的帮助!

谢谢大家的回答。

这条(简单的)线路工作正常:

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

path 是我的 docx 源路径

pdf_path是目标pdf文件路径

我希望这个话题可以帮助到别人。