我需要帮助解决一个我解决不了的奇怪问题。我开发了一个API作为本地服务器来管理web应用程序和用户PC之间的打印请求。
此API由Windows服务执行,并打包在MSI安装包中。
因此,用户安装在其计算机上运行API的Windows服务。如果用户需要打印某些内容,web应用程序将在本地主机上创建一个带有打印机参数的API请求,并调用PrintDocument方法。
我的问题是,当API在准备配置之后调用PrintDocument.Print()时,什么都不会发生。Windows打印假脱机程序显示已打印文档,不会引发异常或错误。而这只发生在用户的PC安装后,服务,它只发生在PDF打印机!物理打印机可以正常工作,任何打印机(包括pdf打印机)的调试模式也很好。
你知道为什么会发生这种行为吗?谢谢!
PrintServer是一个继承自System.Drawing.Printing.PrintDocument的类。
发布于 2022-06-27 17:34:00
它可能是服务失败的原因,因为PDF打印机需要弹出一个文件保存窗口,而不能这样做,因为它在服务上下文下运行。如果指定了文件名,则可以避免弹出。您可以通过在PrintToFile和PrintFileName中设置PrinterSettings属性来做到这一点:
printer.PrinterSettings.PrintToFile = True
printer.PrinterSettings.PrintFileName = "path-to-pdf.pdf"https://stackoverflow.com/questions/72721466
复制相似问题