始めの言葉

「プリンターから印刷できて当たり前」と、ユーザーからもSIerからも軽視されがちなプリンターの世界ですが、実際にはお困りだったり、思ったような印刷結果が得られないまま我慢してお使いの皆様のために、今までの経験が役立てばと、このブログを立ち上げました。印刷の基本から、応用情報、問題の解決方法を情報発信すると共に、PDF化など、これからどうするかについても、ご相談に乗れれば幸いです。ご質問はコメントでお寄せください。

2015年7月1日水曜日

繰り返し印刷の対策

Windows から LAN 接続されたインパクト・プリンターで印刷する際に、繰り返し印刷が発生する原因は、端的に言えば、Windows の標準TCP/IPポートが、プリンターからの印刷完了の通知(Ack)を待つ時間(Time Out)が、インパクト・プリンターにとっては短いことです。
では、対策は、待ち時間を大きな値に変更するということになりますが、私の知る限りでは、 Windows7 や WindowsServer2008 までは、変更する方法が見つかりませんでした。そこで、ポートを「UNIX印刷サービス LPRポート」に変更する -> レジストリーの編集によって、LPRポートの待ち時間を変更するという方法が考えられました。
元々 Windows では、LAN 経由の印刷用ポートとしては、この「LPRポート」が標準でした。しかし、下記のマイクロソフト社のページの情報にあるように、使用するポートの数が11個までとなっていたため、12個目の印刷ジョブの開始までに待ち時間が発生するという問題が発生しました。
https://support.microsoft.com/ja-jp/kb/179156/ja
その問題の解決のためには、記載されているように、レジストリーの編集が必要だったため、その必要が無い「標準(Standard)TCP/IPポート」が、新たに標準となったという経緯があります。
これは全く私の想像ですが、Windows の開発を行っているMS社があるUSでは、最早インパクト・プリンターは日本に比べて圧倒的に台数が少ないので、テストの対象になっていなかったのではないでしょうか?
設定の大まかな流れとしては、次のようになります。
  1. Windows 上の「Windows の機能の有効化または無効化」を使って、「LPD印刷サービス」「LPRポート モニター」を追加する。
  2. ドライバーのポート画面で「ポートの追加」を選択すると、「LPR Port」が追加されているので、これを使用して「LPRポート」を設定する。(ここで、「サーバーのプリンター名または印刷キュー」を入力する必要があります。基本的にはプリンターのLANカード固有の値になりますが、多くのケースでは「lp(半角小文字エルピー)」が使用できるようです。)
  3. PCの再起動を不要とするため、コマンド・プロンプト画面で「net stop spooler」と入力する。
  4. レジストリー・エディターを起動して、2 で追加した「LPRポート」のタイム・アウト値を変更する。(デフォルトは300秒 = 5分となっていますが、この値を大きくしても副作用は無いと思われますので、思い切って大きな値に変更しても良いと思います。)
  5. 併せて、11個までのポートの制限を外す編集を行います。
  6. レジストリー・エディターを終了して、コマンド・プロンプト画面で「net start spooler」と入力します。Spooler サービスの起動が確認できたら、終了です。
画面イメージ付の詳細な手順は、下記のサイトにありますので、ご参照ください。
http://www.ricoh.co.jp/pps/download/pdf/windows_lpr_jp_win7.pdf

0 件のコメント:

コメントを投稿