使用winspool.Drv-WritePrinter打印使用符号而不是正确的页面打印数百页
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用winspool.Drv-WritePrinter打印使用符号而不是正确的页面打印数百页相关的知识,希望对你有一定的参考价值。
我有一个svc,它接收一个带有打印机名称的字符串,并且在某些事情之后,它完成了打印pdf文档。
我正在使用类似这样的代码来打印pdf
它在我的电脑/打印机上完美运行。但是当我在服务器上发布和部署时,当我使用该服务时,它开始打印数百个用符号填充的页面而不是预期的一页pdf。服务器没有安装Adobe Acrobat(也没有安装它)所以我不能使用其他替代品,如'new Process() - > Verb =“PrintTo”。
pdf字体是Calibri和Arial,它们安装在我的团队和服务器上。
有谁能告诉我为什么它以错误的方式打印,我有什么替代品?
打印机的型号是:RICOH Aficio MP C4501 PCL 6
答案
您的解决方案要求打印机本机处理PDF文件,许多打印机不支持PDF。打印机驱动程序从Windows GDI转换为打印机的本机格式,但您使用WritePrinter绕过打印机驱动程序。您将需要使用支持PDF的其他纸张打印机,或使用打印机驱动程序而不是WritePrinter将文件发送到打印机。
以上是关于使用winspool.Drv-WritePrinter打印使用符号而不是正确的页面打印数百页的主要内容,如果未能解决你的问题,请参考以下文章
在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?
Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)