如何为Mac OSX编写虚拟打印机驱动程序

时间:2010-02-16 13:36:21

标签: macos printing virtual

我需要为OSX编写一个“虚拟打印机驱动程序”,这样当用户按下Command + P打开“打印”对话框时,他会看到我的虚拟打印机......它将用于生成各种类型的文件,而不是物理地打印到纸上。

我是这个主题的新手,我环顾四周但却一无所获。您是否有任何关于此主题的文档的链接或参考?

3 个答案:

答案 0 :(得分:12)

考虑使用OS X打印对话框的PDF Services功能,而不是编写驱动程序。在系统范围的/Library/PDF Services或用户的~/Library/PDF Services目录中,您可以将AppleScripts,Automator工作流程或符号链接/别名放入应用程序或文件夹。这些项目将显示在打印对话框的PDF弹出菜单中,如果用户选择该项目,文件的PDF将被放置在文件夹中或传递给应用程序,脚本或工作流程。

答案 1 :(得分:1)

万一绝对需要打印机驱动程序,而PDF服务不适用。

解决方案是编写自己的CUPS驱动程序-Mac OS和Linux都使用CUPS进行打印,因此该解决方案可以在两个系统上都可以使用。

CUPS的文档提供了有关编写驱动程序(https://www.cups.org/doc/postscript-driver.html)的说明,该说明通常包括创建:

关于如何用python编写一个很好的教程:https://behind.pretix.eu/2018/01/20/cups-driver/ 并提供了用于驱动FGL打印机的示例开放源代码:https://github.com/pretix/cups-fgl-printers,可以根据需要进行调整。

答案 2 :(得分:0)

它被称为VipRiser - 可扩展的虚拟PDF打印机

已经有一个驱动程序可以做到这一点。 VipRiser安装保存到文件的打印机。我用它来打印出来'我在网上买的文件乐谱。现有的“保存到PDF”'打印机对话框底部的选项无法正常工作,因为音乐供应商已禁用此功能,您必须打印到打印机。

为了最广泛和最简单地支持打印到虚拟打印机,我使用VipRiser而不是PDF services。 PDF服务在某些情况下有效,但许多网站都在阻止使用PDF服务。