私は毎日何千もの PDF ファイルを作成し、Ruby on Rails アプリと Prawn を使用して HP-4515 プリンターのセットでそれらを印刷しています。数年間の生産印刷の後、今日、HP の別の異常に気付きました。表の単純な 47kB 10 ページのファイルにより、HP プリンターがページ間で数秒間停止します。(表はページにまたがりません)。
私はカスタム印刷スプーラーを使用して、特定のドキュメントの束がコール センターでの送信から首尾一貫して印刷されるようにします。このスプーラーは、プリンターのポート 9100 ソケットに書き込まれたバイト数をログに記録します。奇妙なことに、この 47kB のファイルは 6,442kB の送信バイト (137 回!) をログに記録し、71 秒かかります。50kB ファイルのほとんどのソケット書き込みは、プリンターがバックアップされない限り、数ミリ秒しかかかりません (そして、プリンターの動作が遅くなるのを避けるために、ファイル書き込みを調整するいくつかのテクニックを使用して、スループットを向上させています。この調整は、ファイル内ではなく、ファイル間の遅延のみを行います。 )。
複数のページは、Prawn の @pdf.start_new_page を使用して作成されます。OSX の Skim または Preview で PDF を表示しても、予期しないことは何も表示されません。
私の他の約 100 個の PDF ファイル タイプは、この奇妙なプリンター一時停止を引き起こしませんが、他のファイル タイプのほとんどは単一ページです。
他のすべての @socket.write(str) 呼び出しは、実際にはファイル内のバイト数を送信します。
ファイルには独自の裁判情報が含まれているため、サンプルだけを添付することはできません。誰かに提案があれば、ナンセンス データを使用して同様のファイルを作成できるかもしれません....
ところで - 私たちが支払った金額にもかかわらず、HP のサポートは役に立たないことがわかりました。