C# - 如何使用PrintDocument以编程方式打印现有PDF文件

时间:2017-12-17 17:09:08

标签: c# pdf printdocument

我想用pdf打印机第二次打印现有的pdf文件。

我尝试使用PrintDocument。但是如何告诉PrintDocument现有文档的名称?

提前致谢!

1 个答案:

答案 0 :(得分:6)

有几种方法可以将现有文件打印到不同的打印机。还有几个第三方库。有些是付费的,有些是免费的。但是,我将解释我在2天后实现它的方式。

安装nuget包PdfiumViewer。 但是不要安装最新版本,因为你必须为pdfium.dll安装另一个软件包,这是忙乱的。

Install-Package PdfiumViewer -Version 2.10.0

此版本附带pdfium.dll文件,因此您无需单独安装。展开解决方案资源管理器,右键单击x64和x86文件夹中的pdfium.dll。转到属性并将复制到输出目录=始终复制

Image of Solution Explorer 现在设置已完成,您可以继续使用代码。

var path = @"path\file.pdf";
using (var document = PdfDocument.Load(path))
{
    using (var printDocument = document.CreatePrintDocument())
    {
        printDocument.PrinterSettings.PrintFileName = "Letter_SkidTags_Report_9ae93aa7-4359-444e-a033-eb5bf17f5ce6.pdf";
        printDocument.PrinterSettings.PrinterName = @"printerName";
        printDocument.DocumentName = "file.pdf";
        printDocument.PrinterSettings.PrintFileName = "file.pdf";
        printDocument.PrintController = new StandardPrintController();
        printDocument.Print();
    }
}