如何使用非默认打印机打印PDF代码(VB Net)

时间:2016-06-08 23:49:42

标签: vb.net printing

我正在尝试打印pdf文件,使用默认打印机打印它没有问题,但是当我想用二级打印机进行打印时,它仍然使用默认打印机进行打印。

这是我的代码:

 Dim MyProcess As New Process
 MyProcess.StartInfo.CreateNoWindow = False
 MyProcess.StartInfo.Verb = "print"

 'HERE IS WHERE I WANT TO CHANGE THE PRINTER (BUT THIS COMMAND IS IGNORED)
 MyProcess.StartInfo.Arguments = "Canon MG3500 series"

 MyProcess.StartInfo.UseShellExecute = True
 MyProcess.StartInfo.FileName = My.Application.Info.DirectoryPath & "\Copias digitales\Temp.pdf"
 MyProcess.Start()
 MyProcess.WaitForExit(10000)
 MyProcess.CloseMainWindow()
 MyProcess.Close()

我该怎么做?

谢谢大家。

2 个答案:

答案 0 :(得分:0)

在命名空间Printer Settings.Printername

下使用 System.Drawing.Printing

然后指定打印机的名称(“Canon MG3500 series”)

  

PrinterSettings 控件用于通过指定打印机来配置文档的打印方式。 source

这应该这样做。

注意:这也允许您在打印机上使用应用设置(

i.e. Paper size

每次我需要使用两台打印机时都会使用它

i.e one for the O.R. then another for a document

Here is a good example使用此功能和combobox选择网络中的任何打印机。

答案 1 :(得分:0)

我找到了用以下方法替换坏线的解决方案:

Shell(String.Format("rundll32 printui.dll,PrintUIEntry /y /n ""{0}""", "Printer name"))