Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
截取CUPS系统上的PostScript驱动程序输出_Postscript_Cups - Fatal编程技术网

截取CUPS系统上的PostScript驱动程序输出

截取CUPS系统上的PostScript驱动程序输出,postscript,cups,Postscript,Cups,我有一台带CUPS的Linux PC和一台连接到它的打印机。创建打印作业时,是否可以获取CUPS驱动程序生成并发送到打印机的PostScript文档 建议您停止打印队列并从/var/spool/cups/获取作业文件的注释不足: 您会发现那里没有作业文件,因为它将被发送到(PostScript)打印机 它是CUPS接收到的原始形状和格式的作业文件 现在,收到的文件可能已经是PostScript格式(如果打印应用程序是Firefox)。但它也可以是CUPS接受的任何格式(文本、图像、PDF或

我有一台带CUPS的Linux PC和一台连接到它的打印机。创建打印作业时,是否可以获取CUPS驱动程序生成并发送到打印机的PostScript文档

  • 建议您停止打印队列并从
    /var/spool/cups/
    获取作业文件的注释不足:

    • 您会发现那里没有作业文件,因为它将被发送到(PostScript)打印机
    • 它是CUPS接收到的原始形状和格式的作业文件

    现在,收到的文件可能已经是PostScript格式(如果打印应用程序是Firefox)。但它也可以是CUPS接受的任何格式(文本、图像、PDF或“原始”输入格式)。即使是PostScript,CUPS仍会在将其发送到打印设备之前对其进行一定程度的处理。处理量取决于用户请求的明确作业选项

  • 要真正截取CUPS队列发送到打印机的完全相同的ByTestStream(如我的StackOverflow答案链接所示)

    但是,您可能会幸运地尝试以下步骤:

    • FileDevice Yes
      放入cupsd.conf。(编辑配置文件后,停止CUPS服务并重新启动。)
    • 通过运行以下命令,记下要拦截的打印队列的当前“后端”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/
    不仅包含停止的作业,还包含几个最后的作业(以防用户想要重新启动它)。