PCLファイルなどのrawファイルをネットワークプリンタに送信しようとすると、「lpr -l」や「lpr -o raw」などのコマンドを使用してもCUPSキューが混乱し、プリンタが「無効」になります。このように。
プリンタのPPDの説明に「PostScript(推奨)」が具体的に記載されており、PostScriptを送信すると正しく動作するため、PPDが問題を引き起こした可能性があると思います。
プリンタがネットワーク接続されているため、デバイスにプリンタに直接送信することはできません。
答え1
PCLとPostscriptsは互いに競合する2つの印刷プロトコルです。
プリンタが両方のプロトコルをサポートしている場合は、異なるPPD /異なる印刷方法を使用してCUPSに異なるキューを定義する必要があります。
IPP経由でプリンタと通信できます。
特定のプリンタモデルがPostscriptのみを使用している場合は、PCLを送信する必要はありません。
答え2
lpr -o raw pcl-file
何らかの方法でデータを変更せずにプリンタにデータを送信するために使用できます。実際、この使い方は非常に一般的なので、別のオプション((lpr -l pcl-file
と同じ-l
)があります-o raw
。
答え3
長い間(約1ヶ月)この問題に苦しんだ後、私は基本的にlpr / CUPSにネットワークプリンタを使用できなくする脳損傷ロジックがあることを発見しました。問題は、完全な「無効化/有効化」プリンタパラダイムにあります。 lprがめちゃくちゃになると、プリンタは使用できなくなり、これはある時点で発生します。これらの問題を診断するには、ユーザーがスーパーユーザー権限を持っている必要があるため、権限のないユーザーを持つワークグループ環境にいる人はデフォルトでlprを使用できません。
私が問題を解決したのは、ポート9100のプリンタIPアドレスに接続するショートプログラムをCで作成し、読み取り専用印刷用のPCLファイルを開き、そのファイルを接続ソケットにコピーしてから接続とファイルを閉じることです。 。 。これは毎回私にとって完璧に動作します。したがって、生ファイルを印刷したい場合は、基本的に必要なすべてのプログラミング機能を使用できます。 bashやcshでもこれを行うことができます。