将数据从虚拟打印机传递给Python

3
我正在尝试制作一个可以在其他应用程序中打印到特定打印机,并由Python获取数据的工具。我该如何实现这个功能?它必须在所有应用程序中都能够正常工作,因此它需要像普通打印机一样出现,并且在Linux和Windows上都能够使用,即使我必须为两者重写代码。
因此,总结一下:用户打开程序并点击打印按钮。它会弹出打印对话框,他们选择Python打印机,就像选择其他打印机一样。当他们确认后,加载了模块的Python程序将获取其他应用程序打印的数据(这可能是一个模块)。

你是在谈论使用Python创建打印机驱动程序?还是使用某种打印机驱动程序向Python程序提供数据? - S.Lott
我想制作一个(可能是C++)程序,您可以将数据打印到打印机上,并将发送到该虚拟打印机的数据发送到Python程序。因此,后者。 - Exitus
如果你正在编写自己的C++程序,为什么要去管“打印机”呢?为什么不直接写一个文件呢?这是你自己的C++程序。它可以创建一个简单的文件,供Python程序读取。那么,“打印机”与任何事情有什么关系呢?【提示:请更新您的问题以使其完整和清晰。】 - S.Lott
我相信这很清楚。你可以在任何程序中点击“打印”,选择Python打印机,然后点击打印。Python将获取您打印的数据。 - Exitus
不,这不清楚。你是在说随机程序打印到Python吗?任何程序都可以吗?"想要制作一个(可能是C++)程序"是什么意思?你是指一个打印驱动程序将数据从随机程序路由到Python吗?请尽量具体和详细地说明。请用细节来扩展你的问题,细节,细节。请解释每次鼠标点击应该发生什么。这不清楚。 - S.Lott
1个回答

2
大多数Linux发行版(以及OS X)现在使用CUPS进行打印。特定打印机的CUPS后端最终只是一个可执行文件,您可以让它执行任何操作。CUPS项目提供了过滤器/后端API文档。此外,至少存在一种开源的CUPS虚拟打印机,即CUPS-PDF,这可能是一个有用的参考示例。
对于Windows方面,我恐怕无法帮助您。

+1 for CUPS。CUPS在Windows上仅限于32位Post Script。因此答案是“在所有平台上使用PS和CUPS。”http://cups.org/index.php - dawg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接