SpoolライターVer5.0

8. LPR印刷

LPR(=Line Daemon Printer Protocol)とはUNIX仕様の印刷プロトコル(=通信手順)です。
印刷を要求するクライアント側をLPRといい印刷するプリンタ側をLPDといいます。

LPRを使えばIBM iから直接、ネット・ワーク・プリンタに印刷することが
できるようになります。
例えば複合機であってもほとんどの複合機(XEROX, RICHO, …)はLPRをサポートしています。
市販されている多くのプリンタがLPDサーバーが起動されていますので
LPRから印刷要求すると印刷することができます。

そこでIBM iにもLPRコマンドが用意されています。

                         TCP/IP スプール・ファイル の送信  (LPR)                        
                                                                                
  選択項目を入力して,実行キーを押してください。                                
                                                                                
  リモート・システム  . . . . . .                                               
                                                                                
                                                                                
                                                                                
  印刷装置待ち行列  . . . . . . .                                               
                                                                                
                                                                                
                                                                                
  スプール・ファイル  . . . . . .                  名前                         
  ジョブ名  . . . . . . . . . . .   *              名前 , *                     
    ユーザー  . . . . . . . . . .                  名前                         
    番号  . . . . . . . . . . . .                 000000-999999                 
  スプール・ファイル番号  . . . .   *ONLY         000000-999999, *ONLY...       
  ジョブ・システム名  . . . . . .   *ONLY          名前 , *ONLY, *CURRENT, *ANY 
                                                                                
                                                                                
                                                                       続く ... 
 F3= 終了    F4=プロンプト   F5= 最新表示    F10= 追加のパラメーター               
 F12= 取り消し            F13= この画面の使用法    F24= キーの続き              

リモート・システムとしてプリンタのIPアドレスを指定すればLPRで印刷することができますが
実用的な問題があります。
それはプリンタ・ドライバが用意されていないことです。
IBM iのLPRコマンドは IBM iでもLPRが使えるということを示しているに過ぎません。
CLPの中でこのLPRコマンドを最後に実行すればLPR印刷は可能になりますが
やはりIBM iでの印刷業務はOUTQにスプールを投入してSTRPRTWTRコマンドでライターを
起動して印刷することが自然です。

SpoolライターVer5.0でもLPRコマンドが次のように用意されています。

                                 LPR 印刷  (LPR)                             
                                                                             
  選択項目を入力して,実行キーを押してください。                             
                                                                             
  プリンター・サーバー IP . . . .   '192.168.1.60'                           
  遠隔印刷待ち行列名  . . . . . .   'Doclpd'                                 
                                                                             
                                                                             
  スプール・ファイル  . . . . . .   QPRINT         名前                      
  ジョブ名  . . . . . . . . . . .   *              名前 , *                  
    ユーザー  . . . . . . . . . .                  名前                      
    番号  . . . . . . . . . . . .                 000000-999999              
  スプール番号  . . . . . . . . .   *ONLY         1-9999, *LAST, *ONLY       
  印刷方法  . . . . . . . . . . .   *LPR          *LPR, *IPP, *ORCA          
                                                                             
                                                                             
                                                                             
                                                                             
                                                                             
                                                                             
                                                                         終り
F3= 終了    F4=プロンプト   F5= 最新表示    F10= 追加のパラメーター 
F12= 取り消し            F13= この画面の使用法    F24= キーの続き

[解説]

このLPRコマンドはIBM iのLPRコマンドとは別に㈱オフィスクアトロが新たに開発したものです。
市販の他社製品でIBM iから複合機などに直接印刷できますと唄っているものは
IBM iのLPRコマンドを利用しているに過ぎませんがSpoolライターVer5.0のLPRコマンドは
独自に開発したものです。
これは
  ・品質を保証するため。IBM iのLPRコマンドを利用していたのでは
   IBM iのLPRコマンドにバグがあった場合は対応できないから。

  ・機能を拡張できるように。独自開発のものであれば自由に機能を
   拡張することができる。

ためです。
しかしLPRを利用するにはLPRの印刷ドライバが必要です。

                       LPR 印刷装置の作成  (CRTDEVLPR)                       
                                                                             
選択項目を入力して,実行キーを押してください。                               
                                                                             
装置名  . . . . . . . . . . . . > LPRDEV         文字値                      
装置クラス  . . . . . . . . . .   *LAN          *LCL, *RMT, *VRT, *SNPT, *LAN
装置タイプ  . . . . . . . . . .   '3812 '       3287 , 3812 , 4019 , 4201 ...
装置型式  . . . . . . . . . . .   '1     '      0     , 1     , 2     ...    
プリンター型式または *PDF . . .   *PDF                                       
LAN 接続機構  . . . . . . . . .   *USRDFN       *LEXLINK, *IP, *USRDFN       
ポート番号  . . . . . . . . . .   0             0-65535                      
用紙サイズ :                                                                 
  用紙サイズ  . . . . . . . . .   *SPLF         *SPLF, *CUSTOM, *A3, *A4...  
  用紙方向  . . . . . . . . . .                 *LANDSCAPE, *PORTRAIT        
ページ・サイズ :                FORMSIZE                
  長さ --1 ページ当たりの行数                  *AUTO    
  幅 --1 行当たりの文字数   . .                         
  測定方法  . . . . . . . . . .                *ROWCOL  
左寄せ/上寄せ/中央寄せ :      ALIGN                            
  縦方向  . . . . . . . . . . .                *TOP              
  横方向  . . . . . . . . . . .                *CENTER           
余白(インチ) :                MARGIN                           
  上余白  . . . . . . . . . . .                *DEFAULT          
  下余白  . . . . . . . . . . .                                  
  左余白  . . . . . . . . . . .                                  
  右余白  . . . . . . . . . . .                                  
フォント :                      FONT                             
  識別コード  . . . . . . . . .                ' MSゴシック '  
  ポイント・サイズ  . . . . . .                11                
印刷装置エラー・メッセージ  . . PRTERRMSG    > *INQ              
メッセージ待ち行列  . . . . . . MSGQ           *SYSOPR           
  ライブラリー  . . . . . . . .                                  
パリティーのタイプ  . . . . . . PARITY         *NONE             
停止ビット  . . . . . . . . . . STOPBITS       '1    '           
 ホスト印刷の変換  . . . . . . . TRANSFORM      *NO         
 リモート・ロケーション  . . . . RMTLOCNAME     '127.0.0.1' 
                                                     
 ユーザー 定義 ドライバー・プログラム  . . USRDRVPGM      LPRDVR      
   ライブラリー  . . . . . . . .                  SPOOLWTR  
 テキスト ' 記述 ' . . . . . . . TEXT           *BLANK      
                     
 権限  . . . . . . . . . . . . . AUT            *ALL        

[解説]

このLPR 印刷装置の作成 (CRTDEVLPR)コマンドはLPRドライバを組み込んだ印刷装置(*DEV)を
作成します。
LPRドライバとは

   ユーザー 定義 ドライバー・プログラム  . . USRDRVPGM      LPRDVR      
   ライブラリー  . . . . . . . .                  SPOOLWTR

のことを言います。
OUTQに対してこれで作成した印刷装置(*DEV)をSTRPRTWTRで開始させれば
いつもの印刷と変わりありません。

LPR印刷によってネット・ワーク・プリンタに直接印刷できるようになりますので
すべてが解決したように見えますが

 ・APW 罫線、倍角印字、バーコード、カラー文字、画像、オーバーレイ印刷などを
   行うには PDF 印刷が必要です。
   PDF を印刷するためには PDF ライターを備えているプリンターが必要です。
複合機ではPDF印刷は別途オプションの契約が必要になるものが
多いようなのでご注意ください。

・市販の多くのプリンタは LPD/PDF 印刷に対応していますが
  簡易なモバイル・プリンタのような場合は対応していない場合もありますので
  ご確認ください。

・LPR印刷では指定できる機能はプリンタによって制約があります。

LPRで目的の印刷ができればそれで問題は解決しますが
LPRにはいくつかの制約がありますのでLPR印刷を拡張したものにIPP印刷があります。
次回はそのIPP印刷をご紹介します。