我的问题:处理订单时,需要在两台打印机上打印同一份文档。
我建议的解决方案:在 CUPS 中创建一个单一队列,并使用后端脚本将作业发送到两个真实打印机队列。
我的问题:文档。我可能仔细查看了每一个细节,但还是找不到任何关于编写 CUPS 后端脚本的规则。
最后我有几个问题:
- CUPS 中是否已经有我错过的执行此操作的选项?
- 我用来添加队列的行是“
lpadmin -p MultiPass -E -v multipass -P Generic PostScript Printer
“。但是,除非我指定类似这样的目录,否则 DeviceURI 是不好的”-v multipass:/tmp
“。 为什么是这样? - 为了进行测试,我的脚本什么也不做,只是捕获 ARGV 并将其写入文本文件,每个参数一行。问题是,我什么也没得到。日志显示作业成功,但我很确定我在后端的微不足道的尝试甚至没有运行。
我尽量简短地回答这个问题,所以请询问更多信息,因为我确信我遗漏了最重要的部分。老实说,我已经厌倦了追逐自己的尾巴。感谢您的时间。
答案1
以下是另一种方法. 它使用 shell 脚本为每台打印机打印一次文档,并将该脚本设置为接口。
#!/bin/bash
# if you don't have bash, use /bin/sh
# don't leave off the first line - absolutely needed for cups!
/usr/bin/lp -dprinter1 $6
/usr/bin/lp -dprinter2 $6
/usr/bin/lp -dprinter3 $6
chmod 755 ~/myinterfacefile
lpadmin -p threeprint -E -i ~/myinterfacefile -v /dev/null
发送作业到“threeprint”(lp -d threeprint somefile)现在将在所有三台打印机上打印。