19

我想为 Windows 创建一个虚拟打印机驱动程序。我如何以及在哪里可以正确开始?WDK 有一些打印驱动程序示例,这些示例似乎不是很好的介绍。MSDN 对新手似乎也不是很有帮助。

那里有很多适用于 Windows 的虚拟打印机(主要是生成 PDF),我想知道是否有人可以告诉我我该怎么做?

提前感谢任何指向详细文档的链接。

谢谢。

4

6 回答 6

12

当我这样做时(大约 12 年前),我从 postscript 驱动程序示例开始,替换了所有 postscript 特定的东西(在我的例子中,写入位图而不是生成 postscript 命令)。

我还编写了一个自定义打印监视器(驱动程序写入后台处理程序,后台程序写入监视器):我的监视器写入文件而不是并行端口。

但是,从那时起,打印机驱动程序架构和/或示例驱动程序集可能已经改变。

于 2009-06-19T17:14:39.587 回答
3

您可以查看 Microsoft (Microsoft MDT) 中的“微型驱动程序”开发,这可能会根据您的具体需求有所帮助。如果您需要处理的端口(即:您要从现有的打印机驱动程序中获取数据并想要处理),您可以查看 RedMon 的源代码。它不支持 Vista/Win7,但可能会为您指明正确的方向。

于 2009-06-19T17:45:20.250 回答
2

您提到的驱动程序之一是开源(GPL),也许您可​​以探索它的源代码或调整它:http ://www.pdfforge.org/products/pdfcreator/download

于 2009-06-19T17:23:03.990 回答
2

其他人已经提到了 PDFCreator。这是他们创建打印机、端口和监视器的代码的更具体的链接。尽管在 VB 中,但我可以像更习惯 C++ 的人一样关注它,所以我想你也可以。 modPrinter.bas做腿部工作。 modMain.bas大约从第 28 行开始,调用 modPrinter.bas。

于 2009-06-30T09:19:47.013 回答
0

创建一个打印端口监视器,将该端口与打印机相关联,您将获得打印机驱动程序发送到该端口的数据。

可以在此处找到如何在 Cpp 和 java 中完成的工作示例: http ://www.mms-computing.co.uk/uk/co/mmscomputing/device/printmonitor/index.php

于 2009-12-21T01:43:31.450 回答