LPR とは
LPR(Line Printer daemon protocol ) とは UNIX系に端を発する
TCP/IP通信によってプリンターに印刷するクライアント・ソフトウェアです。
LPR に対して LPRの要求を処理して印刷を行うサーバー・ソフトウェアを
LPD (Line Printer Daemon )と呼びます。
LPD が起動されているプリンターに対してLPRで印刷スプールを送信すると、
そのプリンターに印刷することができます。
LPR/LPD によって印刷するには プリンタの型式毎に
WSCST (ワークステーション・カスタマイズ・オブジェクト) と呼ばれるソースの登録が必要です。
WSCST がプリンタ・メーカーによるプリンタの規格のちがいを吸収しています。
Spoolライターでは EPSOC, XEROX などのいくつかのWSCSTをあらかじめ用意していますが
i5/OS のRTVWSCSTコマンドによって
IBM が用意しているメーカー型式別のWSCST を取り出すことができます。
さらに、そのプリンターがPostScript対応のプリンターであれば PDFをLPRで送れば、
PDFを印刷することができます。( PDF は PostScript のサブ・セットです。)
PDF であれば、どのプリンタであっても狂いなく正しく印刷することができますし、
プリンタ型式別に WSCSTを用意する必要がありません。
また LPR による PDF 印刷とは IFSなどに PDFを一時的にも保存するものではなく
PDF を直接、プリンタに送信します。
LPRドライバーとは
LPR機能は LPRコマンドと、
もうひとつ LPRドライバーという名前のプリンタ・ドライバーが用意されています。
LPRコマンドは各印刷スプール・ファイル毎にプリンタにスプールを送信するコマンドです。
印刷スプール毎にプリンタに送信する必要があるので
印刷を実行するCLPの中に LPRコマンドを組み込む必要があります。
これに対してプリンタ・ドライバーであれば、
i5/OS 上の印刷装置(DEVD) として OUTQ に関連づけて印刷することができます。(LPR印刷装置)
LPR の利用方法の形態
LPR印刷装置は従来のプリンタ・ドライバーと同じように
特定のプリンタに出力するように指定するか、
または印刷を指示したクライアントPCにスプールを送信するか、
のどちらかを選択することができます。
- A. OUTQ に投入されたスプールは、すべて特定のプリンターに送信して印刷する。
- B. 印刷を依頼したクライアントPCに送信して、
そのPCに設定されている最寄りのプリンタに印刷する。 -
この手法による印刷はこれまでにはない画期的で便利で簡単な方法です。
この手法による印刷は- 5250エミュレータ
- AutoWeb
- EnterpriseServer での Webアプリケーション
ただし他社製品および IBM のWebフェーシングでは利用できません。
LPR印刷装置は製品 Spoolライターが導入された後でユーザー自身で最初だけ作成してください。
- 印刷スプールをPCクライアントに直接、送信するには ?
-
ユーザー自身で印刷スプールを特定のPCに直接、送信するようにセットすることができます。
例えばある印刷業務の実行プログラムで- 印刷出力は特定のPCに送信する または
- その印刷出力を実行したPCに送信する
ことができます。
PCへ印刷スプールを送信する動作原理を理解できれば
印刷スプールを送信するようなCLPを開発することができます。LPRドライバーは
- 印刷装置(DEVD)のリモート・ロケーションが 127.0.0.1 であり、かつ
- 印刷スプールの「ユーザー定義データ」に送信先のIPアドレスが登録されている
ときに、LPRドライバーは印刷スプールをLPRプロトコルによって相手先に送信します。
従って、ユーザー(お客様自身)でも次のような処理を印刷出力CLPで行なって
OVRPRTF によって次のように送信先IPアドレスを指定してください。OVRPRTF FILE(*PRTF) USRDFNDTA('192.168.1.43') OVRSCOPE(*JOB) CALL MYPRTPGM DLTOVR FILE(*PRTF) LVL(*JOB)
*PRTF はすべての印刷ファイルに対して一時変更することを意味します。
この例では 192.168.1.43 という特定の送付先を指定していましたが
対話式ジョブで実行中であれば API : QDCRDEVD を使えば
実行中のクライアントのIPアドレスを取得することができますので、
これを上記のようにセットすることによって
印刷の依頼元に印刷スプールを戻すことができます。今、実行中のクライアントの IPアドレスを知るには ?
(http://www.as400-net.com/tips/c-server/11.html)
このようにすれば、いつでも依頼元に印刷をリダイレクトさせることができます。Webフェーシングを利用している場合も AutoWeb であれば
API : QDCRDEVD によって依頼元のIPアドレスを取得することができます。
ただし AutoWeb 以外のIBMを含む他社製品のWebフェーシングではできません。
API : QDCRDEVD での動作に必要な情報が仮想端末に書き込まれていないからです。
LPR 印刷機能のお願いとお断り
-
LPR 印刷が可能となるプリンターは LPD をサポートしている必要があります。
お客様のプリンターで LPR印刷が可能かどうかは弊社でお答えすることはできません。
プリンターが印刷可能かどうかはお客様ご自身でお試しになられますようお願い申し上げます。 -
プリンター個別の仕様等についても弊社でお答えすることはできません。
またプリンターの種類が多いため個別に動作保証することもできません。
ただし個別対応をや望みの場合は別途有償のサービスとしてお引き受け致しますので
弊社ヘルプ・デスクまでお問い合わせください。
LPR を使って直接、プリンターへの印刷出力を行います。
Spoolライター・メニュー(GO SPOOLWTR)から
オプション = 4
を選択するか、または
ADDLIBLE SPOOLWTR
+ [実行キー]
GO PRINT
+ [実行キー]
により次の画面が表示されます。
選択するオプションを最下部の「選択項目またはコマンド」欄に打鍵して
実行キー押してください。
LPR (LinePrinterRemote) コマンドはUNIX、Linux でも提供されている
ネットワーク・プリンターへ直接、印刷するためのコマンドです。
LPDが導入されているプリンタ・サーバーやLPDを直接サポートするプリンターへ
IBM i から直接、スプールを送信して印刷することができます。
ユーザーはスプールの属性を指定して、
ひとつずつスプールを送信することもできますが(STRLPRWTR
) 、
多くの場合は OUTQ に対して「印刷待ち行列処理」(WRKLPR
)によって
LPRライターを関連づけて 印刷出力するほうが効率良い作業となります。
LPR メニューでは、これらの LPRに関するコマンドがすべて使用できるようになります。