従来ではIBM i を印刷は 5250専用プリンターのみに印刷されていましたが
ASCIIプリンターが普及した現在、IBM i の印刷データを印刷する手法は多種多様にあります。
ここで印刷手法の全容と概略を紹介します。
それぞれの詳細はリンクを参照してください。
IBM i の印刷出力の基本的な処理をもう一度確認してみましょう。
- 印刷プログラムは印刷データを印刷待ち行列(OUTQ)に投入します。
-
STRPRTWTR(印刷装置書き出し PGM 開始)によって印刷装置(ライター)を開始すると
印刷装置(DEVD)は OUTQの中から印刷スプールを取出してプリンターに印刷します。 -
印刷の完了をライター(装置)が告げるとOUTQの中から印刷済みのスプールは
除去されて印刷は終了します。
- プリンタ・ドライバ
-
ライター(印刷装置(DEVD))の実体を成しているのがプリンタ・ドライバと
呼ばれるプログラムです。プリンタ・ドライバはそれ単体で動作することはありません。
装置に組み込まれて初めて動作します。
装置は IBM i に固有のものですから、お客様はプリンタ・ドライバを利用するには
プリンタ・ドライバを組み込んだ装置を作成する必要があります。Spool ライターには様々な用途に応じたプリンタ・ドライバが用意されています。
LPR ドライバ LPR/LPD プロトコル(印刷の通信手順)によって
ネットワーク・プリンタや複合機に印刷します。PDF ドライバ 印刷ではなくスプールを PDF 化して出力します。 IPP ドライバ IPP プロトコルによって印刷します。
LPR より細かな指定ができる印刷であり複合機への
印刷に向いています。ORCAドライバ ORCA とは Spool ライター Ver5.0が提供する PC クライアントに
導入する印刷モジュールの名前です。
ローカル PC の ORCA に IPP で通信してスプールを送ります。
ORCA は Windows のプリンタ・ドライバを使って印刷しますので
どのようなプリンタにでも印刷することができます。 - 装置の作成
-
印刷の開始(SRPRTWR) には OUTQ に対して装置(DEVD)を指定して開始します。
したがって各ドライバに対する装置を始めに作成しておく必要があります。LPR 印刷装置の作成 CRTDEVLPR PDF 印刷装置の作成 CRTDEVPDF IPP 印刷装置の作成 CRTDEVIPP ORCA 印刷装置の作成 CRTDEVIPP くわしくは GO SPOOLWTR/PRINT および GO SPOOLWTR/PDF を参照してください。
- テキスト印刷と PDF 印刷
-
プリンターへ文字列だけのテキストを印刷することは可能ですが APW 罫線、倍角印字、バーコード、カラー文字、画像、オーバーレイ印刷などを 印刷するためには、印刷データはテキスト・ベースではなく PDF としなければ なりません。 前出のそれぞれのプリンタ・ドライバは印刷データを PDF 化する機能も 備えていますが実際のプリンターも PDF の印刷に対応していなければなりません。 プリンターの取扱い説明書またはプリンタ・メーカーにお問合せください。
1. 従来の5250出力に出力する
従来の印刷出力の方法であり、比較的、高価な5250専用プリンターに印刷出力します。
連続用紙やレーザー・プリンターなどに出力します。
IT期機器が高価な時代で集中処理の時代では高速での印刷が可能である利点がありましたが
分散処理の現在ではこの用途は少なくなってきています。
2. スプール個別にLPR転送する
Spoolライターで提供されているLPRコマンドをユーザーCLPに個別に組み込むか、
または手動で直接、スプールの名前などを指定して、
直接、LPDをサポートしているASCIIプリンターにTCP/IPで送ります。
プリンターは少なくともLPDが起動されていなければなりません。
今では複合機を含む多くのプリンターが LPD をサポートしていますので、
よほど古いプリンターでなければ印刷が可能です。
( お客様のプリンターが印刷可能であるかどうかは実際にお試しになるか、
またはプリンター・メーカーにお問い合わせください。
弊社ではお問い合わせを受け付けておりません。)
またプリンターに送信するスプールはテキスト形式か、またはPDF形式のどちらも可能です。
これもプリンターがPDFをサポートしているかに依存しています。
外字、APW罫線、バーコード、APW会社ロゴなどを印刷するには PDFに変換して送信する必要があります。
転送先のIPアドレスは LPR装置のリモート・ロケーションに定義されています。
3. OUTQ に投入されたスプールをすべてASCIIプリンタにLPR転送する
あるOUTQに投入された印刷スプールをすべて特定のプリンタに印刷出力する方法です。
この方法を実現するには、いわゆるプリンター・ドライバまたは仮想ドライバなる機能が必要となります。
ライター
またプリンターに送信するスプールはテキスト形式か、またはPDF形式のどちらも可能です。
これもプリンターがPDFをサポートしているかに依存しています。
外字、APW罫線、バーコード、APW会社ロゴなどを印刷するには
PDFに変換して送信する必要があります。
転送先のIPアドレスは LPR装置のリモート・ロケーションに定義されています。
LPRドライバ
Spoolライター Ver5.0 では新しくネイティブなプリンタ・ドライバとして
LPRドライバが実装されました。
LPRドライバはLPR印刷装置を登録することで 1. と同じ操作で
OUTQ に投入されたスプールを特定のプリンタに転送することができます。
転送先のプリンタは、やはりLPDが起動されている必要があります。
転送先のIPアドレスは LPR装置のリモート・ロケーションに定義されています。
4. 印刷PDF を取りに行く
上記の方法はすべてプリンタに印刷イメージが転送されていましたが、
ここではプリンターではなくPCクライアント(Windows)にスプールを個別に送信する方法です。
しかも印刷を指定したクライアントPC に印刷用のPDFを返信します。
通常のPDFでは、まずPDFが表示されて、それからエンド・ユーザーがPDFの印刷オプションを選択して
印刷しなければなりませんが、印刷用PDFであればPDFを受け取った直後に印刷が始まり、
Adobe の印刷ダイアログが直ちに表示されて印刷することができます。
印刷はPCクライアントに「通常使うプリンタ」として設定されている最寄りのプリンタに出力されます。
PDFとして印刷するメリットは
- どのようなプリンタであっても印刷精度が正しい
- 外字、APW罫線、バー・コード、APW会社ロゴなどを印刷することができる
などです。
ただし
- PCクライアント(Windows)には LPD が起動されていること
( 初期値ではWindows に LPDは導入されていますが起動はされていません。) - 最寄りのプリンタがPDF印刷に対応していること
が必要となります。
Spoolライターのブラウズ機能で印刷を指示した場合に実行されるのがこの機能です。
Spoolライターは、該当する印刷スプールが
どのクライアントで実行したのかを調べて
実行元のクライアントに印刷スプールをPDF化して転送します。
この機能は
- 5250エミュレータ ( PCOMM または iAccess)
- AutoWeb
- Alaska 配下のWeb適用業務
で、お使いになれます。
ただし他社製品(IBM HATS, ACCESS他)ではご利用になれません。
これは 5250エミュレータでもセットされている必要な情報が
他社製品ではセットされていないからです。
5. ローカル印刷
ローカル印刷とは印刷スプールを PDF 化して印刷を要求したクライアント PC に
リダイレクトする機能のことです。
この結果として印刷スプールは IBM i に直結したプリンターではなく
クライアント PC の「通常使うプリンタ」として登録されているプリンタに
印刷されます。
この仕組みのことをローカル印刷と呼びます。
LPR 装置は CRTDEVLPR で作成される印刷装置ですが
この LPR 装置のリモート・ロケーションを 127.0.0.1 (LOOPBCK)として
作成しておくと LPR 装置の LPR ドライバが印刷スプールを
印刷を要求したクライアント PC に LOOP BACK します。
クライアント PC で LPD を起動しておけば、クライアント PC は
LPD で受け取ったスプールを「通常使うプリンタ」にリダイレクトします。
LPD をサポートするプリンタであれば、スプールを受け取って
印刷します。これがローカル印刷の仕組みです。
ローカル印刷ができるのは Spool ライター Ver5.0だけです。
-
LPRドライバは通常であればリモート・ロケーションで指定された IP アドレスの
プリンタに印刷データを送りますが、リモート・ロケーションが
LOOPBACK(127.0.0.1)であればクライアント PC に印刷データを送ります。 -
ローカル印刷を使うためにはクライアント PC の Windows で LPD を予め起動して
おかなければなりません。
Windows には LPD も導入されていますが最初は起動されていません。
-
ローカル印刷のためには Windows で「通常使うプリンタ」も LPD をサポートしている
必要があります。
6. 印刷スプール個別にPDFをFTP転送する
ユーザーCLPで印刷スプールに転送先をセットしてPDFドライバに投入すれば 指定した転送先のFTPサーバーにPDFを送信することができます。
(送信先のIPアドレス):(ユーザー名]:(相手先フォルダー名):(PDFファイル名)
として、これらを OVRPRTF USRDFNDTA(xxxxx ... ) として登録しておきます。
7. オーバーレイ印刷
オーバーレイ印刷とは用紙のイメージ・ファイルの上に印刷を重ね打ちする機能のことです。
用紙のイメージを IFS 上に .JPG 型式の画像ファイルとして保管しておき
この画像イメージと印刷スプールを合成して PDF を作成または印刷を行います。
従来のドット・プリンターで専用用紙の上に印刷する業務を
オーバーレイ印刷に置き換えることができます。
従来のドット・プリンターでの労力や専用用紙などの維持コストも直ちに
削減することができます。
オーバーレイ印刷では専用用紙のイメージをイメージ・ファイル(.JPG) として
IFS などに保存しておき、印刷のときに重ね打ち印刷を指定します。
オーバーレイ印刷した PDF を電子媒体として保管しておけば
保管コストも安くなるばかりか、長期の安定した保存が可能になります。
他社製品のフォーム・オーバーレイからの移行も非常に簡単です。
もちろん既存の用紙を用紙イメージの画像ファイルとして作成するのも
簡単です。
オーバーレイ印刷を行うには次の3つのいずれかの方法を使って
行うことができます。
- DDS に OVERLAY キー・ワードを使ってオーバーレイ印刷を指定する。
-
オーバーレイ印刷を始めるにはまずこの方法をお試しください。
DDS に OVERELAY キー・ワードを指定して CRTEXPRTF コマンドで
印刷ファイル(PRTF) を作成してください。
くわしくはこちらで。 - CRTEXPRTF コマンドの前面オーバーレイ(FRONTOVL) を指定する。
-
CRTEXPRTF コマンドの前面オーバーレイ(FRONTOVL) にオーバーレイ印刷を
記述することができます。
ただしこの方法は DDS ソースのように記述が残らないので
PRTF の再作成のときには忘れないで指定する注意が必要です。
くわしくはこちらで。 - CVTSPLF コマンドでの実行時に前面オーバーレイ(FRONTOVL) を指定する。
-
CVTSPLF コマンドにも「 F10 = 追加のパラメータ 」によって
前面オーバーレイ(FRONTOVL) を指定することができます。
この方法は非常に柔軟で高度な使用方法を提供します。
例えば印刷スプールの内容を「 CHKSPLF : スプールの文字列検査」によって
検査して、その内容によって使用する用紙イメージを使い分けることができます。
また請求書の鑑のように、最初のページと以降の明細行のページの
用紙イメージのオーバーレイ用紙イメージを使い分けることもできます。
【例1】
すべてのページに用紙フォーム: /SPOOLWTR/SEIKYU.JPG を
指定して印刷します。
前面オーバーレイ : オーバーレイ . . . . . . . . /SPOOLWTR/SEIKYU.JPG 下方向オフセット . . . . . . 0.1 -57.790-57.790 横方向オフセット . . . . . . -0.2 -57.790-57.790 開始ページ . . . . . . . . *FIRST 1-9999, *FIRST, *END 終了ページ . . . . . . . . *END 1-9999, *END 文字列の検査 . . . . . . . . 開始行 . . . . . . . . . . 1-255 開始桁 . . . . . . . . . . 1-378 値の続きは+
【例2】
1行目の128桁めから文字列 : ---YNNNNN があるページには
用紙フォーム: /SPOOLWTR/URIAGE.JPG を指定して印刷します。
前面オーバーレイ : オーバーレイ . . . . . . . . /SPOOLWTR/URIAGE.JPG 下方向オフセット . . . . . . 0.1 -57.790-57.790 横方向オフセット . . . . . . -0.2 -57.790-57.790 開始ページ . . . . . . . . *FIRST 1-9999, *FIRST, *END 終了ページ . . . . . . . . *END 1-9999, *END 文字列の検査 . . . . . . . . ---YNNNNN 開始行 . . . . . . . . . . 1 1-255 開始桁 . . . . . . . . . . 128 1-378
【解説】
開始ページ | オーバーレイ印刷を開始する最初のページb指定します。 |
---|---|
終了ページ | オーバーレイ印刷を終了する最後のページb指定します。 |
文字列の検査 |
スプール内の、ある固定位置に指定の文字列が含まれている場合を 条件の判断基準とすることができます。 判断の基準となる文字列を指定します。 |
開始行 | 文字列がある行 |
開始桁 | 文字列がある桁位置 |
オーバーレイの用紙イメージを作成するには
-
複合機などのスキャナーで用紙を読み取ります。
スキャンされた用紙イメージはまず複合機の内部に保管されます。 -
次に同じネット・ワーク内の別の Windows PC のペイントで
複合機の用紙イメージを共有で読み込んで、それを
JPG ファィルとして Windows のローカルに保管します。 -
JPG ファイルを FTP を使ってIBM i の IFS フォルダーに無変換で
アップロードします。
他社製品のフォーム・オーバーレイを移行するには
-
IBM i から白紙イメージで既存の他社製品のフォーム・オーバーレイを使って
フォームだけを印刷出力します。 - その印刷結果を複合機でスキャンして読み取ります。
-
同じネットワーク内の別の Windows PC のペイントで
複合機の用紙イメージを共有で読み込んで、それを
JPG ファイルとして Windows のローカルに保管します。
余計な印刷イメージがあれば、ペイントまたは
PhotoShop を使って不要な部分を除去してください。 -
JPG ファイルを FTP を使って IBM i の IFS フォルダーに無変換で
アップロードします。
用紙イメージを修正するには
-
FTP を使って IFS に保存済みの JPG ファイルを Windows PC に
ダウンロードします。 - PhotoShop で JPG ファイルを加工します。
-
加工した JPG ファイルを FTP を使って IBM i の元の IFS フォルダーに無変換で
アップロードします。
新規の用紙イメージを作成するには
- Excel や MS-Word などで用紙イメージを作成します。
- PhotoShop や ペイントなどでそれらを JPG ファイルに変換します。
-
JPG ファイルを FTP を使って IBM i の IFS フォルダーに無変換で
アップロードします。
用紙イメージの保守サービス
潟Iフィスクアトロではお客様に代わりまして用紙イメージの保守を
行う有償サービスを行っております。
ただし設計変更や新規設計のための打ち合わせは預かっておりません。
仕様はあくまでお客様ご自身で決定して頂いた後の
用紙イメージの変更や作成のみに限らせて頂きます。
実行テストも別途追加となります。
くわしくは弊社ヘルプデスクまで
8. 複合機への印刷
複合機への印刷の方法について解説致します。
複合機への印刷は
- LPD サーバー( PORT : 515)が起動している
- PDF 印刷を複合機がサポートしている
の二つの条件が揃えば LPR で印刷することができます。
しかし複合機に対してより細かな指定を行いたい場合は
LPR だけでは十分でない場合があります。
例えば緻密な契約書を印刷したいとか、両面印刷や
トレイや用紙の指定まで行うには LPR ではできません。
このような細かな印刷指定まで行えるのが IPP による印刷です。
IPP (インターネット印刷プロトコル)とは UNIX で
LPR の後継として RFC2911, RFC2910 で規定されている
世界共通のネットワーク・プリンタの制御のための
印刷プロトコルです。
IPP は LPR に比べてより洗練されたプロトコルとして
複合機への印刷をサポートすることができます。
ただし IPP はどの市販のプリンターや複合機でも
初めから IPP サーバーが起動しているわけではありません。
IPP サーバーは TCP/IP PORT 631 で起動します。
多くのネットワーク・プリンタや複合機では
初めから IPP デーモン(サーバー)が起動しているわけではないので
最初だけ手動で起動する必要があります。
詳細はご使用中の複合機の取り扱い説明書をご参照ください。
【参考】 チュートリアル : 複合機のIPPポートの起動
( 潟Iフィスクアトロではお客様に代わってお客様の複合機やプリンターの仕様を
お調べすることはできません。お問い合わせにもお答えできませんので
必ずご自身でお調べになるか、プリンタのメーカーにお問い合せください。)
複合機での印刷をテストするには
複合機の印刷機能を確かめることができます。
- 1. テスト用の印刷スプールを作成します。
-
既存の印刷スプールを使うか、または Query や RPG/COBOL などで
印刷出力を行ってテスト用のスプールをひとつ用意します。 - 2. スプール属性を取得する
-
WRKOUTQ などで目的のスプールを表示させてから
「2=変更」でスプール・ファイルの情報を囲んで取得します。 - 3. LPR または IPP で、取得したスプール情報と複合機の IP アドレスを指定して実行します。
-
【 LPR 】SPOOLWTR/LPR + F4キー
出力オプションは最初は「*PRINT」(印刷)で試します。
印刷が成功したら次に出力オプションを「*PDF」(PDF 出力)に
変更してお試しください。
*PDF で首尾よく印刷が成功すればこのプリンタは
PDF 対応であることがわかります。
PDF 対応のプリンタであれば次の印刷が可能となります。- APW印刷罫線、倍角印字
- 画像、ロゴ印刷
- バー・コード印刷
- オーバーレイ印刷
【 IPP 】SPOOLWTR/IPP + F4キー
出力オプションは最初は「*PRINT」(印刷)で試します。
印刷が成功したら次に出力オプションを「*PDF」(PDF 出力)に
変更してお試しください。
IPP で印刷が可能であれば用紙、印刷方向、トレイ、
印刷部数、両面印刷などの指定が可能となります。
複合機が IPP で使用可能かどうかを検査するには
使用中の社内の複合機が IPP プリンターとして使用可能であるか
どうかを検査するためのコマンドが用意されています。
CHKIPPDEV + F4キー
IPP プリンターの検査 (CHKIPPDEV) 選択項目を入力して,実行キーを押してください。 プリンターの IP アドレス . . . '192.168.1.1'
プリンターの IP アドレスを入力して実行キーを押すと
そのプリンターの属性が要求されプリンターに IPP サーバー・デーモンが
起動していると正しい応答が戻ります。
逆にプリンターの IP アドレスが正しくても IPP が起動していないのであれば
エラーとなります。
このことを利用してプリンタの IPP デーモンが正しく起動したかどうかを
確かめることができます。
複合機の IPP ポートの起動の方法についてはこちらを参照してください。
特定の OUTQ に投入されたスプールを自動的に複合機に印刷出力するには
OUTQ に対して 5577系プリンターを関連づけて印刷するには
OUTQ を印刷する装置を割振って STRPRTWTR コマンドで
装置(印刷ドライバ)を開始することになりますが
LPR や IPP による印刷も同じことです。
LPR 印刷のためには Spool ライターVer5.0では
LPRDVR (LPRドライバ)、IPPDVR (IPPドライバ)という
ドライバとなるプログラムが提供されています。
LPR や IPP 用の装置をこれらの印刷ドライバを指定して
作成して装置を STRPRTWTR で開始すると
必要なドライバの機能を利用することができます。
従って LPR ドライバを組み込んだ装置を
CRTDEVLPR コマンドによって作成します。
CRTDEVLPR は LPR ドライバ(LPRDVR)を組み込んだ装置を作成します。
ユーザー 定義 ドライバー・プログラム . . LPRDVR ライブラリー . . . . . . . . SPOOLWTR
これが、この装置の主体と言えます。
OUTQ に対して装置を関連づけて印刷を開始する。
次に STRPRTWTR コマンドで OUTQ に対する装置を関連づけて
開始させます。
印刷装置書き出し PGM 開始 (STRPRTWTR) 選択項目を入力して,実行キーを押してください。 印刷装置 . . . . . . . . . . . > LPRDEV --->(装置名)L 出力待ち行列 . . . . . . . . . LPROUTQ --->( OUTQ )名前 , *DEV ライブラリー . . . . . . . . . . . QGPL 書出 プログラムMSG 用待ち行列 . . *DEVD ライブラリー . . . . . . . . . . . 用紙タイプ・オプション : 用紙タイプ . . . . . . . . . *ALL メッセージ・オプション . . . *INQMSG ... ファイル区切り . . . . . . . . *FILE 区切りページの用紙入れ . . . . *DEVD
開始した結果は WRKOUTQ で見ると OUTQ に WTR が関連づけられているのが
わかります。
すべての出力待ち行列の処理 オプションを入力して,実行キーを押してください。 2= 変更 3= 保留 4= 削除 5= 処理 6= 解放 8= 記述 9= 書き出しプログラムの処理 14= 消去 書き出し OPT 待ち行列 ライブラリー ファイル プログラム 状況 QSCAPAROQ QSC6548877 0 RLS QSCAPAROQ QSC6548878 0 RLS QSCAPAROQ QSC6548879 0 RLS QSCAPAROQ QSC6548880 0 RLS QSCAPAROQ QSC6548881 0 RLS QSRVMON QSERVICE 0 RLS QS9SRVAGT QSRVAGT 0 RLS LPRDEV QUSRSYS 0 LPRDEV RLS LPRWTR QUSRSYS 0 LPRWTR RLS PCNL023 QUSRSYS 0 RLS PDFDEV QUSRSYS 1 PDFDEV RLS
この図では OUTQ : LPRDEV に投入されたスプールはライター: LPRDEV によって
印刷される準備が出来ていることを意味しています。
IPP による OUTQ の印刷も LPR の場合と同じことです。
CRTDEVIPP コマンドによって IPPドライバを同梱する装置が作成され、
やはり STRPRTWTR コマンドによって OUTQ と装置を関連づけて
開始することができます。
9. MOBILE 印刷
MOBILE 印刷とは AutoWeb のオート・モバイル( 追加オプション )と組み合わせて
MOBILE 端末から印刷要求があったときだけに AirPrint を使って
モバイル・プリンターに印刷する仕組みを言います。
MOBILE 印刷ができるのは AirPrint 対応の MOBILE 端末と AirPrint モバイル・プリンターの
組み合わせが必要です。
ご使用中の MOBILE 端末( スマートフォン、タブレットなど )が AirPrint に対応しているかは
ご購入先のショップやメーカーにお問い合わせください。
株式会社オフィスクアトロはお客様に代わって調査することはできません。
モバイル印刷の仕組み
モバイル印刷はローカル印刷の特殊な応用例です。
モバイルからの印刷要求があれば AutoWeb は印刷スプールを OUTQ: SPOOLWTR/MOBILE に
出力しライター MOBILE を使って印刷結果を PDF として元の MOBILE 端末に戻します。
AirPrint 対応の MOBILE 端末は AirPrint を使ってモバイル・プリンターへ
PDF を印刷出力します。
適用業務の変更なし
既存の適用業務を変更する必要はありません。
既存の適用業務の CLP 内で OVRPRTF OUTQ ... などを指定している場合でも
MOBILE 端末からの要求であれば印刷結果は OUTQ: SPOOLWTR/MOBILE に
出力されます。
既存の適用業務と並行稼働ができます。
同じ印刷の業務を実行しても社内 PC から指定して実行した場合は
いつものこれまでと同じプリンターに出力されますが
MOBILE 端末から印刷要求された場合に限り、その MOBILE 端末のモバイル・プリンターに
出力されます。
モバイル用に自動縮小
モバイル・プリンターでは A6 サイズのものが多く使用されますが
A6 サイズにも自動縮小されて印刷することができます。
モバイル用に印刷プログラムの新規開発や修正の必要はありません。
高機能印刷を実現
APW 罫線、倍角印字、画像、写真、バー・コード、カラー印刷、フォント・サイズ、位置調整や
専用用紙イメージによるオーバーレイ印刷など高機能な印刷に対応しています。