如何确定打印机';使用Win32 API的postscript支持?

如何确定打印机';使用Win32 API的postscript支持?,c,winapi,printing,postscript,C,Winapi,Printing,Postscript,我正在开发远程打印客户端(本机Win32应用程序)。它只打印来自服务器的文件。我希望能够在向打印机发送数据之前以编程方式检查打印机是否支持Postscript 如何做到这一点 GETTECHNOLOGY escape没有多大帮助。假设对于也支持Postscript的HP打印机,它返回“PCL XL”。如果打印机接受多种页面描述语言,我认为无法从Win32 API确定打印机是Postscript打印机 一个原因是PostScript中无法切换语言,而PCL打印机则可以切换语言。因此,PCL/Pos

我正在开发远程打印客户端(本机Win32应用程序)。它只打印来自服务器的文件。我希望能够在向打印机发送数据之前以编程方式检查打印机是否支持Postscript

如何做到这一点


GETTECHNOLOGY escape没有多大帮助。假设对于也支持Postscript的HP打印机,它返回“PCL XL”。

如果打印机接受多种页面描述语言,我认为无法从Win32 API确定打印机是Postscript打印机

一个原因是PostScript中无法切换语言,而PCL打印机则可以切换语言。因此,PCL/PostScript打印机显示为PCL打印机,允许您通过发送适当的代码切换到PostScript


你试过发送POSTSCRIPT\u identify吗?如果驱动程序不支持,那么它可能不是PostScript驱动程序。很遗憾,我无法对此进行检查。

Sad但ExtEscape()为POSTSCRIPT返回0\u为本地打印机标识,该打印机肯定会打印POSTSCRIPT。支持POSTSCRIPT的打印机和POSTSCRIPT打印机驱动程序之间有区别。我怀疑您可以通过迭代依赖于驱动程序的文件来检查驱动程序,如果有扩展名为.ppd的文件,则假定它是PostScript。