2010-09-21 157 views
3

我想在其他应用程序中打印到某个打印机,python将获取数据。我将如何去做这件事?它必须适用于所有应用程序,因此它将显示为普通打印机,并且在Linux和Windows上工作,即使我必须为它们重写它。将数据从虚拟打印机传递到python

所以回顾一下:打开一个程序并点击打印按钮。它将打开打印机对话框,并像其他打印机一样选择python打印机。他们接受后,加载模块的Python程序(这可能是一个模块)获取其他应用程序打印的数据。

+0

你是说在Python中创建打印机驱动程序?或者使用某种打印机驱动程序向Python程序提供数据? – 2010-09-21 15:34:18

+0

我想制作一个(可能是C++)程序,您可以将其打印到打印机,并将发送到该虚拟打印机的数据发送到python程序。所以,后者。 – Exitus 2010-09-21 15:36:58

+0

如果你正在编写你自己的C++程序,为什么要混用“打印机”?为什么不写一个文件?这是你自己的C++程序。它可以创建Python程序简单读取的简单文件。 “打印机”与什么有什么关系? [提示:请**更新**您的问题,使其完整清晰。] – 2010-09-21 15:41:07

回答

2

大多数Linux发行版(和OS X)并且使用CUPS进行打印这些天。一个CUPS后端的特定打印机最终只是一个可执行文件,你可以做任何你想做的事情。 CUPS项目提供filter/backend API documentation。至少还有一个开放源代码的CUPS虚拟打印机,其格式为CUPS-PDF,这可能是一个有用的示例。

在Windows端,恐怕我无法帮到你。

+0

适用于CUPS。 CUPS在限于32位Post Script的窗口上工作。所以答案是“在所有平台上使用PS和CUPS”。 http://cups.org/index.php – dawg 2010-09-21 16:52:34