2013-07-14 63 views
4

我正在尝试构建虚拟打印机。 已经有像thisthis一些答案。如何构建虚拟打印机?

但是我的需求是更具体的。我只是想创建一个虚拟打印机,可以添加到系统中,并可以从任何应用程序访问。在点击打印命令时,对话框看起来像是一个真实的打印机弹出,并在打印时生成一个PDF。然后执行一些更多操作,例如将PDF推送到我的服务器。

我需要挖掘到Windows驱动程序工具包?或者有没有免费的SDK?

谢谢。

+0

嗨,你有没有设法找到这个解决方案?将创建,以了解你所做的事情? –

+0

恐怕还没解决。 – SolessChong

+1

@MarkRedman下面有一个新的答案 – SolessChong

回答

2

不知道,如果这个问题仍然是与你有关的,但您可能会要考虑这样的事情:

使用WDK(Windows驱动程序工具包)来创建一个Unidrv UI plugin。这将允许您在打印期间指定UI(用于打印机对话)。之所以要在此显示UI,是因为它是在用户会话中运行的唯一打印机驱动程序组件之一(与打印应用程序相同的进程)。 XPS管道和端口监视器都是会话0.

如果您想坚持MS约定,您将在假脱机文件中对XPS Filter pipeline的渲染过滤器执行PDF转换(如果您使用的是XPSDrv driver)。过滤器管道是您可以修改进入和最终过滤器中的XPS假脱机数据的位置,并将其转换为您的输出文档类型(您的情况为PDF)。

要做到的印后加工,你可能要考虑(与WDK再次)创建port monitor并踢了一个新的进程端口监视器写出打印输出到磁盘后做印后加工。

此方法的唯一问题是,您不能在版本4驱动程序中使用端口监视器(这是Windows 8中的新类型驱动程序)。第3版的驱动程序仍然在Win 8上运行,但我猜它们最终会被淘汰。

对不起它可能不是很明显,但正如我所说,这是一个高度概括(不幸的是驱动程序的开发仍然是非常复杂的超越了简单的打印到文件)。第4版的打印机驱动程序也变得更加容易了很多发展,但遗憾的是具有去除的端口监视器支持和其他方面的改进,它使得很多困难,开发什么需要后处理。

[免责声明:我与马可SDK [R & d小组相关]
我知道你问一个免费的SDK,不幸的是我不知道的事情,这将是合适的,但我知道我们的公司提供了一个虚拟打印机平台(SDK),它对你很好(打印到PDF并支持后期打印处理)。你可以找到在Mako SDK website

希望这有助于有点反正更多信息。我知道打印机驱动程序的开发有时会非常混乱! http://www.novapdf.com/pdf-sdk.html

该解决方案然而将与窗口工作:

1

阅读起来,做了很多的研究,目的是设置了类似雷德曼和使用打印机SDK后,我一直在使用这个SDK完成了项目只要。

[我不与novaPDF附属]

我已经调查了OSX版本,但是这将是一个不同的版本,您也许可以设置的东西了使用这种方法:http://www.jms1.net/osx-pdf-services.shtml[我还没有试过这个]