前回のお話の最後に、"MAPXPS" コマンドを使用して印刷する際に、パラメーターとして "Profile Name" がありました。Mapping をインストールすると、自動的に "XPSConfig.conf" というファイルが保存されます。OS/400 版であれば、IFS 上の "\mapping" フォルダーの直下にあります。このファイルをメモ帳やブラウザーで開くと、次のような内容であることが分かります。
<xpsconfig>
<*XPS>
<label>DO NOT MODIFY - standard XPS</label>
<language>XPS</language>
</*XPS>
<*PCL>
<label>DO NOT MODIFY - standard PCL5/e</label>
<language>PCL</language>
<color>off</color>
</*PCL>
<*PDF>
<label>DO NOT MODIFY - standard PDF</label>
<language>PDF</language>
</*PDF>
<*AFPDS>
<label>DO NOT MODIFY - standard AFPDS</label>
<language>AFPDS</language>
</*AFPDS>
<*IGP>
<label>DO NOT MODIFY - standard IGP</label>
<language>IGP</language>
<image>PCX</image>
</*IGP>
<*ZEBRA>
<label>DO NOT MODIFY - standard ZEBRA/ZPLII</label>
<language>ZEBRA</language>
</*ZEBRA>
<AFPDS6500>
<label>AFPDS for Matrix printer InfoPrint 6500</label>
<language>AFPDS</language>
<fonts>
<font name="OCR-A" size="12.00" fgid="13" />
<font name="OCR-B" size="12.00" fgid="3" />
<font name="Gothic" size="12.00" fgid="26" />
<font name="Gothic" size="12.00" bold="1" fgid="28" />
<font name="Gothic" size="12.00" italic="1" fgid="314" />
<font name="Gothic" size="10.00" fgid="87" />
<font name="Gothic" size="10.00" bold="1" fgid="110" />
<font name="Gothic" size="10.00" italic="1" fgid="109" />
<font name="Gothic" size="9.00" fgid="204" />
<font name="Gothic" size="9.00" bold="1" fgid="207" />
<font name="Gothic" size="9.00" italic="1" fgid="208" />
<font name="Gothic" size="8.00" fgid="222" />
<font name="Gothic" size="8.00" bold="1" fgid="220" />
<font name="Gothic" size="8.00" italic="1" fgid="217" />
<font name="Gothic" size="7.00" fgid="400" />
<font name="Gothic" size="7.00" bold="1" fgid="404" />
<font name="Gothic" size="7.00" italic="1" fgid="408" />
<font name="Gothic" size="6.00" fgid="258" />
<font name="Gothic" size="6.00" bold="1" fgid="295" />
<font name="Gothic" size="6.00" italic="1" fgid="296" />
<font name="Courier New" size="12.00" fgid="11" />
<font name="Courier New" size="12.00" bold="1" fgid="46" />
<font name="Courier New" size="12.00" italic="1" fgid="18" />
<font name="Courier New" size="10.00" fgid="85" />
<font name="Courier New" size="10.00" bold="1" fgid="108" />
<font name="Courier New" size="10.00" italic="1" fgid="92" />
<font name="Courier New" size="8.00" fgid="214" />
<font name="Courier New" size="8.00" bold="1" fgid="223" />
<font name="Courier New" size="8.00" italic="1" fgid="215" />
<font name="Essay" size="PSM" fgid="160" />
<font name="Essay" size="PSM" fgid="163" />
<font name="Essay" size="PSM" fgid="162" />
</fonts>
<color>OFF</color>
<codepage>1147</codepage>
<dotmatrix>on</dotmatrix>
<embeddedfont>no</embeddedfont>
</AFPDS6500>
<PDFPWD1>
<language>PDF</language>
<encryptmode>on</encryptmode>
<encryptuserpwd>[USRPSWD]</encryptuserpwd>
<encryptallowprint>[USRPRTALW]</encryptallowprint>
<encryptallowhightlevel>on</encryptallowhightlevel>
<encryptallowdataextraction>[USRCPYALW]</encryptallowdataextraction>
<encryptallowaccessibility>on</encryptallowaccessibility>
<encryptallowmodify>on</encryptallowmodify>
<encryptallowcomment>on</encryptallowcomment>
<encryptallowassemble>on</encryptallowassemble>
</PDFPWD1>
</xpsconfig>
xml 形式のファイルなので、例えば、次の 2 行でセットとなります。
<xpsconfig>
</xpsconfig>
ここで記されている様々な記述は、Mapping のデフォルトの指定となります。
具体的には、次のような意味を持っています。
<*XPS>
<label>DO NOT MODIFY - standard XPS</label>
<language>XPS</language>
</*XPS>
ここで、<*XPS>と</*XPS>で挟まれた中で、language、つまりファイル形式が "XPS" であることを指定しているということは、"*XPS" は、ファイル形式として XPS 形式であることを表しています。基本の設定なので、"DO NOT MODIFY", すなわち、変更不可という記述があります。
同様に、"*PCL"、"*PDF" についても定義されています。
そして、肝心なのはここからですが、この中に例えば、次のような記述を追加します。
<PCLDUPLEXL>
<label>DO NOT MODIFY - standard PCL5/e</label>
<language>PCL</language>
<duplex>LONG</duplex>
</PCLDUPLEXL>
これは、"PCLDUPLEXL" という名前を付けて、長辺綴じでの両面印刷を指定したものです。この定義 "PCLDUPLEXL"を "Profile Name" で指定すると、Mapping が "MAPXPS" コマンドに従って PCL 形式の印刷データを生成する際に、IFS 上の "XPSConfig.conf" の中から、この指定を読み取って、長辺綴じの両面印刷コマンドを組み込みます。
この追加した記述は、いくつでも "XPSConfig.conf" の中に追加することができます。もちろん、その際には、同じ名前のものが重ならないように注意することは必要です。
これが、Mapping において、プリントチケットを活用する方法です。
IBM AS/400, iSeries, i5, パワーシステムからの印刷でお困りの方をサポートするための、ブログです。This site supports those who need help on printing from iSeries. Comments in English are welcome. You can enjoy Google translation service just by pushing "translate" button after selecting your language.
始めの言葉
「プリンターから印刷できて当たり前」と、ユーザーからもSIerからも軽視されがちなプリンターの世界ですが、実際にはお困りだったり、思ったような印刷結果が得られないまま我慢してお使いの皆様のために、今までの経験が役立てばと、このブログを立ち上げました。印刷の基本から、応用情報、問題の解決方法を情報発信すると共に、PDF化など、これからどうするかについても、ご相談に乗れれば幸いです。ご質問はコメントでお寄せください。
2018年12月29日土曜日
2018年12月22日土曜日
プリントチケットを使った印刷制御 第 2 回 - PCL プリンターの制御 -
3. 2-2. で生成された XPS 形式のファイル "STD_NOFRONT.xps" に対して、長辺綴じを指定した両面印刷コマンドをプリントチケットとして埋め込んだ XPS ファイルを生成します。そのために、次のようにパラメーターを指定して、MAP_XPS プログラムを実行します。
-infile:/home/mapping/test/STD_NOFRONT.xps(対象となる XPS ファイル名)
-set:DUPLEX=long(長辺綴じ両面印刷指定。短辺綴じの場合は、"short" を指定)
-outfile:/home/mapping/test/STD_DUPL.xps(変換後の XPS ファイル名)
-pages:*(固定値:XPSファイルの全ページに適用することを意味します。)
4-1. "MAPXPS" コマンドを使用して、生成された XPS ファイルを PCL 形式の印刷データに変換した後、OUTQ を通して PCL モードを持つプリンターに送信して印刷させます。そのために、MAPXPS と入力してからキーボードの F4 キーを押します。表示された画面で、次のようにパラメーターを指定した後、キーボードの F10 キーを押します。
Input file xps : /home/mapping/test/STD_DUPL.xps(“3-1” の変換後の XPS ファイル名)
Output file : *PRINT(印刷する場合の固定値。大文字)
Printer language : *PCL(固定値。大文字)
Spooled file : stddupl(生成される印刷データの任意のスプール名)
4-2. 次の画面では、次のように指定します。
Output queue : PCLPTR(PCL プリンター用の OUTQ 名)
Library : QUSRSYS(PCL プリンター用 OUTQ のライブラリー名)
Profile Name : *PCL(固定値。大文字)
以上のように指定したら、実行キーを押すと、XPS ファイルが生成されてからプリント・チケットが組み込まれた PCL モードの印刷データに変換されて、PCL プリンターへの OUTQ を通して印刷されるという一連の流れが実行されます。
最後に指定した "Profile Name" がプリント・チケットと深く関係しますが、これについては、次回にお話しします。
-infile:/home/mapping/test/STD_NOFRONT.xps(対象となる XPS ファイル名)
-set:DUPLEX=long(長辺綴じ両面印刷指定。短辺綴じの場合は、"short" を指定)
-outfile:/home/mapping/test/STD_DUPL.xps(変換後の XPS ファイル名)
-pages:*(固定値:XPSファイルの全ページに適用することを意味します。)
![]() |
| XPS ファイルに、長辺綴じ両面印刷コマンドを全ページに対して適用する |
Input file xps : /home/mapping/test/STD_DUPL.xps(“3-1” の変換後の XPS ファイル名)
Output file : *PRINT(印刷する場合の固定値。大文字)
Printer language : *PCL(固定値。大文字)
Spooled file : stddupl(生成される印刷データの任意のスプール名)
![]() |
| MAPXPS コマンド 1 画面目の指定 |
Output queue : PCLPTR(PCL プリンター用の OUTQ 名)
Library : QUSRSYS(PCL プリンター用 OUTQ のライブラリー名)
Profile Name : *PCL(固定値。大文字)
![]() |
| MAPXPS コマンド 2 画面目の指定 |
最後に指定した "Profile Name" がプリント・チケットと深く関係しますが、これについては、次回にお話しします。
2018年12月15日土曜日
プリントチケットを使った印刷制御 第 1 回 - PCL プリンターの制御 -
Mapping Suite の現行のバージョン 7 では、XPS をコアのアーキテクチャーとしていますが、XPS の中には、"プリントチケット" という機能があります。Mapping V7 では、この機能を活用すると、今までの AS/400 からの印刷ではできなかった細かい印刷制御が可能になります。
ただし、Mapping が印刷データを生成して、OUTQ から送信することによって直結印刷できる、"PCL" モードを持つプリンターが対象となります。
では、プリント・チケットの原理のお話の前に、実施に使用した実例を見てみましょう。
あるお客様では、AS/400 上の Mapping から PCL モードを持つレーザー・プリンターに印刷する際に、両面印刷することが必要でした。しかし、両面印刷と言っても、長辺綴じ/短辺綴じがあります。そこで、XPS のプリントチケットを活用して次の流れで実現します。
おおまかには、次の流れになります。
1. MAPCPYSPLFコマンドを使用して、XPSファイルを生成します。
2. 生成したXPSファイルに対して、MAP_XPSプログラムを使用して、FRONTSIDE=OFF を適用したXPSファイルに変換します。
3. 変換したXPSファイルに対して、MAP_XPSプログラムを使用して、長辺綴じ、または短辺綴じを指定した両面印刷指定コマンドを組み込みます。
4. 両面印刷指定コマンドを組み込んだXPSファイルに対して、MAPXPSコマンドを使用して印刷します。
具体的な手順を画面を見ながら追っていきます。
1-1. MAPCPYSPLF コマンドを使用して、XPS ファイルを生成します。MAPCPYSPLF コマンドは、今まで何度か出てきました。1 画面目で、対象となるスプール・ファイルと、フォーマットを指定して、キーボードの "F10" キーを押します。
1-2. 2 画面目では、次のように、"XPS Printer/outfile language" 欄に "*XPS" を指定します。これは、もちろん、これから生成するのは、XPS ファイルだからです。
1-3. 3 画面目では、次のように、生成する XPS ファイルのフォルダーとファイル名を指定します。フォルダーは、IFS 上のものになります。その後、実行キーを押して 指定したファイル名の XPS ファイルを生成します。
2-1. 次に "CALL MAP_XPS" と入力して実行します。次のような画面が表示されますので、"-infile:" の後に、"1" で生成した XPS ファイルのフォルダーとファイル名を指定します。追加するパラメーターがありますので、2 行目に "+" を入力して実行します。
2-2. 次の画面のように、3 つのパラメーターを入力します。
-set:FRONTSIDE=OFF <- 固定値
-outfile:/home/mapping/test/STD_NOFRONT.xps <- 変換後の XPS ファイル名
-pages:* <- 固定値(XPS ファイルの全ページに適用することを意味します。)
実行キーを 2 度押して、XPS ファイルを生成します。
ただし、Mapping が印刷データを生成して、OUTQ から送信することによって直結印刷できる、"PCL" モードを持つプリンターが対象となります。
今までも何度かお話してきましたが、海外ではデファクト・スタンダードとなっている、レーザー・プリンターや複合機の "PCL" モードも、日本の国内では、標準でサポートしているプリンターや複合機はまだ少数派です。とは言え、ほとんどのメーカーでは安価なオプションとして用意していますので、Mapping から見た場合、PCL モードのプリンターを使用することのメリットとコストを比較すると、ハードルは低いと言えると思います。
あるお客様では、AS/400 上の Mapping から PCL モードを持つレーザー・プリンターに印刷する際に、両面印刷することが必要でした。しかし、両面印刷と言っても、長辺綴じ/短辺綴じがあります。そこで、XPS のプリントチケットを活用して次の流れで実現します。
おおまかには、次の流れになります。
1. MAPCPYSPLFコマンドを使用して、XPSファイルを生成します。
2. 生成したXPSファイルに対して、MAP_XPSプログラムを使用して、FRONTSIDE=OFF を適用したXPSファイルに変換します。
3. 変換したXPSファイルに対して、MAP_XPSプログラムを使用して、長辺綴じ、または短辺綴じを指定した両面印刷指定コマンドを組み込みます。
4. 両面印刷指定コマンドを組み込んだXPSファイルに対して、MAPXPSコマンドを使用して印刷します。
具体的な手順を画面を見ながら追っていきます。
1-1. MAPCPYSPLF コマンドを使用して、XPS ファイルを生成します。MAPCPYSPLF コマンドは、今まで何度か出てきました。1 画面目で、対象となるスプール・ファイルと、フォーマットを指定して、キーボードの "F10" キーを押します。
![]() |
| MAPCPYSPLF コマンドの 1 画面目 |
![]() |
| MAPCPYSPLF コマンドの 2 画面目 |
![]() |
| MAPCPYSPLF コマンドの 3 画面目 |
![]() |
| MAP_XPSの 1 画面目 |
-set:FRONTSIDE=OFF <- 固定値
-outfile:/home/mapping/test/STD_NOFRONT.xps <- 変換後の XPS ファイル名
-pages:* <- 固定値(XPS ファイルの全ページに適用することを意味します。)
実行キーを 2 度押して、XPS ファイルを生成します。
![]() |
| MAP_XPSの 2 画面目 |
2018年5月2日水曜日
AS/400 プリンティングに求められるソリューション 第36回 - MVPを使ったPDFの自動印刷 - 2 -
プリンターの登録は、"サーバーの構成"という、次のような設定画面で行います。
- バーチャル・プリンター名
登録されたプリンター毎に任意の名前を付けますが、重要な点は、英数半角大文字であることと、この名称がここで登録したプリンターへ印刷させるための "OUTQ" のパラメーターの "リモート印刷装置待ち行列"と一致させることです。
MVP 経由の印刷の場合、このバーチャル・プリンター一つ一つに対して、OS/400 上に "OUTQ" を作成します。それによって、OS/400 上の通常の印刷の操作と同様に、OUTQ に対して PDF のスプールを解放することによって、OUTQ に紐付いたバーチャル・プリンターから印刷されるという仕組みです。そして、OUTQ とバーチャル・プリンターを紐付けるのが、この"リモート印刷装置待ち行列"です。
- ローカル・プリンターの設定
実は、MVPでは、PDF スプールを "Adobe Reader" とプリンター・ドライバーの組み合わせで印刷する機能の他に、PCL モードを持つプリンターに印刷するとか、OS/400 から送信されてくる印刷データをそのまま LPR 印刷するといった機能も持っているのですが、どちらも実際に使用するケースは、ほぼ無いと言えます。
そこで、"プログラムを使って印刷する" を選択し、プログラムには、Adobe Readerの実行プログラムである "AcroRd32.exe" を指定します。Adobe Reader のバージョンが変わっても、AcroRd32.exe という名称は変わっていないようですが、フォルダー名は変化しています。従って、同じ PC に導入されている Adobe Reader のバージョンに応じたフォルダー名を指定するよう注意が必要です。上の画面サンプルでは、バージョンは "DC" なので、次のような指定になっています。
"C:\Program Files\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" /n /t /h %1 %2 %3 %4
後ろに付いているオプションについては、Adobe 社のサイトで次のように説明されています。
/n : すでに Acrobat を起動している時に、別のインスタンスとして Acrobat アプリケーションを起動 <- 複数の処理を並行して行うことになるので、ページ数の多い PDF スプールの方が、ページ数の少ないものより印刷が後回しになる可能性があります。印刷の順番を重視する場合には、これは指定しない方が良いと思います。
/t : AcroRd32.exe /t path printername drivername portname
Adobe Reader を起動し、印刷ダイアログボックスを表示せずに PDF ファイルを印刷し、Adobe Reader を終了する。
/h : Acrobat を起動するが、表示しない。(メモリ上にロードするのみ) <- このように説明されていますが、私の経験では、/h を指定していても、GUI モードの場合は、一瞬、Adobe Reader で PDF ファイルを開いた画面が表示されます。
"ローカル・プリンター" 欄は、プリンター・ドライバーを選択するようになっています。選択肢として出てくるプリンターは、MVP が稼動する PC に設定されているプリンターそのものです。
もし、同じプリンターで印刷するにしても、例えば、片面印刷する時と両面印刷する時、あるいは、何種類かの給紙トレイを選択して印刷する場合には、同じドライバーをコピーした後、プロパティをそれぞれの設定に合わせた上で、別々のプリンター名を付けて保存します。MVP 上では、それぞれのプロパティを持ったプリンター名のドライバーを指定したバーチャル・プリンターを登録します。
それによって、OUTQ を指定することによって、自動的に両面印刷や片面印刷、給紙トレイを指定した印刷が可能になります。
なお、Windows 上で設定するプリンター名も、英数半角文字であることが必要な点にご注意ください。
MVP の導入直後は、下端に表示されている"デフォルトで印刷ジョブを保留する"にチェックが入っていることがあります。そのままにすると、MVP 上で PDF スプールが滞留し、印刷されませんので、このチェックは外しておく必要があります。なお、この設定は、導入し設定した後で、印刷テストを行う際に、印刷ジョブを保留する方が、印刷することによる用紙の消費を防ぐためにあります。
![]() |
| サーバーの構成画面 |
登録されたプリンター毎に任意の名前を付けますが、重要な点は、英数半角大文字であることと、この名称がここで登録したプリンターへ印刷させるための "OUTQ" のパラメーターの "リモート印刷装置待ち行列"と一致させることです。
![]() | ||
| CRTOUTQコマンドの1画面目 |
- ローカル・プリンターの設定
実は、MVPでは、PDF スプールを "Adobe Reader" とプリンター・ドライバーの組み合わせで印刷する機能の他に、PCL モードを持つプリンターに印刷するとか、OS/400 から送信されてくる印刷データをそのまま LPR 印刷するといった機能も持っているのですが、どちらも実際に使用するケースは、ほぼ無いと言えます。
そこで、"プログラムを使って印刷する" を選択し、プログラムには、Adobe Readerの実行プログラムである "AcroRd32.exe" を指定します。Adobe Reader のバージョンが変わっても、AcroRd32.exe という名称は変わっていないようですが、フォルダー名は変化しています。従って、同じ PC に導入されている Adobe Reader のバージョンに応じたフォルダー名を指定するよう注意が必要です。上の画面サンプルでは、バージョンは "DC" なので、次のような指定になっています。
"C:\Program Files\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" /n /t /h %1 %2 %3 %4
後ろに付いているオプションについては、Adobe 社のサイトで次のように説明されています。
/n : すでに Acrobat を起動している時に、別のインスタンスとして Acrobat アプリケーションを起動 <- 複数の処理を並行して行うことになるので、ページ数の多い PDF スプールの方が、ページ数の少ないものより印刷が後回しになる可能性があります。印刷の順番を重視する場合には、これは指定しない方が良いと思います。
/t : AcroRd32.exe /t path printername drivername portname
Adobe Reader を起動し、印刷ダイアログボックスを表示せずに PDF ファイルを印刷し、Adobe Reader を終了する。
/h : Acrobat を起動するが、表示しない。(メモリ上にロードするのみ) <- このように説明されていますが、私の経験では、/h を指定していても、GUI モードの場合は、一瞬、Adobe Reader で PDF ファイルを開いた画面が表示されます。
"ローカル・プリンター" 欄は、プリンター・ドライバーを選択するようになっています。選択肢として出てくるプリンターは、MVP が稼動する PC に設定されているプリンターそのものです。
もし、同じプリンターで印刷するにしても、例えば、片面印刷する時と両面印刷する時、あるいは、何種類かの給紙トレイを選択して印刷する場合には、同じドライバーをコピーした後、プロパティをそれぞれの設定に合わせた上で、別々のプリンター名を付けて保存します。MVP 上では、それぞれのプロパティを持ったプリンター名のドライバーを指定したバーチャル・プリンターを登録します。
それによって、OUTQ を指定することによって、自動的に両面印刷や片面印刷、給紙トレイを指定した印刷が可能になります。
なお、Windows 上で設定するプリンター名も、英数半角文字であることが必要な点にご注意ください。
MVP の導入直後は、下端に表示されている"デフォルトで印刷ジョブを保留する"にチェックが入っていることがあります。そのままにすると、MVP 上で PDF スプールが滞留し、印刷されませんので、このチェックは外しておく必要があります。なお、この設定は、導入し設定した後で、印刷テストを行う際に、印刷ジョブを保留する方が、印刷することによる用紙の消費を防ぐためにあります。
2018年1月20日土曜日
AS/400 プリンティングに求められるソリューション 第23回 - Mapping Suite の帳票設計方法 - 1 -
前回までのお話で、帳票設計を始める準備ができましたので、これからは実際の帳票設計作業についてお話します。
プリファレンスの設定を行なった MapDraw を起動すると、次の画面が表示されますので、ホーム・ボタンを押してから"新規"->"プロジェクト"と指定するか、画面上の"新規"の下にある"プロジェクト"を指定します。
MapDraw では、"プロジェクト"という言葉と、"フォーマット”という言葉が出てきて紛らわしいように感じるかと思います。後で詳しくお話しすることになりますが、"プロジェクト"は、1つ1つの帳票設計の成果であるファイルを指します。一方、"フォーマット"は、1つのスプールに対して適用する帳票設計全体を指します。例えば、見積書のスプールの 1ページ目には、"表紙"の設計を、2ページ目以降には"明細"の設計を切り替えて適用した PDF ファイルを生成する場合には、"表紙用"のプロジェクトと"明細"用のプロジェクトを作ることになります。ただし、それらのフォーマット名は、"表紙"と"明細"に対して共通のものとなります。これは、後に PDF ファイルを生成する Mapping のコマンドのお話しを聞いていただくと、良くご理解いただけると思います。
"新規"->"プロジェクト"を指定すると、初めに次のような"新規プロジェクト"という画面が表示されます。
各設定項目について、お話します。
A : ここで言う言語は、日本語や英語のことではなく、Mapping処理して生成されたファイルの形式を指しています。選択肢には、XPS の他に PDF、PCL5 等何種類かありますが、Mapping V7 では先ず XPS 形式のファイルを作りますので、デフォルトの "XPS" のままとします。
B : G の"片面/両面" 欄では、通常の片面の他に、"長辺綴じの両面"や"短辺綴じの両面"が選択できます。プリンターでの印刷と違って、XPS や PDF ファイルでは、本来は片面も両面も意味が無いので、このような設定項目があるのはおかしいように思われますが、奇数ページと偶数ページで設計が切り替わる場合に指定するとお考えください。画面の例のように、G で"片面"が指定されていれば、B では片面欄に "Portrait" か、"Landscape" を選択できます。これらはプリンターの業界用語のようですが、"Portrait" は肖像画ですから"縦長"を表わし、"Landscape" は風景画ですから"横長"を表わします。
C : 冒頭でもお話しした"フォーマット"の名前を指定します。英数半角大文字で、最大 10 文字です。1つのスプールに適用される帳票設計に共通の名前となります。Mapping のコマンドのパラメーターとして使用しますので、どのスプールにどのフォーマットを適用するかをきちんと管理する必要があります。
D :1つのスプールに適用する帳票設計が、各ページ共通の1種類であれば、デフォルトの"00010"のままで良いですが、複数ある場合には、共通の"フォーマット"名に対して、シーケンスを"00010"、"00020"、、、という具合に追加していきます。
E : 説明欄には、25文字までの英数半角文字を指定できます。AS/400 上の Mapping のメニュー画面で、帳票の説明として表示されますので、入力しておくと後で少し便利かと思います。残念ながら全角文字は、入力できません。
F : ページのサイズを指定します。選択肢には、A4、A3、A5 等の規格サイズがありますが、例えば B4 等の B 系列のサイズは、日本独自規格なので用意されていません。B 系列のサイズや、他の規格外のサイズの場合には、"Customized" を選択します。そうすると、I 欄で、縦、横の長さを、cm 、mm、1/10mm、ドット単位で任意に指定することができます。なお、上の画面での単位 "10/mm" は、1/10mm を意味しています。
H : "Xマージン" は左右の、"Yマージン"は上下の余白を表わしています。この値が影響することは、実際にはあまりないのですが、ゼロにしないようにご注意ください。
J : コードページ欄には、デフォルトで "1200 : Unicode" が指定されます。Mapping は、文字コードを Unicode に変換しますので、元のスプールの言語に関わらず、ここは変えないようにご注意ください。
K : ここでは、Mapping 処理の元になるデータが、スプールの場合には "SPLF"を、XML ファイルの場合には "XML" を指定します。
L : 元になるデータがスプールの場合、スプールの属性の中にある"DBCS SO/SI スペース"と合わせます。これは、SO/SI を半角ブランクとして扱うか、詰めるかを、元のスプールと合わせておかないと、桁ずれの発生に繋がるからです。
プリファレンスの設定を行なった MapDraw を起動すると、次の画面が表示されますので、ホーム・ボタンを押してから"新規"->"プロジェクト"と指定するか、画面上の"新規"の下にある"プロジェクト"を指定します。
![]() |
| MapDraw 帳票設計の開始 |
"新規"->"プロジェクト"を指定すると、初めに次のような"新規プロジェクト"という画面が表示されます。
![]() |
| 新規プロジェクトを定義する画面 |
A : ここで言う言語は、日本語や英語のことではなく、Mapping処理して生成されたファイルの形式を指しています。選択肢には、XPS の他に PDF、PCL5 等何種類かありますが、Mapping V7 では先ず XPS 形式のファイルを作りますので、デフォルトの "XPS" のままとします。
B : G の"片面/両面" 欄では、通常の片面の他に、"長辺綴じの両面"や"短辺綴じの両面"が選択できます。プリンターでの印刷と違って、XPS や PDF ファイルでは、本来は片面も両面も意味が無いので、このような設定項目があるのはおかしいように思われますが、奇数ページと偶数ページで設計が切り替わる場合に指定するとお考えください。画面の例のように、G で"片面"が指定されていれば、B では片面欄に "Portrait" か、"Landscape" を選択できます。これらはプリンターの業界用語のようですが、"Portrait" は肖像画ですから"縦長"を表わし、"Landscape" は風景画ですから"横長"を表わします。
C : 冒頭でもお話しした"フォーマット"の名前を指定します。英数半角大文字で、最大 10 文字です。1つのスプールに適用される帳票設計に共通の名前となります。Mapping のコマンドのパラメーターとして使用しますので、どのスプールにどのフォーマットを適用するかをきちんと管理する必要があります。
D :1つのスプールに適用する帳票設計が、各ページ共通の1種類であれば、デフォルトの"00010"のままで良いですが、複数ある場合には、共通の"フォーマット"名に対して、シーケンスを"00010"、"00020"、、、という具合に追加していきます。
E : 説明欄には、25文字までの英数半角文字を指定できます。AS/400 上の Mapping のメニュー画面で、帳票の説明として表示されますので、入力しておくと後で少し便利かと思います。残念ながら全角文字は、入力できません。
F : ページのサイズを指定します。選択肢には、A4、A3、A5 等の規格サイズがありますが、例えば B4 等の B 系列のサイズは、日本独自規格なので用意されていません。B 系列のサイズや、他の規格外のサイズの場合には、"Customized" を選択します。そうすると、I 欄で、縦、横の長さを、cm 、mm、1/10mm、ドット単位で任意に指定することができます。なお、上の画面での単位 "10/mm" は、1/10mm を意味しています。
H : "Xマージン" は左右の、"Yマージン"は上下の余白を表わしています。この値が影響することは、実際にはあまりないのですが、ゼロにしないようにご注意ください。
J : コードページ欄には、デフォルトで "1200 : Unicode" が指定されます。Mapping は、文字コードを Unicode に変換しますので、元のスプールの言語に関わらず、ここは変えないようにご注意ください。
K : ここでは、Mapping 処理の元になるデータが、スプールの場合には "SPLF"を、XML ファイルの場合には "XML" を指定します。
L : 元になるデータがスプールの場合、スプールの属性の中にある"DBCS SO/SI スペース"と合わせます。これは、SO/SI を半角ブランクとして扱うか、詰めるかを、元のスプールと合わせておかないと、桁ずれの発生に繋がるからです。
![]() |
| スプールの属性 SO/SI スペースの扱い |
2017年11月5日日曜日
AS/400 プリンティングに求められるソリューション 第13回 - Mapping Suite とは- 3 -
今回は、Mapping の特徴の中でも、ユーザーの方にとって直接関わることは少ないのですが、Mapping V7 を理解する上で重要な、内部のアーキテクチャーをお話します。
アーキテクチャーという言葉は、IT の世界では、基本構造という言葉に置き換えられると思います。
"Mapping Suite" では、V6 から V7.1 にバージョン・アップされる際に、アーキテクチャーが大きく変わりました。V6 までは、PCL 形式の印刷データを生成したり、PDFファイルを生成したりするのは、単にそれぞれ別の処理を行っているだけでしたが、V7.1 からは、XPS 形式のファイルを中間言語として活用するアーキテクチャーに変わりました。
具体的には、様々な形式の入力データを、一旦、XPS 形式のファイルに変換してから、その XPS ファイルを望みの出力データ形式に変換するという処理の流れに変わったということです。
"XPS" という言葉は、あまり耳にされたことの無い方が多いと思いますが、実は、Windows7 以降のバージョンの Windows にはプリンター・ドライバーの一つとして、"Microsoft XPS Document Writer" が標準で組み込まれていますし、XPS ファイルを読み込んで画面表示するための、"XPS ビューアー" も標準で付属しています。例えば、Word や Excel 等、Windows のアプリケーション上で、ドライバーとして "Microsoft XPS Document Writer" を指定して文書を印刷させると、紙に印刷される代わりに、XPS ファイルが生成されます。そして、その XPS ファイルを画面上で見るためのツールとして "XPS ビューアー" があるというわけです。
"XPS" とは、"XML Paper Specification" の略で、Microsoft 社が開発して、WindowsVista から採用し始めたた、電子文書を記述するための XML を活用した公開規格のフォーマットです。Microsoft 社が Adobe社の PDF に対抗するために開発したとも聞いています。
Mapping 社は早くから XPS に着目して、V7.1 のアーキテクチャーに採用しました。それによって、入力データ型式と出力データ型式の選択の幅が大きく広がったのです。Mapping V7.1 のライセンス・パックの種類とオプションとの組み合わせによって、選択可能な入力、出力データ型式の種類は、次の図のとおりです。
例えば、"基本パック"に、オプションの "E-Document" を付けると、入力データとして扱えるデータの形式は、"TEXT"、"XML"、"SCSスプール"となり、変換後の出力データは、"PCL5,6"、"TEXT"、"XML"、"CSV"、"XPS"、"PDF"、"HTML"になるという見方ができます。
そして、単にデータ変換するだけでなく、ファイル変換を行なうプログラム "map_xps" のパラメーターである"プロファイル"を使って、ファイル変換の際の細かい設定を指定することができます。例えば、出力データの解像度や、カラーかモノクロかの指定、ページのサイズ等です。
特に、PDF 生成においては、2008年に"ISO32000"として規格化された所有者パスワードや利用者パスワードに応じた9種類の操作(印刷や編集等)の可/不可を、プロファイルを使って指定できます。
その他には、 生成された複数の XPS ファイルの分割や、結合、ページの並べ替えができます。元々、Mapping には前処理として、スプールの分割や結合、並べ替えを行なう機能がありますが、"前処理"の他に"後処理"でもできるようになったということです。"後処理"でページの並べ替えや分割を行なえるということは、キーとなる値を後から指定することができるということを意味しています。
"Premium パック"では、イメージ・データの一つとして、"GDI" に変換することができます。"GDI" とは "Graphics Device Interface" の略で、Windows の世界で、印刷の際にプリンター・ドライバーに渡す印刷データのイメージを意味しています。"GDI" を生成して、"MOM(Mapping Output Manager)"上のプリンター・ドライバーに送信すれば、ドライバーで指定されたプリンターから印刷することができます。
Mapping では、PCL モードや、PDF ダイレクト印刷機能を持たないプリンターや複合機に、"Adobe Reader" プリンター・ドライバーを使って自動印刷するために、"Mapping Virtual Printer" というオプション・ライセンスを用意していますが、上記の "GDI" に変換する機能を使うと、その代わりになると言えます。
アーキテクチャーという言葉は、IT の世界では、基本構造という言葉に置き換えられると思います。
"Mapping Suite" では、V6 から V7.1 にバージョン・アップされる際に、アーキテクチャーが大きく変わりました。V6 までは、PCL 形式の印刷データを生成したり、PDFファイルを生成したりするのは、単にそれぞれ別の処理を行っているだけでしたが、V7.1 からは、XPS 形式のファイルを中間言語として活用するアーキテクチャーに変わりました。
具体的には、様々な形式の入力データを、一旦、XPS 形式のファイルに変換してから、その XPS ファイルを望みの出力データ形式に変換するという処理の流れに変わったということです。
"XPS" という言葉は、あまり耳にされたことの無い方が多いと思いますが、実は、Windows7 以降のバージョンの Windows にはプリンター・ドライバーの一つとして、"Microsoft XPS Document Writer" が標準で組み込まれていますし、XPS ファイルを読み込んで画面表示するための、"XPS ビューアー" も標準で付属しています。例えば、Word や Excel 等、Windows のアプリケーション上で、ドライバーとして "Microsoft XPS Document Writer" を指定して文書を印刷させると、紙に印刷される代わりに、XPS ファイルが生成されます。そして、その XPS ファイルを画面上で見るためのツールとして "XPS ビューアー" があるというわけです。
"XPS" とは、"XML Paper Specification" の略で、Microsoft 社が開発して、WindowsVista から採用し始めたた、電子文書を記述するための XML を活用した公開規格のフォーマットです。Microsoft 社が Adobe社の PDF に対抗するために開発したとも聞いています。
Mapping 社は早くから XPS に着目して、V7.1 のアーキテクチャーに採用しました。それによって、入力データ型式と出力データ型式の選択の幅が大きく広がったのです。Mapping V7.1 のライセンス・パックの種類とオプションとの組み合わせによって、選択可能な入力、出力データ型式の種類は、次の図のとおりです。
![]() |
| Mapping V7.1 による入力データと出力データの組み合わせ |
そして、単にデータ変換するだけでなく、ファイル変換を行なうプログラム "map_xps" のパラメーターである"プロファイル"を使って、ファイル変換の際の細かい設定を指定することができます。例えば、出力データの解像度や、カラーかモノクロかの指定、ページのサイズ等です。
特に、PDF 生成においては、2008年に"ISO32000"として規格化された所有者パスワードや利用者パスワードに応じた9種類の操作(印刷や編集等)の可/不可を、プロファイルを使って指定できます。
その他には、 生成された複数の XPS ファイルの分割や、結合、ページの並べ替えができます。元々、Mapping には前処理として、スプールの分割や結合、並べ替えを行なう機能がありますが、"前処理"の他に"後処理"でもできるようになったということです。"後処理"でページの並べ替えや分割を行なえるということは、キーとなる値を後から指定することができるということを意味しています。
"Premium パック"では、イメージ・データの一つとして、"GDI" に変換することができます。"GDI" とは "Graphics Device Interface" の略で、Windows の世界で、印刷の際にプリンター・ドライバーに渡す印刷データのイメージを意味しています。"GDI" を生成して、"MOM(Mapping Output Manager)"上のプリンター・ドライバーに送信すれば、ドライバーで指定されたプリンターから印刷することができます。
Mapping では、PCL モードや、PDF ダイレクト印刷機能を持たないプリンターや複合機に、"Adobe Reader" プリンター・ドライバーを使って自動印刷するために、"Mapping Virtual Printer" というオプション・ライセンスを用意していますが、上記の "GDI" に変換する機能を使うと、その代わりになると言えます。
2017年10月9日月曜日
AS/400 プリンティングに求められるソリューション 第9回 - Mapping Suite でできること-1 -
Mapping Suite は、どのような課題を解決するために役立つソリューションでしょうか ?
1. AS/400 上の既存のアプリケーションを変更すること無しに、連続用紙への印刷をカット紙に移行することができます。
特に、今は、罫線や固定文字が印刷された事前印刷用紙に、ライン・プリンターやドット・プリンターを使って、データを印刷しているような場合、例え、それが複写伝票であっても、白紙のカット紙への印刷に切り替えるのは、Mapping Suite の得意分野です。
そして、対応できるプリンターや複合機は、メーカーを問わないのも、大きな特徴です。
特に、PCL モードや、PDF ダイレクト印刷機能、XPS ダイレクト印刷機能を持つプリンターに対しては、AS/400 から、PC を介することなく、LAN 接続で直接印刷が可能です。
連続用紙への印刷からカット紙への印刷に移行することのメリットや、そのための注意点は、過去のお話で触れてきましたので、そちらをご参照ください。
2. AS/400 上の既存のアプリケーションを変更すること無しに、帳票の PDF化ができます。今まで印刷していた帳票を PDF化すると、次のような運用が可能になります。
2-1. バインダーに綴じて保管していた伝票の控を PDF化して、ファイル・サーバーに保管する。
その結果、次のようなメリットが考えられます。
-> 保管スペースの大幅な削減。
-> 検索のための時間(手間)の削減。
-> 保管先フォルダーを分けて、フォルダー毎にアクセス管理を行なうことによる、セキュリティ管理の強化。
-> PDFファイル自体に管理用のパスワードを付与することによる、セキュリティ管理の強化。
![]() |
| IFS 上に生成されたPDFをファイル・サーバーに転送して保存 |
2-2. 印刷した帳票を封筒に詰めて郵送していた業務を、PDFファイルを添付したメール送信に移行する。
その結果、次のようなメリットが考えられます。
-> 印刷代、郵送代の削減。
-> 手作業による封筒詰めに伴う手間と、ミスの発生の削減。
2-3. 印刷した帳票を FAX 送信していた業務を、PDFファイルを使った FAX 自動送信に移行する。
PDFを使った FAX 自動送信は、クラウド・サービスを使用するものと、複合機の各メーカーが用意している FAX送信ソリューションを使うものの 2つの方式に分かれます。
前者は、クラウド・サービスを提供しているサービサーから指定されるメール・アドレス宛に、PDFを添付ファイルとしてメール送信する方式です。その場合、FAXの宛先番号の指定方法は、PDFのファイル名に含める方式や、別に添付するテキスト・ファイル内に記載する方式などがあります。
後者は、WindowsServer 上で稼動する FAX送信ソリューションが指定するフォルダーに対して、宛先番号を含むファイル名を付けた PDFを、AS/400 から FTP送信すると、複合機から電話回線を使って FAX送信されるという方式です。
どちらの方式でも、次のようなメリットが考えられます。
-> 印刷する必要が無いので、印刷のための時間(手間)や、用紙代等のコストの削減。
-> FAX 送信のための作業が削減されるだけでなく、送信先が自動的に指定されるので、誤送信が削減できる。
![]() |
| PDFを使った FAX 自動送信ソリューションの例 |
2-4. AS/400 上で PDFが生成されたら、リクエストしたユーザーの PCにFTP送信して、その PC上の予め決めたフォルダーに保存する。
この考え方は、2-1. の集中管理方式とは異なり、各ユーザーが個人で管理する方式です。特に、Mappingの事例でご紹介している"漁船保険中央会"様(その後、日本漁船保険組合に移行)では、各ユーザーのPCにバッチ・プログラムを用意しておいて、PDFを受信すると Adobe Readerが自動的に起動して、そのPDFを画面表示するという運用に切り替えていらっしゃいます。
-> ユーザーは、印刷結果が必要な場合には、Adobe Readerの検索機能を使って、該当するページのみを、通常使用しているプリンターから印刷させるようになりました。それまでの自動的にドット・プリンターに印刷されていた運用と比べると、大幅な用紙の削減が可能になったということです。当然、業務用に設置されていたドット・プリンターは、廃止となっています。
3. 各国語のスプールに対応して、上記のカット紙への印刷や、PDF化が可能です。
文字コードを AS/400 標準の "EBCDIC" から"ユニコード"に変換して処理するため、日本語以外の各国語のスプールに対応します。その結果、次のようなメリットがあります。
3-1. 国内にある AS/400 から海外に設置されて LAN 接続されたプリンターに、現地の言語、あるいは日本語の印刷が可能です。
-> AS/400 からプリンター・セッションを経由した日本語の帳票を印刷するには、日本語のフォントを内蔵していたプリンターが必要ですが、海外では入手できません。そのため、国内から現地に持ち込んで使用されているお客様もあるくらいです。
Mapping が生成する PCLモードの印刷データには、日本語のフォントのイメージを含んでいますので、日本語フォントを内蔵していない PCLモードのプリンターでも日本語の帳票が印刷できます。
また、PDFにも文字コードと一緒にフォント・イメージを埋め込んでいますので、日本語フォントを持っていない PC 上でも、日本語を表示します。
-> 同じ理由で、現地の言語やフォントを使った印刷や、PDFが可能です。
特に、入力データとしてスプールの代わりに、XMLファイルを使用すると、複数の言語を共存させることが可能です。
Mapping の事例でご紹介している "JFC ジャパン"様では、英語とフランス語の併記が必要なカナダ向けのラベルの印刷を、XML ファイルを元に、Mapping と ZEBRA 社のラベル・プリンターで実現されています。
![]() |
| XML ファイルを使ったタイ語と簡体字の共存の例 |
2017年7月16日日曜日
IBM 小型レーザー・プリンターの今まで -第18回- "PAGES"-12
前回、最後の PAGE 搭載モデルになるのではとお話しした "Infoprint SP8200 N50" は、オプションで後処理機構を持っています。それによって、印刷した用紙を溜めておける枚数が大きくなるだけでなく、ステープル止めするとか、パンチ穴を開けるといった、後処理ができるようになっています。
印刷速度も近いことから、"Inforpint40" の後継機とも考えられますが、PAGES モードのマイクロコードの開発部門が異なっていることもあり、558x シリーズの PAGES モードに近いレベルの機能となっています。
両者の PAGES モードの代表的な機能を比較すると、次のようになります。(もちろん、それぞれのハードウェアが持っている機能の違いも、大きく影響しています。)
1. ステープル止め
- SP8200 N50 : 左/右/上に対して、1箇所、2箇所綴じ、左/右においては斜め綴じ指定可能
- Infoprint40 : 1箇所、2箇所綴じ指定可能
2. パンチ穴あけ
- SP8200 N50 : 左/右/上に対して、3箇所指定可能
- Infoprint40 : 対応していない
3. 排紙トレイの自動切換え
- SP8200 N50 : 排紙トレイが一杯になったら印刷を止める。
空いている排紙トレイへは自動切換えしない。
- Infoprint40 : 排紙トレイが一杯になったら、自動的に空いている排紙トレイに排紙を続ける。
Infoprint40 の PAGES モードでは、558x プリンター系の持っていた PAGES コマンドに対して、例えば、"N-Up 印刷"(複数ページを1ページに集約して印刷する、縮小印刷の方式)機能に対応するコマンド等を追加していました。
その結果、プリンター・セッション経由の印刷においては、PDF ファイルの中にそれらのコマンドを追加指定することによって、それまで実現できなかった印刷が可能になっていたのです。
"Infoprint SP8200 N50" では、同じ PAGES 拡張コマンドをサポートしていませんでしたが、同様の印刷を行なえるようにするために、"PJL コマンド" と PAGES コマンドを組み合わせて活用することで対応できます。
"PJL コマンド"は、元々、HP 社が規定したレーザー・プリンター用の制御コードですが、他の様々なプリンター制御コード(PCL, PAGES, LIPS等々)と大きく異なる点は、それらよりも基礎の階層のレベルのもので、多くのプリンター・メーカーが共通でサポートしているという点です。
機能面では、"印刷部数指定"、"両面印刷"、"N-Up印刷"、"縮小印刷"等の指定ができますが、例えば、両面印刷を指定するコマンドは共通でも、長辺綴じか短辺綴じかを指定するパラメーターは、プリンター・メーカー間で、微妙に異なっています。
この PJL コマンドを PDF ファイルの中で指定する方法は、"Infoprint SP8200 N50" 付属のPAGES カード使用解説書の中で記載されていますが、ここで一部をご紹介します。この考え方をご理解いただくと、プリンター・セッション経由の印刷でのプリンター制御の理解が深まると思います。
ポイントは次のとおりです。
1. "BEGIN MACROS" の中に、PJL コマンド開始を表わすコマンドを "PJS" として定義する。
PJS EQU 1B % - 1 2 3 4 5 X @ P J L 20 0D 0A @ P J L 20 J O B 20 0D 0A
(%、-、1、@ 等は、1バイトの文字として送信される必要があるので、1文字の前後にブランクが入ることにご注目ください。)
2. 同様に PJL コマンド終了を表わすコマンドを "PJE" として定義する。
PJE EQU 1B % - 1 2 3 4 5 X @ P J L 20 0D 0A @ P J L 20 E O J 20 0D 0A @ P J L 20 R E S E T 20 0D 0A 1B % - 1 2 3 4 5 X
3. PAGES モード指定したい PJL コマンドを定義する。ここでは、用紙の左上角をステープル止めするコマンドを "SLV" という名前で定義する。
SLV EQU @ P J L 20 S E T 20 S T A P L E 20 = 20 L E F T T O P 0D 0A
4. プリンターが、データの先頭で PJL コマンドを処理した後、PAGES モードに切り替えるために、PAGES モードへの切り換えコマンド("CDS" と名付けていますが)を送信するのですが、このコマンド自体が、PAGES コマンドであるという、鶏と卵のような関係があるため、PAGES モードへ切り換えるための、PJL コマンドを "PGS" として次のように定義します。
PGS EQU @ P J L 20 E N T E R 20 L A N G U A G E 20 = 20 P A G E S 20 0D 0A
5. 以上で定義されたコマンドを、次の順番で "START_JOB=" と "END_JOB" の後ろに並べます。この順番が重要です。これによって、先ずプリンターに PJL コマンドが送信され、次に、PAGES モードに切り替えてから印刷データが送信されます。最後に、PJL コマンドの終了コマンドが送られることによって、PJL コマンドが、PAGES の印刷データを挟む形となることが重要です。
START_JOB=PJS SLV PGS CDS INZ FNS
........
END_JOB=INZ PJE
なお、ここでは、"START_JOB=" の中の "FNS" があります。これは、排紙トレイを後処理オプションの排紙トレイに指定するための PAGES コマンドの定義です。ステープル止めを指定する以上、後処理オプションの排紙トレイに排紙するのは当然のことですが、コマンドで指定しておく必要があるということです。
FNS EQU 1B 7E 47 00 06 00 00 03 00 00 00
印刷速度も近いことから、"Inforpint40" の後継機とも考えられますが、PAGES モードのマイクロコードの開発部門が異なっていることもあり、558x シリーズの PAGES モードに近いレベルの機能となっています。
両者の PAGES モードの代表的な機能を比較すると、次のようになります。(もちろん、それぞれのハードウェアが持っている機能の違いも、大きく影響しています。)
1. ステープル止め
- SP8200 N50 : 左/右/上に対して、1箇所、2箇所綴じ、左/右においては斜め綴じ指定可能
- Infoprint40 : 1箇所、2箇所綴じ指定可能
2. パンチ穴あけ
- SP8200 N50 : 左/右/上に対して、3箇所指定可能
- Infoprint40 : 対応していない
3. 排紙トレイの自動切換え
- SP8200 N50 : 排紙トレイが一杯になったら印刷を止める。
空いている排紙トレイへは自動切換えしない。
- Infoprint40 : 排紙トレイが一杯になったら、自動的に空いている排紙トレイに排紙を続ける。
Infoprint40 の PAGES モードでは、558x プリンター系の持っていた PAGES コマンドに対して、例えば、"N-Up 印刷"(複数ページを1ページに集約して印刷する、縮小印刷の方式)機能に対応するコマンド等を追加していました。
その結果、プリンター・セッション経由の印刷においては、PDF ファイルの中にそれらのコマンドを追加指定することによって、それまで実現できなかった印刷が可能になっていたのです。
"Infoprint SP8200 N50" では、同じ PAGES 拡張コマンドをサポートしていませんでしたが、同様の印刷を行なえるようにするために、"PJL コマンド" と PAGES コマンドを組み合わせて活用することで対応できます。
"PJL コマンド"は、元々、HP 社が規定したレーザー・プリンター用の制御コードですが、他の様々なプリンター制御コード(PCL, PAGES, LIPS等々)と大きく異なる点は、それらよりも基礎の階層のレベルのもので、多くのプリンター・メーカーが共通でサポートしているという点です。
機能面では、"印刷部数指定"、"両面印刷"、"N-Up印刷"、"縮小印刷"等の指定ができますが、例えば、両面印刷を指定するコマンドは共通でも、長辺綴じか短辺綴じかを指定するパラメーターは、プリンター・メーカー間で、微妙に異なっています。
そこで、自分の使用しているプリンターの、PJL コマンドを知る必要が出てきますが、その方法は、以前、連続用紙への印刷から、カット紙への印刷に移行する -第13回 PDFダイレクト印刷における印刷制御- の回でご紹介しています。
![]() |
| PAGES カード使用解説書抜粋 用紙セット方向とステープル位置の関係 |
![]() | ||
|
ポイントは次のとおりです。
1. "BEGIN MACROS" の中に、PJL コマンド開始を表わすコマンドを "PJS" として定義する。
PJS EQU 1B % - 1 2 3 4 5 X @ P J L 20 0D 0A @ P J L 20 J O B 20 0D 0A
(%、-、1、@ 等は、1バイトの文字として送信される必要があるので、1文字の前後にブランクが入ることにご注目ください。)
2. 同様に PJL コマンド終了を表わすコマンドを "PJE" として定義する。
PJE EQU 1B % - 1 2 3 4 5 X @ P J L 20 0D 0A @ P J L 20 E O J 20 0D 0A @ P J L 20 R E S E T 20 0D 0A 1B % - 1 2 3 4 5 X
3. PAGES モード指定したい PJL コマンドを定義する。ここでは、用紙の左上角をステープル止めするコマンドを "SLV" という名前で定義する。
SLV EQU @ P J L 20 S E T 20 S T A P L E 20 = 20 L E F T T O P 0D 0A
4. プリンターが、データの先頭で PJL コマンドを処理した後、PAGES モードに切り替えるために、PAGES モードへの切り換えコマンド("CDS" と名付けていますが)を送信するのですが、このコマンド自体が、PAGES コマンドであるという、鶏と卵のような関係があるため、PAGES モードへ切り換えるための、PJL コマンドを "PGS" として次のように定義します。
PGS EQU @ P J L 20 E N T E R 20 L A N G U A G E 20 = 20 P A G E S 20 0D 0A
5. 以上で定義されたコマンドを、次の順番で "START_JOB=" と "END_JOB" の後ろに並べます。この順番が重要です。これによって、先ずプリンターに PJL コマンドが送信され、次に、PAGES モードに切り替えてから印刷データが送信されます。最後に、PJL コマンドの終了コマンドが送られることによって、PJL コマンドが、PAGES の印刷データを挟む形となることが重要です。
START_JOB=PJS SLV PGS CDS INZ FNS
........
END_JOB=INZ PJE
なお、ここでは、"START_JOB=" の中の "FNS" があります。これは、排紙トレイを後処理オプションの排紙トレイに指定するための PAGES コマンドの定義です。ステープル止めを指定する以上、後処理オプションの排紙トレイに排紙するのは当然のことですが、コマンドで指定しておく必要があるということです。
FNS EQU 1B 7E 47 00 06 00 00 03 00 00 00
2017年5月20日土曜日
IBM 小型レーザー・プリンターの今まで -第11回- "PAGES"-5
これらの主な特徴は、次のとおりでした。
- InfoPrint 20 (4320-003)
ブランド名が、"Network Printer" から "InfoPrint" に初めて変わりました。
また、ネットワークに接続して複数のユーザーで共有することを追求した結果、Windows PC からのドライバー印刷だけでなく、Mac や AIX からの 日本語 PostScript3 形式の印刷の場合にも、自動的に印刷データ形式を判断して切り換えて、印刷することができます。
その他、PAGES や、ドット・プリンター用として DOS/V の標準規格となった ESC/P にもオプションで対応します。
更に、大型システムや、AS/400 との直接接続印刷用として、AFP にも日本語対応するといった多彩振りです。
共有する以上、高い耐久性も必要で、月平均 7,500 枚、最高 75,000枚 の使用を想定した作りとなっていました。
印刷速度 : 20ページ/分(A4)
解像度 : 600DPI、1200DPI
印刷データ形式 : PCL5、日本語 PostScript3、IPDS(漢字)、PAGES、ESC/P、SCS(英数文字)
(IPDS、PAGES、ESC/P、SCS はオプション。)
![]() |
| InfoPrint 20 |
既に気が付かれたと思いますが、4 桁の型式は、初め 2 桁は"43"で固定、後ろ 2 桁が印刷速度を表わすという仕組みになっています。しかし、この "InfoPrint 40" は、印刷速度が 40 ページ/分であるのに対して、型式は "32" となっています。これは、初めに海外で発表された時には、32 ページ/分の速度だったのですが、日本で発表する時点では、速度が少し高速化されて、40 ページ/分になったという経緯があったからです。
InfoPrint 40 は、InfoPrint 20 の 2 倍の印刷速度であるばかりでなく、給紙オプションや、排紙オプションによって、最高 3,550 枚の連続給紙や、最高 2,500 枚 の排紙容量を持った、最上位モデルでした。
サポートする印刷データ形式は、InfoPrint 20 と同じで、様々な形式の印刷データを自動判別して印刷することができました。
印刷速度が速いだけに、耐久性も月平均 50,000 枚となっていました。
印刷速度 : 40ページ/分(A4)
解像度 : 600DPI、1200DPI
印刷データ形式 : PCL5、日本語 PostScript3、IPDS(漢字)、PAGES、ESC/P、SCS(英数文字)
(IPDS、PAGES、ESC/P、SCS はオプション。)
![]() |
| InfoPrint 40 |
![]() |
| InfoPrint 40 フル・オプション構成 |
これは、A4 サイズ対応のプリンターです。国内では A4 サイズ対応のプリンターは、A3 サイズ対応のものに比べてなかなか受け入れていただけませんでした。特に、このモデルだけは、PAGES と ESC/P オプションが用意されなかったので、従来製品との互換性の観点で、制約がありました。
それ以外は、意欲的な仕様を持っていた製品ですが、今となっては、その特徴を生かしきれなかったと思います。
印刷データ解像度 : 1200DPI
印刷速度 : 20ページ/分(A4)
耐久性 : 最高 100,000 枚/月
連続給紙容量 : 最高 1,750 枚
連続排紙容量 : 最高 1,100 枚
初めての Web ページ対応(ブラウザーを使って、プリンターの状況を表示したり、設定を変更する機能)
初めての IPP(Internet Printing Protocol) 対応
![]() |
| InfoPrint 21 |
2017年5月14日日曜日
IBM 小型レーザー・プリンターの今まで -第10回- "PAGES"-4
IBM の Boulder(ボルダー)事業所にあるプリンティング・システムズ事業部は、永年、大型のメイン・フレームや AS/400 といったシステムと直接接続して印刷する、大型のシステム・プリンターを開発してきました。それが、1997年に、"Network Printer"というブランド名で、カット紙用の小型レーザー・プリンターを 3 モデルも一気に発表したということは、私にとって驚きでした。
さすがに、プリンターの機構部(エンジンと呼びますが)は、日本のメーカーからの OEM 提供になっていますが、コントローラーと呼ばれる制御基盤や、ネットワークに接続するためのオプション・カードは、独自の設計のものでした。
世界共通仕様の製品になりますから、安価な低速モデルと、その上の中速モデルは、A4 サイズまでの対応となっています。A3 サイズに対応するのは、最上位モデルになりますので、速度が最も速く、給紙ユニットや排紙機構のオプションも、豊富に用意されていました。
各モデルの主な仕様は、次のとおりです。
- Network Printer12(4312-001)
印刷速度 : 12 枚/分(レター・サイズの場合なので、A4 サイズでは、11 枚/分)
最大用紙サイズ : レター、A4
解像度 : 600DPI
- Network Printer17(4317-001)
印刷速度 : 17 枚/分(レター・サイズの場合なので、A4 サイズでは、16 枚/分)
最大用紙サイズ : レター、A4
解像度 : 600DPI
- Network Printer24(4324-001)
印刷速度 : 24 枚/分(レター・サイズの場合なので、A4 サイズでは、23 枚/分)
最大用紙サイズ : レター、A3
解像度 : 600DPI
"Network Printer"と名付けたくらいですから、その特徴は様々な接続方式を選択できるところにありました。
1. 通常のLAN(イーサネットもトークン・リングも)接続の他に、メイン・フレームと接続するための "COAX" 接続用のカードや、AS/400 と接続するための "Twinax" 接続カードを選択できました。
2. "COAX" 接続や "Twinax" 接続のために、"SCS" 形式と、"IPDS"(AFP)形式のコマンドをサポートしていました。
3. 通常のLAN接続やパラレル・インターフェイス用には、"PCL"形式と"PostScript"形式、そして"PAGES"形式のコマンドをサポートしていました。
4. 複数のユーザーがネットワークを介して共有する場を想定して、Network Printer17 モデルには"10ビン・メール・ボックス"と呼ぶ、10 段の引き出しになった排紙オプションがありました。この引き出しは、それぞれにパスコードを設定して、プリンターの操作パネルから自分用のパスコードを入力しないと開かないように設定することができました。
5. ネットワークを使って、プリンターがユーザーから離れた場所に設置された場合でも、プリンターの状態を把握できるようにするため、ユーザーの PC にインストールする "Network Printer Manager Utility" という、無償の管理ツールが提供されていました。
また、Network Printer 独自のエピソードとしては、1998年に開催された長野オリンピックで、IBM がスポンサーとなったこともあって、大量の Network Printer 17 が使用されたことが挙げられます。そして、それらは、オリンピック終了後、日本IBM 社内に配布され、オフィス用のプリンターとして使用されたものです。
ただ、COAX接続や、Twinax接続を使ったホスト・システムからの直接印刷は、残念ながら日本語対応されていませんでした。日本語のデータの印刷に対応できたのは、Windows3.1、95、NT4.0 や、OS/2 からの PCL モード用のプリンター・ドライバーと、PAGESを使った印刷でした。
Network Printer 用の PAGES コマンドは、それまでの 558x プリンターのものと次のような違いがあります。
- 対象となるプリンターの解像度が、600DPIであるため、300DPI、600DPI のイメージ・データを扱えること
- n-up 印刷や、排紙トレイの指定等、プリンターの機能に合わせたコマンドが拡張されていること
- APTi 社ではなく、大和研究所のプリンター開発チームによる開発であること
その後、"Network Printer" は、"InfoPrint" にブランド名を変えて、新たにモデルが発表されていきます。
さすがに、プリンターの機構部(エンジンと呼びますが)は、日本のメーカーからの OEM 提供になっていますが、コントローラーと呼ばれる制御基盤や、ネットワークに接続するためのオプション・カードは、独自の設計のものでした。
世界共通仕様の製品になりますから、安価な低速モデルと、その上の中速モデルは、A4 サイズまでの対応となっています。A3 サイズに対応するのは、最上位モデルになりますので、速度が最も速く、給紙ユニットや排紙機構のオプションも、豊富に用意されていました。
各モデルの主な仕様は、次のとおりです。
- Network Printer12(4312-001)
印刷速度 : 12 枚/分(レター・サイズの場合なので、A4 サイズでは、11 枚/分)
最大用紙サイズ : レター、A4
解像度 : 600DPI
![]() |
| Netwrok Printer 12 |
- Network Printer17(4317-001)
印刷速度 : 17 枚/分(レター・サイズの場合なので、A4 サイズでは、16 枚/分)
最大用紙サイズ : レター、A4
解像度 : 600DPI
![]() |
| Network Printer 17 給紙カセット2段と10ビン・メール・ボックス付き |
- Network Printer24(4324-001)
印刷速度 : 24 枚/分(レター・サイズの場合なので、A4 サイズでは、23 枚/分)
最大用紙サイズ : レター、A3
解像度 : 600DPI
![]() |
| Network Printer 24 |
"Network Printer"と名付けたくらいですから、その特徴は様々な接続方式を選択できるところにありました。
1. 通常のLAN(イーサネットもトークン・リングも)接続の他に、メイン・フレームと接続するための "COAX" 接続用のカードや、AS/400 と接続するための "Twinax" 接続カードを選択できました。
2. "COAX" 接続や "Twinax" 接続のために、"SCS" 形式と、"IPDS"(AFP)形式のコマンドをサポートしていました。
3. 通常のLAN接続やパラレル・インターフェイス用には、"PCL"形式と"PostScript"形式、そして"PAGES"形式のコマンドをサポートしていました。
4. 複数のユーザーがネットワークを介して共有する場を想定して、Network Printer17 モデルには"10ビン・メール・ボックス"と呼ぶ、10 段の引き出しになった排紙オプションがありました。この引き出しは、それぞれにパスコードを設定して、プリンターの操作パネルから自分用のパスコードを入力しないと開かないように設定することができました。
5. ネットワークを使って、プリンターがユーザーから離れた場所に設置された場合でも、プリンターの状態を把握できるようにするため、ユーザーの PC にインストールする "Network Printer Manager Utility" という、無償の管理ツールが提供されていました。
また、Network Printer 独自のエピソードとしては、1998年に開催された長野オリンピックで、IBM がスポンサーとなったこともあって、大量の Network Printer 17 が使用されたことが挙げられます。そして、それらは、オリンピック終了後、日本IBM 社内に配布され、オフィス用のプリンターとして使用されたものです。
ただ、COAX接続や、Twinax接続を使ったホスト・システムからの直接印刷は、残念ながら日本語対応されていませんでした。日本語のデータの印刷に対応できたのは、Windows3.1、95、NT4.0 や、OS/2 からの PCL モード用のプリンター・ドライバーと、PAGESを使った印刷でした。
Network Printer 用の PAGES コマンドは、それまでの 558x プリンターのものと次のような違いがあります。
- 対象となるプリンターの解像度が、600DPIであるため、300DPI、600DPI のイメージ・データを扱えること
- n-up 印刷や、排紙トレイの指定等、プリンターの機能に合わせたコマンドが拡張されていること
- APTi 社ではなく、大和研究所のプリンター開発チームによる開発であること
その後、"Network Printer" は、"InfoPrint" にブランド名を変えて、新たにモデルが発表されていきます。
2016年7月9日土曜日
QRコードの印刷方法 - 第2回 帳票アプリケーションを使う -
前回お話した、プリンターの持っているコマンドを送信する方法は、QRコードのイメージをプリンター内部の処理で生成するものです。そのためには、プログラムを用意して、プリンターにコマンドを送信する仕組みを準備する必要がありました。
今回お話しするのは、予めQRコードのイメージを生成しておいてプリンターに送信し、プリンターはQRコードということを意識することなく、他のデータと共に、単なるイメージを印刷するという仕組みです。この方式のメリットは、次のとおりです。
MapDrawを使ったQRコードの設計
1. バーコードの印刷方法 - 第3回 もっと柔軟な方法 - Mapping Suite の場合-1でご紹介したように
2. QRコードの大きさを調整するには、"ゾーンのプロパティ"画面の"詳細"ボタンを押します。"バー
コードの"幅"の値を大きくすることで、QRコードの大きさを大きくすることができます。
デフォルトの値は、左の画面のように"2"となっています。その時のQRコードの大きさは、その右の画面のように、10ポイントの文字の大きさと比べても分かるように、小さめのサイズとなっています。
そこで、例えば、"6"に変えると下のプレビュー画面のような大きさに変わります。
3. この帳票では、2行に別れた住所情報を1つのQRコードにする必要があります。そのような場合は、MapDraw の"メモリー"機能を使用します。
住所データの1行目に対して、"タイプ"を"メモリー"とし、その選択肢としては"テキスト・メモリー"を指定したゾーン(ここでは、"QRM1"というゾーン名)を定義します。
メモリー・ゾーンは、MapDraw の画面上は、ピンク色で表示されます。メモリーするだけですから、この段階ではプレビューしても、何も表示されません。
その下の行の住所情報に対しても同様に、"QR2M"と名づけたメモリー・ゾーンを定義します。
4. 以上で準備が整いましたので、QRコードを表示するためのゾーンを定義します。ポイントは、次の2点です。
- "データの位置"の"長さ"を"0"とすること(メモリー・ゾーンの値を使用するため、スプール・データは使用しないからです。)
- "ゾーンの後に追加する文字"欄に、"[[QRM1]][[QRM2]]"と指定すること(大括弧2つで囲んだメモリー・ゾーンの文字列を連結して、QRコードにするデータとして扱うためです。)
MapDraw の画面は、次のようになり、プレ
ビューの結果は、下の画面のようになります。
この画面を携帯電話等で読み取ってみると、2行の住所情報をデータとして、QRコードができていることが確認できます。
この後、PDF ファイルを生成したり、PCL形式の印刷データを生成して印刷するという処理は、Mapping Suite 共通の手順になります。
今回お話しするのは、予めQRコードのイメージを生成しておいてプリンターに送信し、プリンターはQRコードということを意識することなく、他のデータと共に、単なるイメージを印刷するという仕組みです。この方式のメリットは、次のとおりです。
- プリンターのコマンドに依存しないため、プリンターのメーカーや機種に関わらず、QRコードを印刷できる。つまり、QRコードのコマンドを持っていないプリンターでも印刷できることであり、複数のメーカーのプリンターが混在していても、共通のQRコード付きの帳票を印刷できることでもあります。
- プログラムを開発する手間が掛からない。
MapDrawを使ったQRコードの設計
1. バーコードの印刷方法 - 第3回 もっと柔軟な方法 - Mapping Suite の場合-1でご紹介したように
![]() |
| 住所の1行目をQRコードに指定する |
2. QRコードの大きさを調整するには、"ゾーンのプロパティ"画面の"詳細"ボタンを押します。"バー
![]() |
| バーコードの幅の指定 |
![]() |
| QRコードのプレビュー |
デフォルトの値は、左の画面のように"2"となっています。その時のQRコードの大きさは、その右の画面のように、10ポイントの文字の大きさと比べても分かるように、小さめのサイズとなっています。
そこで、例えば、"6"に変えると下のプレビュー画面のような大きさに変わります。
![]() |
| "6"の時のQRコード |
住所データの1行目に対して、"タイプ"を"メモリー"とし、その選択肢としては"テキスト・メモリー"を指定したゾーン(ここでは、"QRM1"というゾーン名)を定義します。
メモリー・ゾーンは、MapDraw の画面上は、ピンク色で表示されます。メモリーするだけですから、この段階ではプレビューしても、何も表示されません。
その下の行の住所情報に対しても同様に、"QR2M"と名づけたメモリー・ゾーンを定義します。
4. 以上で準備が整いましたので、QRコードを表示するためのゾーンを定義します。ポイントは、次の2点です。
![]() |
| QRコードのゾーンの定義 |
- "ゾーンの後に追加する文字"欄に、"[[QRM1]][[QRM2]]"と指定すること(大括弧2つで囲んだメモリー・ゾーンの文字列を連結して、QRコードにするデータとして扱うためです。)
MapDraw の画面は、次のようになり、プレ
![]() |
| MapDraw MapF画面 |
この画面を携帯電話等で読み取ってみると、2行の住所情報をデータとして、QRコードができていることが確認できます。
この後、PDF ファイルを生成したり、PCL形式の印刷データを生成して印刷するという処理は、Mapping Suite 共通の手順になります。
![]() |
| MapDraw プレビュー画面 |
2016年5月22日日曜日
連続用紙への印刷から、カット紙への印刷に移行する -第10回 事前印刷用紙からの移行-
10. その後、他のデータの配置も同様の手順で完了したら、"プロジェクトの生成"を行って、設計した結果を、AS/400 の IFS 上にある、Mapping 既定のフォルダー(\mapping\docpc)に保存します。
MapDraw の"ホーム"タブの画面にある"プロジェクトを生成する"アイコンをクリックすると、次のよ
うな画面が現れます。
Mapping での"プロジェクト"は、データの配置の情報を保存する"*.mpi"ファイル、オーバーレイの情報を保存する"*.mpw"ファイル、そしてその両者を合わせる"*.mpp"ファイルという3つのファイルからできています。
初めて"プロジェクトを生成する"時には、デフォルトで、ファイル名は"フォーマット名シーケンス番号.mp*"になります。これは、もちろん任意に変更して構いませんが、これら3つのファイルでは同じにしないとなりません。
左下の画面では、保存場所が、C ドライブになっていますが、実際には、Z など、IFSに割り振られたネットワーク・ドライブになります。
11. "OK"ボタンを押すと、次の画面が表示されます。ここの"印刷の設定"欄の"言語"とは、
AS/400 上でMappingに生成させたいデータの形式を表わしますが、この段階では、デフォルトの"XPS"のままとします。
"OK"ボタンを押すと、その下のような"生成レポート"画面が表示されます。画面上、赤色のマークの"エラー"が表示されなければ、完了です。
12. "1. 送り状"、"2. 貨物受取書"、"3. 発店控(入力票)"を載せた1枚目の設計が完了しましたので、それを使ってもう1枚の"4. 着店控"、"5. 配達受領票"、"6. 送り状(荷受人様控)"を設計します。罫線や固定文字は、ほぼ同一であることから、先ほど生成した1枚目のプロジェクトを使って、2枚目のプロジェクトを作ります。
そこで、"プロジェクトの生成"が完了した画面の状態のまま、MapDraw の"プロパティ"タブの"プロジェクトのプロパティ"アイコンを押します。表示された画面で、"シーケンス"のみを"00020"に変更して"OK"ボタンを押します。
1つのスプールに対して、複数(ここでは2種類)のフォーマットを適用する場合には、
- フォーマット名は共通
- シーケンスのみ、それぞれ別の値とする
ことが重要です。これは、AS/400 上で Mapping が PDF ファイルや、PCL 形式のデータを生成する際のコマンドのパラメーターを指定するために、必要になってくるものだからです。
13. この段階で、一旦、プロジェクトの生成を行なってしまいます。もちろん、2枚目用に設計変更し
た後で生成しても良いのですが、別ファイル名で保存することを忘れないように、この時点で別名保存してしまいます。手順"10"で行なったように、"プロジェクトを生成する"アイコンをクリックすると次の画面が現れますが、ファイル名は初めに保存したファイル名のままなので、各ファイル名の"00010"を"00020"に変えるようにします。
保存できれば、1枚目の設計を壊すことなく、安心して2枚目用の変更を行えます。
MapDraw の"ホーム"タブの画面にある"プロジェクトを生成する"アイコンをクリックすると、次のよ
![]() |
| プロジェクトを生成するアイコン |
Mapping での"プロジェクト"は、データの配置の情報を保存する"*.mpi"ファイル、オーバーレイの情報を保存する"*.mpw"ファイル、そしてその両者を合わせる"*.mpp"ファイルという3つのファイルからできています。
初めて"プロジェクトを生成する"時には、デフォルトで、ファイル名は"フォーマット名シーケンス番号.mp*"になります。これは、もちろん任意に変更して構いませんが、これら3つのファイルでは同じにしないとなりません。
![]() |
| プロジェクト・ファイル名の指定 |
11. "OK"ボタンを押すと、次の画面が表示されます。ここの"印刷の設定"欄の"言語"とは、
![]() |
| 生成の設定画面 |
"OK"ボタンを押すと、その下のような"生成レポート"画面が表示されます。画面上、赤色のマークの"エラー"が表示されなければ、完了です。
![]() |
| 生成レポート画面 |
12. "1. 送り状"、"2. 貨物受取書"、"3. 発店控(入力票)"を載せた1枚目の設計が完了しましたので、それを使ってもう1枚の"4. 着店控"、"5. 配達受領票"、"6. 送り状(荷受人様控)"を設計します。罫線や固定文字は、ほぼ同一であることから、先ほど生成した1枚目のプロジェクトを使って、2枚目のプロジェクトを作ります。
![]() |
| シーケンスを00020に変更 |
1つのスプールに対して、複数(ここでは2種類)のフォーマットを適用する場合には、
- フォーマット名は共通
- シーケンスのみ、それぞれ別の値とする
ことが重要です。これは、AS/400 上で Mapping が PDF ファイルや、PCL 形式のデータを生成する際のコマンドのパラメーターを指定するために、必要になってくるものだからです。
13. この段階で、一旦、プロジェクトの生成を行なってしまいます。もちろん、2枚目用に設計変更し
![]() |
| ファイル名の変更とプロジェクトの保存 |
保存できれば、1枚目の設計を壊すことなく、安心して2枚目用の変更を行えます。
2016年1月25日月曜日
バーコードの印刷方法 - 第5回 もっと柔軟な方法 - Mapping Suite の場合-3
この後は、Mapping Suite自体の説明になってしまいますが、最終的に印刷するまでの流れをご紹介します。
「表紙」と「明細」ページの設計ができたら、スプールの1ページ目には「表紙」、2ページ目以降は「明細」が適用さるかの確認は、同じ"MapDraw"の「マルチ・プレビュー」機能を使うとチェックできます。即ち、画面上の「マルチ・プレビュー」ボタンを押してから、画面右半分に表示されているスプールのページを1ページ目から進めていくにつれ、画面左半分のプレビュー画面が正しく切り替わるかで確認します。
その結果が正しいことが確認できれば、PCL モードを持ったプリンターに印刷する場合には、「プロジェクトの生成」、あるいは、PDFを生成してそれを印刷したり保管したりする場合には、「プロジェクトの生成」と「プロジェクトの関連付け」を行って、AS/400上の"IFS"にある"Mapping"指定のフォルダー"docpc"フォルダーの下に、プロジェクト・ファイルを保管します。
次に、保管されたファイルを、OS/400 のオブジェクトに変換するために、OS/400 上のMappingのメイン・メニューの中「MapDraw フォーマットの取り込み」を行ないます。
これで準備ができました。
< PCL モードのプリンターに印刷する場合 >
Mappingは、OS/400 上で、PCL 形式の印刷データを生成し、それを宛先プリンターの OUTQ に送信して直接印刷させることができます。
コマンドは"MAPCPYSPLF"で、指定するパラメーターは次のとおりです。
1. 対象となるスプール・ファイルを特定するための値、Spooled file(ファイル名)、Spooled file number(ファイル番号)、Job name(ジョブ名)、Job number(ジョブ番号)、User(ユーザー名)
2. 適用するMappingのフォーマットの値、Mapping Format(フォーマット名)、Sequence(シーケンス番号、サンプルのように「表紙」と「明細」を条件に応じて適用する場合には、*MRGを指定します。)
3. 送信先のPCLモードのプリンターのOUTQ(Ouput queue)と、そのライブラリー(Library)
4. コード・ページ(日本語のスプールの場合、半角カナか半角英小文字を指定するため、290は1027を指定)
以上の値を指定して「実行」すると、PCL モードのプリンターから印刷されます。開始ページや終了ページ、部数等の指定も一緒に行えます。その他にもPJL コマンドを付加して「両面印刷」等のプリンターの制御も可能ですが、そのお話は別の機会に譲ります。
< PDF ファイルを生成する場合 >
PDF ファイルを生成するコマンドは、"MAPSPLPDF"で、指定するパラメーターは次のとおりです。
1. 対象となるスプール・ファイルを特定するための値、Spooled file(ファイル名)、Spooled file number(ファイル番号)、Job name(ジョブ名)、Job number(ジョブ番号)、User(ユーザー名)
2. 適用するMappingのフォーマットの値、Mapping Format(フォーマット名)、Sequence(シーケンス番号、サンプルのように「表紙」と「明細」を条件に応じて適用する場合には、*MRGを指定します。)
3. PDF ファイルのファイル名(Name of this file)と、保管フォルダー(Path of the file)
ファイル名は、英数文字の他に日本語も使用可能です。保管フォルダーは、IFS 上になります。
4. コード・ページ(日本語のスプールの場合、半角カナか半角英小文字を指定するため、290は1027を指定)
< PDF ファイルを印刷する場合 >
PDF ダイレクト印刷機能を持ったプリンターや、Windows ドライバーを使った印刷を行なう場合には、PDF ファイル生成後に、"MAPIFS2PRT"コマンドを使って、それらのプリンターの OUTQ に印刷データを送信します。指定するパラメーターは次のとおりです。
1. 印刷するPDF ファイルの保管場所とファイル名(File to insert)
2. 送信されるスプール・ファイル名(Spooled file、これは任意の名前で構いません。)
3. 送信先のプリンターのOUTQ(Ouput queue)と、そのライブラリー(Library)
以上ですが、追加のパラメーターで指定できる"Insert this file before"と"Insert this file after"に、IFS上に保管した、PJL コマンドの開始用のファイルと終了用のファイルを指定すると、PDF ダイレクト印刷機能を持ったプリンターの場合は、両面印刷等のプリンターの制御ができます。
以上のコマンドを実運用の中に組み込むことによって、日常運用としてはMappingを意識することなく、印刷したり、PDF ファイルを保存したりすることになりますが、その具体的なお話は、Mapping Suite のご紹介の回に詳しくしたいと思います。
「表紙」と「明細」ページの設計ができたら、スプールの1ページ目には「表紙」、2ページ目以降は「明細」が適用さるかの確認は、同じ"MapDraw"の「マルチ・プレビュー」機能を使うとチェックできます。即ち、画面上の「マルチ・プレビュー」ボタンを押してから、画面右半分に表示されているスプールのページを1ページ目から進めていくにつれ、画面左半分のプレビュー画面が正しく切り替わるかで確認します。
その結果が正しいことが確認できれば、PCL モードを持ったプリンターに印刷する場合には、「プロジェクトの生成」、あるいは、PDFを生成してそれを印刷したり保管したりする場合には、「プロジェクトの生成」と「プロジェクトの関連付け」を行って、AS/400上の"IFS"にある"Mapping"指定のフォルダー"docpc"フォルダーの下に、プロジェクト・ファイルを保管します。
次に、保管されたファイルを、OS/400 のオブジェクトに変換するために、OS/400 上のMappingのメイン・メニューの中「MapDraw フォーマットの取り込み」を行ないます。
![]() |
| Mapping メイン・メニュー |
< PCL モードのプリンターに印刷する場合 >
Mappingは、OS/400 上で、PCL 形式の印刷データを生成し、それを宛先プリンターの OUTQ に送信して直接印刷させることができます。
コマンドは"MAPCPYSPLF"で、指定するパラメーターは次のとおりです。
1. 対象となるスプール・ファイルを特定するための値、Spooled file(ファイル名)、Spooled file number(ファイル番号)、Job name(ジョブ名)、Job number(ジョブ番号)、User(ユーザー名)
![]() |
| MAPCPYSPLFコマンド画面 |
3. 送信先のPCLモードのプリンターのOUTQ(Ouput queue)と、そのライブラリー(Library)
4. コード・ページ(日本語のスプールの場合、半角カナか半角英小文字を指定するため、290は1027を指定)
以上の値を指定して「実行」すると、PCL モードのプリンターから印刷されます。開始ページや終了ページ、部数等の指定も一緒に行えます。その他にもPJL コマンドを付加して「両面印刷」等のプリンターの制御も可能ですが、そのお話は別の機会に譲ります。
< PDF ファイルを生成する場合 >
PDF ファイルを生成するコマンドは、"MAPSPLPDF"で、指定するパラメーターは次のとおりです。
![]() |
| MAPSPLPDFコマンド画面 |
1. 対象となるスプール・ファイルを特定するための値、Spooled file(ファイル名)、Spooled file number(ファイル番号)、Job name(ジョブ名)、Job number(ジョブ番号)、User(ユーザー名)
2. 適用するMappingのフォーマットの値、Mapping Format(フォーマット名)、Sequence(シーケンス番号、サンプルのように「表紙」と「明細」を条件に応じて適用する場合には、*MRGを指定します。)
3. PDF ファイルのファイル名(Name of this file)と、保管フォルダー(Path of the file)
ファイル名は、英数文字の他に日本語も使用可能です。保管フォルダーは、IFS 上になります。
4. コード・ページ(日本語のスプールの場合、半角カナか半角英小文字を指定するため、290は1027を指定)
< PDF ファイルを印刷する場合 >
![]() |
| MAPIFS2PRTコマンド画面-2 |
![]() |
| MAPIFS2PRTコマンド画面-1 |
2. 送信されるスプール・ファイル名(Spooled file、これは任意の名前で構いません。)
3. 送信先のプリンターのOUTQ(Ouput queue)と、そのライブラリー(Library)
以上ですが、追加のパラメーターで指定できる"Insert this file before"と"Insert this file after"に、IFS上に保管した、PJL コマンドの開始用のファイルと終了用のファイルを指定すると、PDF ダイレクト印刷機能を持ったプリンターの場合は、両面印刷等のプリンターの制御ができます。
以上のコマンドを実運用の中に組み込むことによって、日常運用としてはMappingを意識することなく、印刷したり、PDF ファイルを保存したりすることになりますが、その具体的なお話は、Mapping Suite のご紹介の回に詳しくしたいと思います。
2015年8月26日水曜日
HPT機能を使った印刷 - リモートOUTQの作成 -
今回は、先ず、LPR 印刷に相当するリモートOUTQからの印刷のために、リモートOUTQを実際に画面を追いながら作っていきます。サンプルとして、OS/400 V7R1 上で、PAGES モードのレーザー・プリンターへの直接印刷用のリモートOUTQ を作ります。
![]() |
| CRTOUTQ初めの画面 |
![]() |
| リモート・システムと待ち行列の指定 |
- 5250 端末画面で、"CRTOUTQ"というコマンドを実行します。左の画面は"QUSRSYS"というライブラリーに、"IP1000J"というリモートOUTQを作成する場合のサンプル画面です。それらの指定は任意ですが、"リモート・システム"には、必ず"*INTNETADR"を入力して実行キーを押します。(F4 キーを押すと、"*INTNETADR"以外にも選択肢が表示されます。)
- そうすると、"リモート印刷装置待ち行列"欄以下が表示されますので、そこに、宛先プリンターのLANカード固有の値を入力します。画面の"lp"(半角小文字)は、通常、多くのレーザー・プリンターや複合機用に使用できるようです。(Windowsの場合の、Standard TCP/IPポートのパラメーターである「キュー名」が、これに該当します。)
- 次のページでは、"接続タイプ"には、必ず"*IP"を、"宛先タイプ"には、必ず"*OTHER"を指定します。"ホスト印刷の変換"はデフォルトの"*YES"になっていると思いますので、カーソルをここへ移動して実行キーを押すと、追加のパラメーターが表示されます。
- ここで、次に表示される"メーカー・タイプ及び型式"で、印刷データをどのプリンターのモードに変換するかを指定します。プリンター・セッション経由の印刷では、PDT の選択に該当するわけです。F4 キーを押すと実に多くの選択肢が表示されますが、ここでは、PAGES モードのプリンター用として、2番目の画面に出てくる"*IBMPAGES300"を選択します。
![]() |
| *IBMPAGES300を指定 |
- 同じ画面に"*IBM5575"があります。5577 モードに変換するには、これを選択します。("*IBM5575AMOV"は、テストしたことがありません。)
- PAGES と名前が付いた選択肢が他にもありますが、今までの実績では"*IBMPAGES300"がお勧めです。
- 他に日本語の印刷に対応した選択肢としては、"*CANLIPS3"があり、これは CANON 社のレーザー・プリンター用ですが、これもテストはしたことがありません。
![]() |
| CANON LIP3用の指定 |
- もう一つは、"*ESCPDBCS"です。これは、ESC/P モードのインパクト・プリンター用ですが、これもテストはしたことがありません。
- インパクト・プリンター用としては、他に、NEC 社プリンター用として"*NECPCPR201"がありますが、今後の修正は無いことが IBM 社のサイトに記載されています。
- PCL モードのレーザー・プリンター用として、"*HP"で始まる名前のものが多数あります。このモードで日本語を印刷するには、プリンターには日本語用の内蔵フォントがありませんので、OS/400 からフォント・イメージを持った印刷データを送信する必要があります。(HP 社のレーザー・プリンターは日本語内蔵フォントを持っているようですが。) しかし、OS/400 自身もそのままでは日本語フォントのイメージを持っていませんので、AFP プリンター用のフォント・ライセンスを購入(導入)していただき、そのフォントを使用するように指定する必要が出てきます。
![]() |
| ESC/P用の指定 |
登録:
投稿 (Atom)


















































