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:

LP の代わりに LPR コマンドを使用してみました:

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

しかし、動作も遅いです。

編集2:

プリントサーバー/APIの一種であるqz-trayをインストールしました。PDFデモを試しても、印刷が遅いです。

編集3: メモリが足りないと思ったので、デフォルトの PDF ビューア (EVINCE) で同じファイルを印刷してみました。通常の速度でうまく動作しました。

編集4: 他のドライバー(汎用ドライバーとプリンターメーカー推奨ドライバー)も試しましたが、速度は同じでした。

編集5:

このリンクを見つけました:https://en.opensuse.org/SDB:CUPS で印刷するための独自のフィルターの使用

しかし、私のプリンターは PCL プリンターなので (pxl ドライバーを使用しています)、フィルタリングが「迷惑」なのかどうかは理解できません。誰か説明してくれませんか?

編集6:

問題の原因が見つかりました: テキストのみの PDF ファイルを印刷すると、問題なく動作します。しかし、画像 PDF ファイルを送信すると、印刷が印刷前プロセスに入り (完全には保証できません)、パッケージをプリンターに送信するのに 30 秒以上かかります (Wireshark で確認済み)。

PPD ファイル (Ricoh サポートによって提供されるドライバー ファイル) には、ファイルを処理するための命令を送信するコードが含まれていると推測できます。

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.htmlそれは私の考えを裏付けています。ppd ドライバーはすべてのファイルを ghostcript でレンダリングしています。

編集 7: Ricoh サポートによると、「lp」印刷コマンドは「デフォルトの PDF ビューア」を使用してファイルを処理しているため、印刷プロセスが遅くなる可能性があるとのことでした。確認方法がわかりません。

どうもありがとう。

答え1

ドライバーを変更します。なぜでしょうか? Linux 用の推奨 RICOH ドライバーは、効率的でない PPD ファイルを使用します。これにより、ファイルの前処理が遅くなります。(Windows ドライバーも PPD ファイルを使用できますが、ファイルが最適化されていない場合はプロセスが遅くなります)

私は Gutenprint ドライバーを使用してこの問題を解決しました。Gutenprint ドライバーはすべての RICOH マシンに存在しているわけではないので (他のメーカーでも同じ問題があります)、プリンターに適切なドライバーを入手するのが本当の仕事です。1106EX によく似た gutenprint ドライバーは Aficio MP 1100 ドライバーです。ただし、lp コマンドを送信するときは注意してください。InputTray の名前が異なります。

関連情報