使用 winspool.Drv-WritePrinter 打印会打印出数百页带有符号的页面,而不是正确的页面
Printing with winspool.Drv-WritePrinter prints hundreds of pages with symbols instead of correct page
我有一个 svc,它接收一个带有打印机名称的字符串,经过一些事情后,它完成了一个 pdf 文档的打印。
我正在使用类似于此代码的方法来打印 pdf
它在我的 computer/printer 上完美运行。但是当我在服务器上发布和部署时,当我使用该服务时,它开始打印数百页充满符号的页面,而不是预期的一页 pdf。服务器没有安装 Adobe Acrobat(我也不能安装它)所以我不能使用其他替代方法,比如 'new Process()->Verb="PrintTo".
pdf 字体是 Calibri 和 Arial,我的团队和服务器都安装了它们。
有谁能告诉我打印错误的原因以及我有什么替代方法吗?
打印机型号为:RICOH Aficio MP C4501 PCL6
您的解决方案要求打印机本身处理 PDF 文件,而许多打印机不支持 PDF。打印机驱动程序将 Windows GDI 转换为打印机的本机格式,但您使用 WritePrinter 绕过了打印机驱动程序。您将需要使用支持 PDF 的不同纸张打印机,或者使用打印机驱动程序而不是 WritePrinter 将文件发送到打印机。
我有一个 svc,它接收一个带有打印机名称的字符串,经过一些事情后,它完成了一个 pdf 文档的打印。
我正在使用类似于此代码的方法来打印 pdf
它在我的 computer/printer 上完美运行。但是当我在服务器上发布和部署时,当我使用该服务时,它开始打印数百页充满符号的页面,而不是预期的一页 pdf。服务器没有安装 Adobe Acrobat(我也不能安装它)所以我不能使用其他替代方法,比如 'new Process()->Verb="PrintTo".
pdf 字体是 Calibri 和 Arial,我的团队和服务器都安装了它们。
有谁能告诉我打印错误的原因以及我有什么替代方法吗?
打印机型号为:RICOH Aficio MP C4501 PCL6
您的解决方案要求打印机本身处理 PDF 文件,而许多打印机不支持 PDF。打印机驱动程序将 Windows GDI 转换为打印机的本机格式,但您使用 WritePrinter 绕过了打印机驱动程序。您将需要使用支持 PDF 的不同纸张打印机,或者使用打印机驱动程序而不是 WritePrinter 将文件发送到打印机。