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

Joc*_*lyn 2 c# pdf printdocument

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

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

提前致谢!

Swa*_*ain 7

您可以通过多种方式将现有文件打印到其他打印机。也有几个第三方库。有些是付费的,有些是免费的。但是,我将在两天后解释我的实现方式。

安装nuget软件包PdfiumViewer。但是,请不要安装最新版本,因为您将不得不为pdfium.dll安装另一个软件包,这很忙。

Install-Package PdfiumViewer -Version 2.10.0
Run Code Online (Sandbox Code Playgroud)

该版本随附pdfium.dll文件,因此您不必单独安装它。展开您的解决方案资源管理器,然后右键单击x64和x86文件夹中的pdfium.dll。转到属性并设置“ 复制到输出目录” =“始终复制”。

解决方案资源管理器的图像 现在设置已完成,您可以继续执行代码。

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();
    }
}
Run Code Online (Sandbox Code Playgroud)