我有 CUPS 并使用一个程序来生成我想要打印的文档的原始 PCL 格式。
我打印纯文本文件没有问题,lp filename
但是当我提供一个包含 PCL 或 ESC/P 转义序列的文件时,我将立即获得此新打印作业的完成状态 - 没有打印机反应。尝试使用以下每个方法时也会发生同样的情况:
lpr -l filename
lp -o raw filename
lp -o document-format=application/octet-stream filename
lp -o document-format=application/octet-raw filename
lp -o document-format=application/octet-raster filename
Run Code Online (Sandbox Code Playgroud)
在 man 和 cups 文档中都找不到在打印命令中使用定义的过滤器/驱动程序类型(发送直接 pcl 或 esc/p)打印文件的方法。
尝试使用两台 HP 打印机 DeskJet 640C 和 D2460 进行打印。
部分从我的printers.conf
,我认为可能是相关的:
...
Type
Filter application/vnd.cups-raw 0 -
Filter application/vnd.cups-raster 100 rastertogutenprint.5.2
Accepting Yes
...
ErrorPolicy stop-printer
...
Run Code Online (Sandbox Code Playgroud)
我的 D2460 打印机 ppd 文件中我认为可能相关的部分:
...
*TTRasterizer: Type42
...
*hpPrinterLanguage: "lidil" …
Run Code Online (Sandbox Code Playgroud)