如何使用特定打印机的脚本预处理 CUPS 的“lp”?

如何使用特定打印机的脚本预处理 CUPS 的“lp”?

(如何)是否可以lp使用脚本自动进行预处理?在 ( fileToPrint | script.sh | lp -d myPrinter) 之间进行管道传输对我来说是没有选择的,因为我有很多lp直接执行 ( lp -d myPrinter filetoPrint) 的源代码,并且目前无意更改这一点,特别是因为该脚本仅需要一台特定的打印机。

我正在考虑类似的lpoption地方,我可以说(pseduocode)preprocess myPrinter with script.sh(并且仅适用于 myPrinter,不适用于 myOtherPrinter)。

这有可能吗?

答案1

你可以编写自己的后端运行预处理,然后将其交给您通常使用的任何实际后端。设置打印机时,您将在 URI 中使用自定义后端。

我实际上已经做了类似的事情,允许 CUPS 打印到本地修补的 LPRng 服务器。

答案2

我偶然发现tea4cups(在 Debian 中,Package 是cups-tea4cups),人们可以完全按照我的意愿做事,如下所示:

# tea4cups.conf
[myprinter] # just the cups printer name
filter: mycommand
# pipes everything though mycommand, like "<input> | mycommand | lp"
# if the printer URI is prefixed with 'tea4cups://'

相关内容