C# 如何在特定打印机中打印文件?

C# 如何在特定打印机中打印文件?,c#,C#,我想用特定的打印机打印我的文件。但是,它总是为作业选择相同的打印机。我正在使用Spire.Pdf用于.NET。我的代码如下: [...] PdfDocument pdf = new PdfDocument(); pdf.LoadFromFile(path); pdf.PrintSettings.PrinterName = "HP"; pdf.Print(); pdf.Dispose(); [...] 我有两台打印机。其中一个名为“爱普生L31

我想用特定的打印机打印我的文件。但是,它总是为作业选择相同的打印机。我正在使用
Spire.Pdf用于.NET。我的代码如下:

[...]
     PdfDocument pdf = new PdfDocument();
     pdf.LoadFromFile(path);
     pdf.PrintSettings.PrinterName = "HP";

     pdf.Print();
     pdf.Dispose();
[...]
我有两台打印机。其中一个名为“爱普生L310系列”,另一个是名为“HP”的打印机。 即使我设置了
pdf.PrintSettings.PrinterName=“HP”它为打印作业选择“EPSON L310系列”


如您所见,“HP”在打印对话框中默认处于选中状态。

您无法通过程序可靠地控制输出打印机

最多可以显示“打印”对话框,用户这次可以在其中覆盖输出打印机

你可以按你的名字命名。甚至可以按名称获取所有打印机: 然而,此时,您基本上正在重新创建打印对话框


还要注意,从技术上讲,这些不是打印机。这些是打印队列。对于这样一个简单的案例,这可能并不重要。但是,一旦你了解了更精细的细节,比如每个队列有多台打印机,就很重要了。

PdfDocument
来自哪里?这不可能,因为它没有
Print()
方法。它是“使用Spire.Pdf;”@matthewwatson如果放置
Pdf.PrintSettings.PrintController=new StandardPrintController(),会发生什么pdf.Print()
之前,请查看使用
PrinterSettings.InstalledPrinters
确定可用打印机的方法。你可能想把它扔掉,看看它认为什么是可用的。