実行環境

107. LPR、LPD とは

LPR プロトコル (Line PRinter daemon protocol)とは UNIX 系で普及している
ネットワーク・プリンタ(ASCII)を制御するための印刷用の TCP/IP プロトコルである。

プリンタに対する要求(クライアント)の TCP/IP ストリームを LPR と呼び、
LPR を受けるためのサーバー側のサーバー・デーモン(サーバー・プログラム)のことを
LPD (= Line Printer Daemon) と呼ぶ。

かつては Microsoft が NetBEUI という非 TCP/IP プロトコルで通信していたが
UNIX 系で規格されている TCP/IP 系の LPR/LPD に統一されるようになっている。

LPR/LPD 通信を行うためにはプリンタ側で LPD が起動されて待機している必要があるが
多くの市販の複合機やプリンタは標準的に LPD が既に起動されているものが多い。
ユーザーは何もしなくてもプリンタには LPD が起動されているものと考えてよい。
( ただしモバイル・プリンタのような簡易のプリンタを除く)

実は Windows にも LPD は初期から導入されていて起動されていないだけである。
あなたの Windows でも 【スタート】-【コントロール・パネル】-【プログラム】 で
「プログラムのアンインストール」を選ぶと次のような表示となる。

プログラムのアンインストール

ここで左上の「Windows の機能の有効化または無効化」をクリックする。

次に、

プログラムのアンインストール

「印刷とドキュメントサービス」の + をクリックして展開すると
「 LPD 印刷サービス」が現れるのでこれをチェックして
OK ボタンを押すと LPD デーモンが開始される。

この設定によって Windows でも LPD デーモンを開始することができる。

さて IBM i から Windows へどのようにして LPR で印刷を指示すれば
よいのだろうか ?
実は IBM i には LPR コマンドが用意されている。
コマンド入力画面で LPR + 【F4キー】 とすると

LPR + F4

のように LPR のコマンドで印刷スプールを指定すれば
先ほどの Windows にスプールが送られて印刷することができる。
これはいいことを知った!! と思われる諸氏も少なくないはずだ。
LPR を使えばネットワーク・プリンタに簡単に印刷することができる。
もうプリンタ・ドライバも要らない!!
Win10問題もこれで解決 !!

しかしなぜ LPR が IBM i で普及していないのだろう?
それは IBM i に LPR コマンドはあっても LPR 印刷ドライバが
ないからである。
いちいち手動でスプールを指定して LPR コマンドを叩くわけにもいかない。
かと言ってもすべての印刷プログラムの CLP に LPR コマンドを
追加するわけにもいかない。
やはり特定の OUTQ にスプールが投入されたら自動的に
プリンターへ出力するような仕組みが欲しい。
それがプリンタ・ドライバである。
IBM i 上でもプリンタ・ドライバは自作することができるが
そう簡単にはできない。
LPR コマンドはあっても LPR ドライバがないので
IBM i では LPR が普及していないのだ。

Spool ライター Ver5.0では LPR ドライバも用意されているので
特定の OUTQ に投入したものを簡単に LPR でネットワーク・プリンタに
出力することができる。
ネットワーク・プリンタとは ASCII 系の安価な普及プリンタであり
IBM 5577系のドット・インパクト・プリンタと比べると
値段も格安であり音も静かである。
XEROX や RICHO、Canon などの複合機にでも印刷することができる。

今、Spool ライター Ver5.0への問合せは非常に多く、
ほぼ毎日、どこからか試供版の申し込みなどがある。
プリンタ・セッションの廃止が急務になっている Win10問題に対して
LPR による印刷は間違いなくこれからの解決案ではないだろうか?