从虚拟打印机向Python传递数据

3 投票
1 回答
1798 浏览
提问于 2025-04-16 04:25

我想做一个功能,让用户在其他应用程序中可以选择一个特定的打印机,然后用Python获取打印的数据。我该怎么做呢?这个功能需要在所有应用程序中都能使用,所以它看起来就像一个普通的打印机,并且要能在Linux和Windows上运行,哪怕我得为这两个系统分别重写一遍。

简单来说,就是用户打开一个程序,点击打印按钮。这时会弹出一个打印机选择框,用户可以像选择其他打印机一样选择这个Python打印机。用户确认后,加载了这个模块的Python程序就能获取到其他应用程序打印的数据。

1 个回答

2

现在大多数Linux系统(还有OS X)都用CUPS来处理打印。对于特定的打印机,CUPS的后端其实就是一个可以执行的程序,你可以让它做任何你想做的事情。CUPS项目提供了过滤器/后端的API文档,你可以在这里找到相关信息。此外,还有一个开源的CUPS虚拟打印机,叫做CUPS-PDF,这个可能是个不错的参考例子。

至于Windows那边,我就帮不了你了。

撰写回答