gpt4 book ai didi

python - 将虚拟打印机的输出重定向到 Python 脚本

转载 作者:可可西里 更新时间:2023-11-01 10:34:55 26 4
gpt4 key购买 nike

我的意图是实现以下场景:

  • Windows 或 Linux 用户发出打印文档的命令(使用 Ctrl+P)并在可用打印机列表中查看虚拟打印机(虚拟打印机)

  • 用户选择打印机并给出打印命令

  • 虚拟打印机不会实际打印,而是自动将文件连同选定的纸张尺寸、格式等发送到 python 脚本作为输入 [可选地在将其转换为 PDF 之后]。

  • Python 脚本将文件上传到云端或某些远程存储,以后可以在需要时从那里检索文件并在物理打印机上打印。

我已经在 StackOverflow 上提到了一个类似的现有问题的答案,并查找了 CUPS 和 CUPS-PDF。 CUPS_PDF 是一台虚拟打印机,因此它满足了我的一个标准,但它不允许我处理发送来打印的文件。我可以监视放置转换后的 PDF 的目录,并在每次目录更改时调用 python 脚本,但这远非理想的解决方案。

我尝试通过使用 FILE 打印机形式的 win32 API 在 Windows 中创建类似的东西,但它同样不允许我处理要打印的文件。

我也偶然发现了 Tea4CUPS,它是 CUPS 打印机的一种可编程后端,但我不太确定如何利用它。我遇到的另一种选择是使用 Windows Driver Kit (WDK) 编写虚拟打印机驱动程序,但这似乎过于复杂,尤其是考虑到我需要虚拟打印机来将要打印的文件重定向到我的 python 脚本。

我怎样才能实现我想要的场景?虽然我有 Python 经验,但在此之前我从未使用过虚拟打印机。

最佳答案

使用RedMon .它是一个开源的 Windows 打印机端口,可以简单地将所有打印机输出重定向到特定程序(例如 python 脚本)。

以下过程适用于 2015 年发布的 Windows 10:

  1. 使用安装程序下载并安装 RedMon 软件。
  2. 在设备和打印机下,以管理员身份运行“添加打印机”向导(或使用 win32 API)
  3. 使用 postscript 驱动程序添加打印机(我个人更喜欢安装 Xerox Global Print Driver PS,但其他 PS 驱动程序已经安装)并创建一个新的“重定向端口”。
  4. 您可以配置“配置端口”下的选项以将输出定向到您的脚本。

关于python - 将虚拟打印机的输出重定向到 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32666224/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com