我使用下面的代码来打印pdf,但它不能使用网络打印机的Windows服务。
Dim gvi As New GhostscriptVersionInfo(New Version(0, 0, 0), Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "gsdll32.dll"), String.Empty, GhostscriptLicense.GPL)
Dim processor As New Ghostscript.NET.Processor.GhostscriptProcessor(gvi, True)
Dim switches As New List(Of String)()
switches.Add("-empty")
switches.Add("-dPrinted")
switches.Add("-dBATCH")
switches.Add("-dNOPAUSE")
switches.Add("-dNOSAFER")
switches.Add("-dPDFFitPage")
switches.Add("-dNumCopies=1")
switches.Add("-sDEVICE=mswinpr2")
switches.Add(Convert.ToString("-sOutputFile=%printer%") & _PrinterName)
switches.Add("-f")
switches.Add(PdfFileName)
processor.StartProcessing(switches.ToArray(), Nothing)
答案 0 :(得分:1)
在尝试打印之前,机器上的用户是否可以看到联网打印机? mswinpr2设备的工作方式,要求用户在运行的Windows安装上看到打印机。
您无法通过网络打印到打印机,除非该打印机安装在您自己的系统上。
答案 1 :(得分:1)
你的电话似乎是正确的。但对于网络打印机,您必须使用
-sOutputFile = “%打印机%\\主机名\打印机”
此处必须提供主机名(=打印机与之相连的机器)。