1

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

我想在转换为任何页面描述语言 (PDL) 之前将我的额外数据添加到打印输出中。我可以这样做吗?我是否能够以正确的格式在输出末尾添加我的额外数据?如果是,那么我需要编写什么样的驱动程序以及在架构的哪一层

有没有比编写用户模式打印机驱动程序更好的方法来做同样的事情?

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

4

2 回答 2

2

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

本页描述了在 Windows 上设置将生成 Postscript 的驱动程序,尽管您将希望对 Postscript 执行其他操作,而不是按照此处所述将其发送到另一台打印机。

于 2012-06-08T17:27:05.053 回答
1

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

于 2012-07-03T02:20:04.103 回答