2015-03-13 82 views
2

我正在开发远程打印客户端(原生Win32应用程序)。它只是打印来自服务器的文件。我希望能够以编程方式检查打印机是否支持Postscript,然后再向其发送数据。如何使用Win32 API确定打印机的postscript支持?

它是如何做到的?

GETTECHNOLOGY逃脱并没有多大帮助。假设它为支持Postscript的HP打印机返回“PCL XL”。

回答

2

我不认为有什么办法可以确定从Win32 API打印机是PostScript打印机,如果它接受多个页面描述语言。

一个原因是PostScript中没有办法切换语言,而这个可能在PCL打印机上。因此,PCL/PostScript打印机显示为PCL打印机,并允许您通过发送适当的代码切换到PostScript。

您是否尝试过发送POSTSCRIPT_IDENITFY?如果驱动程序不支持,那么它可能不是PostScript驱动程序。不幸的是我无法检查。

+0

悲伤但ExtEscape()返回0为POSTSCRIPT_IDENTIFY我们的本地打印机,肯定打印Postscript。 – 2015-03-16 14:16:34

+0

支持PostScript的打印机和PostScript打印机驱动程序之间存在区别。我怀疑你可以通过迭代驱动程序依赖文件来检查驱动程序,并且如果有.ppd扩展名的文件假定它是PostScript。 – 2015-03-27 11:44:44