截取CUPS系统上的PostScript驱动程序输出
我有一台带CUPS的Linux PC和一台连接到它的打印机。创建打印作业时,是否可以获取CUPS驱动程序生成并发送到打印机的PostScript文档截取CUPS系统上的PostScript驱动程序输出,postscript,cups,Postscript,Cups,我有一台带CUPS的Linux PC和一台连接到它的打印机。创建打印作业时,是否可以获取CUPS驱动程序生成并发送到打印机的PostScript文档 建议您停止打印队列并从/var/spool/cups/获取作业文件的注释不足: 您会发现那里没有作业文件,因为它将被发送到(PostScript)打印机 它是CUPS接收到的原始形状和格式的作业文件 现在,收到的文件可能已经是PostScript格式(如果打印应用程序是Firefox)。但它也可以是CUPS接受的任何格式(文本、图像、PDF或
/var/spool/cups/
获取作业文件的注释不足:
- 您会发现那里没有作业文件,因为它将被发送到(PostScript)打印机
- 它是CUPS接收到的原始形状和格式的作业文件
现在,收到的文件可能已经是PostScript格式(如果打印应用程序是Firefox)。但它也可以是CUPS接受的任何格式(文本、图像、PDF或“原始”输入格式)。即使是PostScript,CUPS仍会在将其发送到打印设备之前对其进行一定程度的处理。处理量取决于用户请求的明确作业选项
- 将
放入cupsd.conf。(编辑配置文件后,停止CUPS服务并重新启动。)FileDevice Yes
- 通过运行以下命令,记下要拦截的打印队列的当前“后端”URI:
(这只是为了确保以后可以将其恢复到与以前相同的工作状态。)lpstat -v
- 通过运行以下命令修改现有CUPS队列
lpadmin -p printername -v file:/var/spool/cups/tmp/ps-test.ps
- 现在,您的队列与其真实设备URI断开连接,并“连接”到“文件”设备。它现在将所有已处理的打印作业存储在位置/var/spool/cups/tmp/ps-test.ps中。(您可能需要root权限才能将其删除或读取。)
如果你的CUPS版本是最近的,你会更“不走运”。出于安全考虑,
FileDevice
配置参数已被删除如果打印机脱机或停止(或请求未完成时),您可以在
/var/spool
下的某个位置获取该文件,但它可能未命名。ps但任意,请检查修改时间和第一行起始%!PS@StefanHegny谢谢大家!/var/spool/cups/
不仅包含停止的作业,还包含几个最后的作业(以防用户想要重新启动它)。