動作原理を理解する

the WindowsライターがIBM iの印刷スプールをどのようにして Windowsのプリンタへ印刷出力するのかを理解しておくと 必要な設定をより理解することができます。 ( お急ぎの場合は読み飛ばしても構いません )

the Windowsライターの動作原理


3つの印刷方式 the WINDOWSライターには3つの印刷方式があります。 ひとつだけの印刷方法ですべてを賄えればよいのですが ユーザーによる事情や現状の運用に最も適した印刷方法を選べるように 3つの印刷方法が用意されています。

■ GDi印刷 (=Graphic Device Interface)

これはIBM iのSCS印刷ストリームをMicrosoft仕様の印刷スプール(MS-EMF= Enhanced MetaFile) に変換してWindowsのプリンタ・ドライバに 共有プロトコル(SMB=Server Message Block)で送信する方法です。 プリンタ・ドライバというプログラムはWindowsのスプール(MS-EMF)を プリンタ・メーカー固有のスプールに変換することが目的ですから プリンタ・ドライバのあるプリンタならどのようなプリンタにでも 印刷することができます。      市販のすべてのプリンタはプリンタ・ドライバもメーカーによって      提供されていますから、この方法ですべてのプリンタに印刷が可能になります。      MS-EMFはUnicodeとして作成されます。      また MS-EMFは元々グラフィカルな印刷の目的のための仕様です。 ・用紙サイズ、方向、フォント、サイズ、用紙トレイ、両面印刷、印刷部数など様々な指定が可能です。 ・これを利用して用紙サイズいっぱいに広がって印刷することができます。 このような印刷をフォント自動調節機能と呼びます。 この印刷はGDi印刷にだけできる印刷です。 (フォント自動調節で印刷するにはフォント・サイズに *FORMで指定してください。 ・また MS-EMFはUnicodeであるので英語、中国語や韓国語などを印刷することができます。 まとめますと GDi印刷の特徴は

GDI印刷とは


・どのようなプリンタにでも印刷することができる。 ・用紙サイズ、方向、フォント、サイズ、用紙トレイ、両面印刷、印刷部数など様々な指定が可能(SMB) ・印刷用紙いっぱいにフォント・サイズを自動調節して印刷することができる。 ・国際言語に対応している。
ということになります。 GDI印刷ではSMB通信を使いますので他の印刷方法に比べて細かな指定ができることが 大きな利点です。 後のLPRはプリンタに直接印刷できる利点はありますがSMB通信のように細かな指定は できません。しかしSMB通信のオプションがあるプリンタもありますので そのようなプリンタを使えば直接印刷 + 印刷指定が可能になります。

■ PDT印刷( =Printer Definition Table )

PDT(=プリンタ定義テーブル)とは IBM iのSCS印刷ストリームを各プリンタ・メーカーの プリンタに適合する印刷ストリームに変換する変換テーブルのことです。 例えばキャノンのプリンタは LIPSという名前の印刷ストリームを印刷します。 キャノン用のPDTはSCSストリームをLIPSに変換します。 PDT(=プリンタ定義テーブル)はそれぞれプリンタ・メーカー用のPDTが用意されていて 各プリンタに適合した印刷ストリームに変換して印刷することができるようになっています。 特殊な印刷を行いたい場合もこのPDTをカスタマイズすれば適合するように 設計されています。 そのためRPGやCOBOLプログラムで直接、メーカーの印刷ストリームの一部だけを 出力している業務もあります。 前述のGDi印刷があればすべて印刷は賄えるように思えますが 現実としてRPG/COBOLで印刷ストリームを出力していたり、カスタマイズしたPDTを 使っているケースもありますのでこのような事例で印刷をサーバー・サイドに 移管するには、やはりWINDOWSライターが PDT印刷もサポートする必要があるのです。 そこでWINDOWSライターはSCSストリームをPDTの記述に従って印刷ストリームを プリンタ・メーカー用のストリームに変換する機能を持ちました。 これがPDT印刷です。 PDT印刷は上図のようにPDTによって変換したストリームをSMBプロトコルで プリンタ・ドライバに送ります。 従ってPDTが用意されているプリンタすべてで印刷することが可能になります。

PDT印刷の特徴となるのは


従来のプリンタ・セッションによるPDT印刷がそのまま移行できる。 PDTはPDTファイルでもPDFファイルでも良い。 PDTが用意されているプリンタならすべて印刷が可能である。 現在のプリンタ・セッションを廃止する最も簡単で安全な方法である。

■ LPR 印刷 (=Line Printer Daemon Protocol )

LPRとは UNIXで利用されている印刷プロトコルのことです。 印刷を要求するクライアントを LPRといい、要求を受取って印刷する プリンタ側をLPD(=Line Pronter Daemon )と言います。 前述のPDT印刷ではPDTで変換した印刷ストリームをSMBというプロトコルで Windowsのプリンタ・ドライバに送っていましたがこのLPR印刷では LPDサーバーが待機しているプリンタそのものに直接送信します。 ここで初めて「直接印刷」が現実になりました。 最近では市販のほとんどのプリンタはLPDサーバー機能を備えています。 つまり LPR対応です。 複合機やIBM 5577プリンタであってもLPR対応なのでいかに LPRが普及しているかおわかりでしょう。 LPR対応のブリンタに直接、PDTで変換したストリームを送って印刷する 方法をLPR印刷と呼びます。 LPR印刷可能なプリンタのことをLPD印刷装置と呼びます。 LPR印刷にはあいだにWindowsが介在することはありませんので 完全に Windows10問題やJava有償化問題とも切り離されています。 LPR印刷が直接印刷の最も理想的な形と言えるでしょう。

LPR印刷では


Windowsの介在を必要としないプリンタへの直接印刷です。 プリンタはPDTのあるプリンタでLPR対応のものに限られますが 現在の多くのプリンタはLPR対応です。 Windows10問題やJava有償化問題、PDT移行問題の完全解決となります。
※ IPP印刷 : LPR印刷はプリンタに直接印刷できるという利点はありますが GDI印刷のように 用紙サイズや方向、印刷トレイなどの細かな指定はできません。 LPR印刷をほ拡張したものとしてIPPプロトコルによるIPP印刷というものが ありますがSPOOLライターVer5.0は IPP印刷をサポートしていますが the WINDOWSライターはIPP印刷はサポートしていません。 ※ SMB通信 : プリンタによってはオプションとしてSMB通信を数万円程度のオプションで サポートしている場合があります。 SMB通信をプリンタに導入するとSMB通信での印刷が可能になりますので 用紙サイズや方向などの細かな指定が可能になります。 例えば複合機で印刷する場合用紙の選択やトレイなどの選択も指示したいのであれば LPR通信ではできませんがSMB通信なら可能です。 SMB通信が可能なオプションを複合機に追加してPDT印刷を指示すれば 複雑な指定もできるようになります。 ただしthe WINDOWSライターおよび Windows10がサポートしているSMBは SMB2.0 ですがプリンタ・メーカがサポートしていものは多くがSMB1.0です。 ㈱オフィスクアトロの調査では ・Canon のSMBサポートは SMB1.0まででSMB2.0をサポートする予定はない。 ・RICOHのプリンタでは実験ではSMB2.0はサポートされていない。 ことがわかっています。 プリンタのSMB2.0対応状況はお客様ご自身で調査のほどお願い申し上げます。 ※ LPD印刷装置: SpoolライターVer5.0でもLPR印刷をサポートしていますので区別するために the WINDOWSライターのLPR通信による印刷装置のこををLPDプリンタや LPD印刷装置と呼びます。 元々プリンタ側のサーバーはLPDサーバーが待機していますので LPD印刷装置と呼ぶことが妥当です。 ほとんどの市販のプリンタにはLPDサーバーが搭載されていますが 個人用の家庭向けのプリンタや特殊なラベル・プリンタでは LPDサーバーがない、つまりLPRをサポートしていないものもあります。

=======================================

the WINDOWSライター印刷装置(仮想印刷装置)

=======================================

   the WINDOWSライターで作成する印刷装置(=これを仮想印刷装置と呼びます)の実際について説明します。    the WINDOWSライターの印刷装置(=仮想印刷装置)とは     

印刷装置(*DEV)  +  WINDOWSライター拡張印刷装置記述(*DTAARA)

です。 the WINDOWSライターの仮想印刷装置とはライブラリーWINUSRSYS内の データ・エリア(*DTAARA)として作成されます。
      
                     システム印刷装置記述             ライブラリー WINUDRSYS
                     --------------------            -----------------------
      仮想印刷装置    PRT01: *DEVD                    PRT01; *DTAARA
                      PRT02: *DEVD                    PRT02: *DTAARA
                        :                               :
のような関係で構成されます。 つまり従来の印刷装置記述に対してthe WINDOWSライターによる印刷記述(*DTAARA)が ライブラリー: WINUSRSYS のデータ・エリア(*DTAARA)として 記述されることになります。

=========================================

WINDOWSライター印刷記述(仮想印刷装置)の作成

=========================================

ユーザーはライブラリー WINUDRSYSのデータ・エリア(*DTAARA)を直接 参照したり変更などの操作をする必要はありません。 i5/OSの印刷装置は通常、 CRTDEVPRT コマンドで作成するように the WINDOWSライターの印刷装置も CRTDEVGDI (GDI印刷装置の作成) または CRTDEVPDT (PDTまたはLPR印刷装置の作成) によって作成します。 さらにthe WINDOWSライターでは WRKWINWTR(WINDOWSライターの構成)コマンドを使えば すべての印刷装置の構成を行うことができます。

===========================

導入ライブリー

===========================

      ライブラリー       説明
      --------------    ------------------------------------------------------------------
       WINDOWS            WINDOWSライターのオブジェクトが保管されているライブラリーです。

                          ユーザーはBACKUPの目的でこのライブラリーを保管することは
                          できますがそれ以外の操作は行わないでください。

    
      WINUSRSYS          ユーザーが作成するオブジェクトがこのライブラリーに保管されます。
                          IBM iをリプレースするときはこのライブラリーを移行してください。
                        
                          ジョブ・ログ :    QEZJOBLOG *OUTQ
                          外字テーブル :    IGCTBL    *FILE
                          組織部門ファイル  DEPMENT   *FILE
                          拡張印刷装置                *DTAARA
                          データ待ち行列              *DTAQ
 

===========================

SpoolライターVer5.0

===========================

弊社製品にSpoolライターVer5.0がありますがこのSpoolライターVer5.0との関連について 説明致します。 (1).the WINDOWSライターの印刷機能によってPDFを印刷することはできるのでしょうか? できます。 the WINDOWSライターの開始コマンド(STRWINWTR)で出力を印刷(*PRINT)ではなく PDF(*PDF)として指定すれば印刷スプールは SpoolライターVer5.0の CVTSPLFコマンドを使っていったんPDF化したものを印刷出力することが できます。 このことを利用すればSpoolライターVer.5.0のPDF化機能を生かして印刷することが できます。 例えばSpoolライターVer5.0には DDS記述のBARCODキー・ワードがあって バー・コードをPDFとして出力できますので the WINDOWSライターで バー・コードを印刷することができるようになります。 (2).またSpoolライターVer5.0にも印刷機能がありますが、どのように使い分ければ よいのでしょうか? SpoolライターVer5.0には豊富な印刷機能があります。 バー・コードやQRコードの印刷はもちろん専用用紙への複写印刷を オーバー・レイ印刷で印刷することもできます。 特殊なピッチや細かな印刷位置の調整もできます。 一方、the WINDOWSライターはどのようなプリンタにでもIBM iから 直接印刷することができるメリットがあります。 そこで逆を考えればSpoolライターVer5.0による印刷は 高度な特殊印刷には対応していますが印刷できるプリンタは PDF印刷可能でLPR対応のプリンタに限られます。 SpoolライターVer5.0によるLPR印刷と通常の印刷と 複数の印刷体系が並存することになります。 一方でthe WINDOWSライターは特殊な印刷には対応していませんが どのようなプリンタにでも印刷できるところがメリットです。 そこですべての印刷業務を the WINDOWSライターに統一して 特殊な印刷だけをSpoolライターVer5.0でPDF化して印刷するように すれば印刷業務をすべてthe WINDOWSライターで管理することができます。 (3) the WINDOWSライターも将来は印刷機能が拡張されてSpoolライターVer5.0と 競合するのでしょうか? the WINDOWSライターの開発コンセプトはプリンタ・セッションの廃止です。 the WINDOWSライターはあくまでも印刷出力を基本機能として開発されていますので 印刷という範疇を超えてSpoolライターVer5.0の機能と競合する予定は ありません。 リッチな印刷内容の実現にはSpoolライターVer5.0をご利用頂き、      印刷範囲を広げるにはthe WINDOWSライターの利用が適切です。