Ubuntu Linux - 使用 lp 命令打印速度慢

Ubuntu Linux - 使用 lp 命令打印速度慢

几个月前我在这里问过如何在 Ubuntu 中使用 lp 命令(CUPS)打印和检查结果。

经过一些工作后,我能够打印正常的文本文件。我能够选择一些选项(双面打印、介质尺寸、纸盘输入等)进行打印

我在这里得到了 linux 驱动程序(PPD 文件):https://www.openprinting.org/download/PPD/

现在我遇到了一个小问题:当我将 .pdf 文件发送到打印机(通过 TCP-IP 连接的 Ricoh MP Aficio 1106 EX)时,打印速度变慢,需要 30 秒才能将文件发送到打印机。 .txt 文件在我发送时打印。您知道如何解决吗?

我尝试将机器的套接字更改为 9100 端口,但这只会产生错误。

编辑1:

我尝试使用 LPR 命令,而不是 LP:

lpr -sPrinterIP /absolute/path/to/file.pdf

但工作也很慢。

编辑2:

我安装了 qz-tray,一种打印服务器/API。当我尝试 PDF 演示时,它打印速度也很慢。

EDIT3:我现在尝试使用默认的 PDF 查看器(EVINCE),因为我虽然内存不足并打印了相同的文件。它运行良好,速度正常。

编辑4:我绑定了一些其他驱动程序(通用且由打印机制造商推荐的驱动程序),速度相同。

编辑5:

我找到了这个链接:https://en.opensuse.org/SDB:Using_Your_Own_Filters_to_Print_with_CUPS

但无法理解过滤是否是“f..king me off”,因为我的打印机是 PCL 打印机(并且我正在使用 pxl 驱动程序...)。有人能给我解释一下吗?

编辑6:

找到问题的根源:当我打印纯文本 pdf 文件时,它就像一个魅力。但是,当我发送 image-pdf 文件时,打印会进入预打印过程(我不能完全保证这一点),并需要 +30 秒的时间将任何包发送到打印机(这已使用wireshark 检查)。

我可以假设 PPD 文件(由理光支持提供的驱动程序文件)在代码中包含发送任何命令来处理文件的任何内容。

我在 PPD 文件中找到了这个。我认为这是这个缓慢问题的根源:

*%========== Ghostscript Command line ==========


*FoomaticRIPCommandLine: "(printf '\033%%-12345X@PJL\n@PJL JOB\n@PJL SET COPIES=&copies;\n'%G|perl -p -e "s/\x26copies\x3b/1/"
(gs -q -dBATCH -dPARANOIDSAFER -dNOPAUSE -dNOMEDIAATTRS -dNOINTERPOLATE %B%A%C %D%E | perl -p -e "s/^\x1b\x25-12345X//" | perl -p -e "s/\xc1\x01\x00\xf8\x31\x44/\x44/g"
(printf '@PJL\n@PJL EOJ\n\033%%-12345X&apos"
*End

找到这篇文章https://lists.linuxfoundation.org/pipermail/printing-foomatic/2012/002791.htmltaht 证实了我的想法:ppd 驱动程序正在使用 Ghostcript 渲染所有文件。

编辑7:理光支持人员告诉我,“lp”打印命令可能正在使用“默认PDF查看器”来处理文件,并减慢打印过程。我不知道如何检查。

多谢。

答案1

更换驱动程序。为什么?适用于 Linux 的推荐 RICOH 驱动程序使用效率不高的 PPD 文件。这会减慢文件的预处理速度。 (Windows 驱动程序也可以使用 PPD 文件,如果文件未优化,这会减慢进程)

我用Gutenprint驱动解决了这个问题。现在真正的工作是为您的打印机获取正确的驱动程序,因为并非所有 RICOH 机器都存在 Gutenprint 驱动程序(其他制造商也存在 smae 问题)。与 1106EX 类似的 gutenprint 驱动程序是 Aficio MP 1100 驱动程序。但发送 lp 命令时要小心:InputTray 有不同的名称。

相关内容