現在、lprを使用してコマンドラインから印刷しています。 私もpythonバックエンドを使用しています。コマンドラインから印刷するページの数を確認するにはどうすればよいですか?
とにかく、特定のファイルのために印刷される/印刷されるページの数を確認できますか?
現在、lprを使用してコマンドラインから印刷しています。 私もpythonバックエンドを使用しています。コマンドラインから印刷するページの数を確認するにはどうすればよいですか?
とにかく、特定のファイルのために印刷される/印刷されるページの数を確認できますか?
RIP(Raster Image Processor)でジョブを渡すのは簡単ではありません。 LinuxおよびUnixでは、印刷ジョブはPostScriptファイルとして渡されます。 PostScriptは実際に完全な本格的なチューリング完全プログラミング言語です。つまり、Halting Problemが適用されます。
唯一の選択肢は、PostScript RIP(ラスタイメージプロセッサ)に渡して、いくつのページが出てくるかを確認することです。タイムアウトを追加することを忘れないでください。
GhostscriptはそのようなRIPであり、ヌルページの出力デバイスを提供します。このデバイスは、ページのカウントに最適です。最初のコマンドは、それがユーザの入力を待たないような方法でGhostscriptのを呼び出すためにtimeout
コマンドを使用しています
timeout 120s gs -dNOPAUSE -dBATCH -dSAFER -sDEVICE=nullpage <file> \
| egrep '^Page' \
| wc -l
次のコマンドラインを使用し、1でファイル全体を処理し、既知の危険な機能を無効にし、生産ラスタ出力なし。このパイプをgrepに変換して、Page
で始まるgs
の診断出力の行を探します。そのような行がページごとに生成されます。最後に、wc
にパイプして一致する行の総数を数えます。 gs
が120秒後に終了しない場合は、中止されます。
これは悪意のあるPostScriptファイル(-dSAFER
を含む場合もあります)の影響を受けやすいことに注意してください。