为Windows编写虚拟打印机驱动程序

时间:2012-06-08 17:17:02

标签: windows device-driver postscript wdk printers

我是Windows开发的新手,我正在尝试编写用户模式的Windows(XP,Vista& 7)虚拟打印机驱动程序。我的目标是拦截由第三方应用程序发送到硬件打印机的输出,并在输出结束时向该输出添加一些额外的数据(文本+图形)。然后发送硬件打印机要打印的最终有效负载。请注意,我的数据不会添加到计算机上的每个打印件中,而只会添加到特定的第三方应用程序中。

我希望在将其他数据转换为任何页面描述语言(PDL)之前将其添加到打印输出中。我可以这样做吗?我是否能够以适当的格式在输出结尾处以可预测的方式添加我的额外数据?如果是,那么我需要写什么样的驱动程序以及layer of the architecture

有没有更好的方法来编写用户模式打印机驱动程序?

最后,是否有一个示例代码,在线博客或书籍可以帮助我解决这个问题?

2 个答案:

答案 0 :(得分:2)

我认为你最好让应用程序写入一个通用的Postscript驱动程序并对后面的Postscript进行后期处理,而不是试图理解写入打印机驱动程序的数据;有很好的开源工具可用于操作Postscript。

This page describes setting up a driver on Windows that will produce Postscript虽然您希望使用Postscript执行其他操作,而不是将其发送到其他打印机,如此处所述。

答案 1 :(得分:1)

我认为你不需要司机。只需使用随WDK提供的标准Postscript驱动程序,添加.PPD和.INF文件来命名它并指定特性,然后将您的代码放在端口监视器中。端口监视器比打印驱动程序更容易构建和维护。