如何使用Win32 API确定打印机是否支持Postscript?

3
我正在开发远程打印客户端(本地Win32应用程序)。它仅打印来自服务器的文件。我希望能够在发送数据之前以编程方式检查打印机是否支持Postscript。
如何实现?
GETTECHNOLOGY转义并没有多大帮助。例如,它返回“PCL XL”用于也支持Postscript的HP打印机。
1个回答

3
我认为在Win32 API中没有确切的方法可以确定打印机是否是PostScript打印机,特别是当它接受多种页面描述语言的时候。
其中一个原因是,在PostScript中没有切换语言的方法,而在PCL打印机上这是可能的。因此,PCL / PostScript打印机显示为PCL打印机,并允许您通过发送适当的代码切换到PostScript。
您尝试过发送POSTSCRIPT_IDENITFY吗?如果驱动程序不支持该操作,则该驱动程序可能不是PostScript驱动程序。很遗憾我无法进行检查。

很遗憾,但是对于我们本地打印机的POSTSCRIPT_IDENTIFY,ExtEscape()返回0,而该打印机明确支持Postscript。 - Dmitriy Rykun
打印机支持PostScript和PostScript打印机驱动程序是有区别的。我怀疑您可以通过迭代依赖文件来检查驱动程序,如果有一个扩展名为.ppd的文件,则假定它是PostScript。 - Tony Edgecombe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接