我参考了这个代码片段(http://stackoverflow.com/questions/2599925/how-to-print-pdf-on-default-network-printer-using-ghostscript-gswin32c-exe-she),它工作得很好。我可以从我的 wcf 服务静默打印文件。
但是,如果我通过 IIS 运行它,我会遇到问题。意味着“http://localhost:5030/mywcf”工作完美。如果我将其更改为“http://172.16.16.1/mywcf”,那么我将面临以下错误。这是堆栈跟踪。
-------------------------------------------------- --- [06-18-12 03:38:48] GetSignoff():句柄无效:在 System.Diagnostics.Process.CreatePipeWithSecurityAttributes(SafeFileHandle& hReadPipe, SafeFileHandle& hWritePipe, SECURITY_ATTRIBUTES lpPipeAttributes, Int32 nSize) 在 System.Diagnostics.Process.CreatePipe(SafeFileHandle& parentHandle,SafeFileHandle& childHandle,布尔型 parentInputs) 在 System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo) 在 System.Diagnostics.Process.Start() 在 System.Diagnostics.Process.Start(ProcessStartInfo startInfo) 在 XX.XX.PrintPDF.PrintVSPDF(String ghostScriptPath, Int32 numberOfCopies, String printerName, String pdfFileName) 在 D:\XX\Code\Server_MU\eBusiness\Business\PrintPDF.cs:line 551 在 D:\XX\Code\Server_MU\XX\Business\PrintPDF.cs: 498 中的 XX.Business.PrintPDF.Print(String patientId, String reportName, String loginId, String mailMessageId, String deviceId, String facilityId, String noteId) --------
然后我尝试执行通过 cmd.exe 生成的相同命令,它工作正常。任何提示可能会有所帮助。
提前致谢。
rgds, pa'1'