【问题标题】:How to create a virtual printer in Windows?如何在 Windows 中创建虚拟打印机?
【发布时间】:2010-11-04 09:04:51
【问题描述】:

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

那里有很多适用于 Windows 的虚拟打印机(主要是它们生成 PDF),我想知道是否有人可以告诉我如何做同样的事情?

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

谢谢。

【问题讨论】:

  • 如果您说出示例驱动程序未解决的问题,您可能会获得更多帮助。
  • 如果您想开发“真正的”驱动程序,它们是一个很好的起点,但如果您需要的只是“虚拟”、非基于硬件的驱动程序,它们就没有那么有用了。不过,位图示例是最有帮助的。

标签: windows winapi printing driver postscript


【解决方案1】:

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

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

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

【讨论】:

  • 仅在后 Vista 中的用户空间 -- 我需要支持 Windows 2000。
【解决方案2】:

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

【讨论】:

  • 不幸的是(大部分?)是用 Visual Basic 编写的。如果有一个用 C/C++ 编写的... :-)。
  • 那可能不是打印机驱动;据我所知,它的目录(如“版本 0.9.8\Printer\Adobe\WinXP2k3-x86\English”)是空的,除了自述文件。也许 VB 是 GhostScript 的某种前端,单独提供。
  • “Version 0.9.8\Printer\Adobe\WinXP2k3-x86\English\readme.txt”的内容是“psui.dll”、“pscript5.dll”和“pscript.hlp” ;这些文件名向我表明这些驱动程序文件也是从 postscript 示例驱动程序创建的。
  • 链接到来源而不是资助它的公司会更有帮助
【解决方案3】:

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

【讨论】:

  • 是的,“虚拟”(非硬件)部分是显示器而不是驱动程序。驱动程序控制输出的格式(不是输出的位置/目的地)
【解决方案4】:

【讨论】:

  • 嗯,那本书我已经有了。问题不在于开发驱动程序,问题在于找到与开发我想要的虚拟打印机驱动程序相关的特定信息。
  • Link #4 现在很遗憾被破坏了。那是什么?
【解决方案5】:

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

【讨论】:

    【解决方案6】:

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

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

    【讨论】:

      猜你喜欢
      • 2020-09-08
      • 2012-06-11
      • 2013-07-12
      • 2017-08-13
      • 2021-04-05
      • 2020-06-10
      • 2013-01-11
      • 1970-01-01
      • 2019-01-15
      相关资源
      最近更新 更多