cups 打印机打印原始附记

cups 打印机打印原始附记

我有一台 OKI B430d 打印机,它通过 USB 连接到 Odroid C2(类似于 Raspberry Pi 的单板计算机)。 Odroid 运行带有 cups 服务器的 Arch Linux Arm,因此本地网络中的每个设备都可以使用打印机。打印机配置为 RAW 打印机。

我的台式计算机也运行带有 cups 实例的 Arch Linux。此 cups 实例通过 ipp 连接到 Odroid,并且还具有打印机的 ppd 文件。

现在谈谈我大约 8 个月前开始注意到的问题:有时打印机会打印一张空白页,仅包含

--------------------------

或者

.0 0
    %-------------------------------------------------

或者

source 1.0 0
             %-------------------------------------------------

从与我不同的 PC 进行打印(但也在 Arch Linux 上运行 cups)时也会出现此问题。

昨天我又打印了一些 PDF,这次打印机在 3 个作业前面打印了一张空白页,其中包含以下内容:

OKI_Driver_Procedure_Patch_Resource 1.0 0
                                         %------------------------------------

终于有东西可以搜索了!我发现一个包含类似行的 PPD 文件,因此我在用于打印机的 PPD 文件中搜索了该行,并在第 108 行找到了它:https://www.oki.com/eu/printing/support/drivers-and-utilities/?id=46262901FZ01

今天,我打印了一份测试PDF为两个 cups 实例启用调试日志记录后。我将调试日志粘贴在这里:https://gist.github.com/jkhsjdhjs/aab53920040f62b43c878c74a61860ea

我在本地对打印机所做的一件事是lpadmin -p <printer> -o pdftops-renderer-default=pdftops。没有它就无法工作,但我不认为这是原因。

如果我可以提供更多信息,请告诉我。提前致谢。


编辑:所以我将打印机直接连接到我的电脑,同样的问题。

然后,我使用相同的 PPD 创建了一个测试打印队列,但将 postscript 输出打印到文件中。我注意到我怀疑 PPD 文件的输出也在发送到打印机的 postscript 文档中:

%%BeginResource: OKI_Driver_Procedure_Patch_Resource 1.0 0
%-------------------------------------------------
%% OKI Driver Procedure ver 1.0
%%    Date: Dec. 27, 2005  Edt: 03
%-------------------------------------------------

/OK@setpagedevice_sadj where {pop}{
 /OK@setpagedevice_sadj /setpagedevice load def
/OK@PageDevice_Install_proc currentpagedevice /Install get def
<< /Install { mark currentstrokeadjust OK@PageDevice_Install_proc setstrokeadjust cleartomark } >> setpagedevice
}ifelse

因此,由于某些原因,打印机有时无法正确解释 PostScript。

答案1

问题可能是,打印机无法解释由 Ghostscript 生成的 PostScript,尽管 PPD 文件是正确的。

由于制造商为 Windows 提供了 PCL 驱动程序,因此我尝试将打印机配置为杯子中的通用 PCL 打印机,效果更好!

相关内容