代码之家  ›  专栏  ›  技术社区  ›  Terminus

如何在Windows中创建虚拟打印机?

  •  18
  • Terminus  · 技术社区  · 15 年前

    我要为Windows创建虚拟打印机驱动程序。我应该从哪里开始?WDK有一些打印驱动程序示例,但我无法使用。msdn似乎没什么帮助。

    现在有很多Windows虚拟打印机(主要是它们生成PDF),它们是如何做到的?

    我似乎错过了文件的任何链接。

    谢谢。

    6 回复  |  直到 15 年前
        1
  •  12
  •   ChrisW    15 年前

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

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

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

        2
  •  3
  •   Douglas Anderson    15 年前

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

        4
  •  2
  •   JCCyC    15 年前

    您提到的其中一个驱动程序是开源(GPL),也许您可以探索其源代码或对其进行修改: http://www.pdfforge.org/products/pdfcreator/download

        5
  •  2
  •   Jon Bright    15 年前

    其他人已经提到过pdfcreator。这里有一个更具体的链接,指向创建打印机、端口和监视器的代码。尽管在VB中,我可以跟随它作为一个更习惯于C++的人,所以我想你也可以。 modPrinter.bas 腿能活动吗? modMain.bas 从第28行起,调用modprinter.bas。

        6
  •  0
  •   user235724    14 年前

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

    在CPP和Java中的工作示例可以在这里找到: http://www.mms-computing.co.uk/uk/co/mmscomputing/device/printmonitor/index.php