プリンターを LAN 接続する場合、TCP/IP の機能の中の「LPR/LPD」という仕組みを使用して印刷します。Windows ではドライバーのプロパティの「ポート」に、通常は、「標準のTCP/IPポート」を使用します。「ポート」で指定された宛先に印刷データが送信されるのですが、その仕組みは次のようになっています。
- Windowsは初めに“Control File”をプリンターに送信します。“Control File”には、PC側のホスト名やユーザー名、ファイル名を含みます。(下図①)
- 受信側のプリンター(実際にはネットワーク・カード)は、それを受信すると“Ack”という受信確認を返信します。(下図②)
- Control FileのAckを受信すると、次にWindowsは“Data File”を送信します。(下図③)“Data File”には、印刷データの他にデータ・サイズの情報が含まれます。
- 受信側のネットワーク・カードは、データ・サイズと一致する印刷データを受信したら、“Ack”をWindowsに返信します。(下図④)
- Windowsは、このAckを受信して、印刷ジョブ送信終了とします。
プリンターから所定時間までに"Ack"を返信できない理由は、いくつか考えられます。
- 用紙ジャムや用紙切れが発生して、そこから回復するのに間に合わない。
- 印刷速度が遅いために間に合わない。
- ネットワークが混雑していて、データ通信に時間が掛かる。
後者の方が、"Ack"の返信が早いので、繰り返し印刷の発生は防げますが、前者の考え方から見れば、「印刷完了しない内にプリンターの電源を切られたら、印刷中のデータは消えてしまう」という危険性もあるわけです。どちらの考え方が絶対に正しいということは無いと思いますが、5577や5400系のプリンターでは前者の考え方で設計されています。そうなると、インパクト・プリンターは、レーザー・プリンターに比較して印刷速度が遅いこともあって、その結果、印刷データのサイズが大きな印刷を行うと、繰り返し印刷を発生する可能性が高くなります。
また、先日もこの問題で、問い合わせをいただいたのは、カット紙を1枚ずつ手差し印刷しているケースでした。自動給紙に比べてどうしても1枚ずつ印刷する間隔が長くなってしまっていることも影響しているようでした。
この問題の解決方法は、長くなりますので、次回にまとめて。