始めの言葉

「プリンターから印刷できて当たり前」と、ユーザーからもSIerからも軽視されがちなプリンターの世界ですが、実際にはお困りだったり、思ったような印刷結果が得られないまま我慢してお使いの皆様のために、今までの経験が役立てばと、このブログを立ち上げました。印刷の基本から、応用情報、問題の解決方法を情報発信すると共に、PDF化など、これからどうするかについても、ご相談に乗れれば幸いです。ご質問はコメントでお寄せください。

2016年4月17日日曜日

連続用紙への印刷から、カット紙への印刷に移行する -第6回 事前印刷用紙からの移行-

10年以上前から、ドット・プリンターやライン・プリンター等のインパクト方式のプリンターは、レーザー・プリンターや複合機等の高速、かつ音の小さなプリンターに置き換わることによって、無くなっていくと言われ続けてきました。その傾向は今も続いていますが、継続して使用されるケースも多くあります。
その理由は、
- お客様(取引先)が、複写式の帳票を指定している。(例 : 請求書、納品書)
- プリンターで印刷した複写伝票が製品や部品と一緒に人から人に伝わっていく間に、手書きの情報(サイン等)が書き込まれたり、1枚ずつ剥がされて、それが部署毎に使用されるというような業務の流れとなっている。(例 : 配送伝票、工場内で使用する生産指示書)
- カット紙化することで、かえってコスト・アップになることが見込まれる。
など、様々です。
複写式であれ無かれ、事前印刷された用紙では、罫線やタイトル、会社の角印は、カラーで印刷されていて、ユーザーは、その色で、どの種類の伝票かを見分けているというケースが多くあります。
事前印刷用紙の例-チェーンストア統一伝票

左のイメージは、標準的な「チェーンストア統一伝票」を、1枚ずつ剥がして、縦に並べたものですが、1枚ずつ事前印刷部分の色が異なっていて、色で見分けがつくようになっています。
それらをカット紙に移行する場合に、カット紙にも同様に事前印刷するのでは、コスト面のメリットが出にくいだけでなく、カット紙用プリンターの印刷位置の精度を考慮すると、現実的とは言えません。
従って、通常は、白紙のカット紙に印刷することを前提とすることになります。
そうなると、カット紙化を検討する際には、カラー印刷の対応方法を考える必要が出てきます。
具体的には、次のように考えてみては如何でしょうか?




1. カラーで印刷する必要がある部分の面積は、所詮限られている。今までどおりの使用感をユーザーに提供するためにも、同じイメージになるように、そのままカラー・プリンターで印刷する。
-> あるお客様では、このように考えて移行したところ、インク・リボン代に比べて、カラー・トナー代は高くなったものの、プリンターの保守契約費用、用紙代を削減できた他に、ユーザーが、各種の連続用紙の伝票を架け替えて印刷していた手間が不要になって、全体的には大幅なコスト削減ができたと判断されたケースがあります。

2. カラー・トナーは高いので、モノクロ印刷としたい。しかし、ユーザーの使い勝手を考えて、事前印刷と近い色の付いた市販のカット紙を使用する。
-> この場合、モノクロ印刷用のトナー代は安価ですし、薄い緑色や青色などの色の付いたカット紙は市販品がありますので、コストの削減が可能なことは明らかです
ただ、プリンターに複数の用紙トレイが付いていて、用紙トレイ毎に、同じA4サイズでも、異なる色の用紙をセットするという運用が必要になります。そのために、帳票毎に印刷する際の用紙トレイが特定されるような仕組みにしておく必要があります。

3. 移行を切っ掛けにして、モノクロ印刷に切り替えてしまう。
-> 罫線やタイトルの文字など、今までカラー印刷されていた部分は、グレーで印刷するようにすれば、データ部分との違いが分かりやすいので、社内用の伝票なら、これで十分と割り切ってしまうという考え方です。
こうすれば、上の2. のような運用上や、プログラム上の考慮も不要です。社内伝票でしたら、ユーザーにはモノクロ印刷に慣れていただくという前提で、移行することは可能かと思います。

では、1. のケースにおいて、-第1回 基本の考え方- と同様に1年間でどの程度のコスト削減が可能かを試算してみます。

<現行の印刷の前提条件>
- 現行のプリンター : 5400-L06 ライン・プリンター
- 印刷枚数 : 4,000ページ/月(5400-L06 の想定月間印刷枚数の1/3)
<現行の年間のコスト>
- プリンターの保守契約料金 : 223,200 円/年
- インク・リボン代 : 1.1 円/枚
- 複写用紙代 : 5円/ページ
223,200 + (1.1 + 5) x 4,000 x 12 = 516,000 円/年

<移行後の印刷の前提条件>
- カット紙に移行後のカラー・プリンター : リコーSP C830(印刷速度 : 50ページ/分)
<移行後の年間のコスト(用紙代を除く)>
- プリンターの保守契約料金 :54,400 円/年(サービス・パック5年の価格から算出)
- 消耗品代 : 8 円/枚
- カット紙代 : 1円/枚
54,400 + (8 +1) x 4,000 x 12 = 486,400 円/年

用紙代も含めて試算すると、年間、約30,000円のコスト削減が見込まれることが分かります。これ以外に、用紙の架け替えの手間や、事前印刷用紙の在庫の管理といった見えないコストの削減も期待できます。
次回以降では、どのようにしたら移行できるかをお話します。

2016年4月10日日曜日

連続用紙への印刷から、カット紙への印刷に移行する -第5回 縮小して両面印刷する-

連続用紙からカット紙に移行する時に、両面印刷に変えると印刷枚数が半分となり、用紙コストを更に削減できます。しかし、連続用紙は用紙が繋がっているのに対して、カット紙は印刷後の用紙の取り扱いに注意しないと、用紙の順番がバラバラになってしまう危険性があります。
そこで、複合機や50枚/分以上の印刷速度を持つプリンターでは、オプションとして用意されている後処理機構を追加すると、印刷直後に自動的にステープル止めを行ない、用紙がバラバラになるのを防ぐことができます。
(もちろん、このオプションを使わなくても手動でステープル止めは可能ですが、手動では、それまでの間に用紙をバラバラにしてしまうリスクは残ります。)
両面印刷した後、左上隅の1箇所や、左辺の2箇所にステープル止めするとした場合、奇数ページは左余白を、偶数ページでは右余白を大きめに設定しておく必要があります。
左右の余白が異なる両面印刷のイメージ
今までお話した PCOMM プリンター・セッション経由の印刷や、HPT 機能を使った印刷、5400エミュレーターII を使った Telnet5250E 接続の印刷では、印刷データ全体に対して余白の値を設定することはできますが、奇数ページと偶数ページで余白の値を変えることはできません。そのため、左余白の値も右余白の値も、同じ大きめな値に設定することになります。
第3回 キャラクター・モードを使った縮小印刷指定でお話した、"キャラクター・モード"を使って奇数ページと偶数ページで異なる値の余白を設定するコマンドを、ページ毎に発行すれば実現できますが、そのためのプログラムは大変です。
しかし、前回ご紹介した"MappingSuite"を使えば、簡単に実現できます。
1. "MapDraw"で新規作成を指定する表示されるフォーマットの定義の画面で、"片面/両面"に"両面(短辺)"を、"片面""両面"に"Portrait"を、"フォーマット名"に"SHUKUSHOH2"を指定します。
MapDraw両面印刷用プロジェクトの定義
(他の値は前回と同じです。)
A4 横長で、短辺側を綴じる場合の設定です。長辺で綴じる場合には、"両面(長辺)"を指定します。










2. 両面の指定を行ったことにより、前面設計用の"DrawF""MapF"("F"は"Front"の意味)の他に、裏面設計用の"DrawB""MapB"("B"は"Back"の意味)の画面が選択できるようになります。また、どちらかの画面で、横132桁、縦66行のスプール・データを取り込むと、もう片方の画面でも、同じスプール・データが表示されます。
MapDraw両面毎に設計可能な画面














3. 次は前回と同様にして、縦66行のグループ、そしてその中に横132桁を指定したゾーンを作成します。ここでのポイントは、前面設計の画面(MapF)では、ゾーンの中の文字の配置は"左揃え"とすること、ゾーンの左端の位置を、奇数ページの左余白の値と合わせることです。
MapDraw前面の設計














4. そして、裏面設計の画面(MapB)では、同じ縦66行のグループの中に、横132桁ですが、文字の配置は"右揃え"とし、右余白の値を前面の左余白の値と同じ値に合わせたゾーンを作成します。
MapDraw裏面の設計














5. この設計をそれぞれ奇数ページと偶数ページに適用するために、条件付けを行ないます。"プロジェクト"タブの"プロジェクトのプロパティ"ボタンを押して表示される画面の"表面"タブの画面では、"Page""Page 1 of 2"と設定します。
MapDraw奇数ページ用の条件付け













6. "裏面"タブの画面では、"Page""Page 2 of 2"と設定します。
MapDraw偶数ページ用の条件付け

7. ここまでの設計の確認には、"マルチ・プレビュー"ボタンを押して、スプール・データのページをめくっていくと、奇数ページと偶数ページでそれぞれ左右余白が一致するかを確認します。
MapDrawマルチ・プレビュー

設計は以上になります。この後、プロジェクトの生成->プロジェクトの関連付け->MapDrawフォーマットの取り込みの手順は、今までお話したとおりです。
このような帳票設計ツールを使うことによって、コマンドの指定では困難な帳票の印刷が簡単に実現できることをご理解いただけたかと思います。

2016年4月3日日曜日

連続用紙への印刷から、カット紙への印刷に移行する -第4回 MappingSuiteを使った縮小印刷-

今までは、PAGES モードを持ったプリンターを前提に、縮小印刷するための方法をお話してきました。今回は、プリンターを限定しない方法として、以前、バーコード印刷の方法でご紹介した、MappingSuite(以降、Mapping)を使用する方法をご紹介します。
基本的な考え方は、先ず、縮小印刷の対象となるスプールに対して、Mapping が OS/400 上で縮小印刷結果そのものの PDF ファイルを生成します。
次に、それを PDF ダイレクト印刷可能なプリンターに、OUTQを通して直接印刷する、若しくは、PC 上の MVP(Mapping Virtual Printer) に送信すると、自動的に Adobe Reader とプリンター・ドライバーを使って印刷するというものです。

そのための準備として、帳票設計ツールである"MapDraw"を使って、縮小印刷のための帳票設計を行ないます。ここでは、15インチx11インチ・サイズの連続用紙に印刷していた、横 132桁、縦 66行のデータを、A4 サイズ、横長に縮小するための設計を行ないます。
1. "MapDraw"で新規作成を指定すると、次のようなフォーマットの定義を行う画面が表示されます。"ページ・サイズ"に"A4"、"向き"は"Landscape"(Landscape は、風景画の意味で、通常、風景画は横長です。これはプリンター業界共通の用語です。ちなみに、縦長は"Portrait"、肖像画です)、"フォーマット名"は"SHUKUSHOH"とします。
MapDrawプロジェクトの定義画面














2. 横132桁、縦66行のスプール・データをMapDraw上に取り込みます。罫線や固定文字等のオーバーレイを必要としない、単なる縮小印刷であれば、スプール・データの配置を決める"MapF"画面表示に切り替えます。
スプール・データの取り込み














3. 左側の"MapF"画面上では、初めに、"1行目から66行目までを繰り返す"という意味の"グループ(g1)"を定義します。なお、上余白は、"グループ"の上端とその下の線とで調整するのですが、それは後の全体の位置調整の時に行ないます。
グループの作成









4. "グループ"で定義した繰り返しの対象となる"ゾーン"を定義します。"グループ"の中に、スプール・データの"1桁目から132桁目"を"文字"で表示するという定義の"ゾーン"を作成します。
ゾーンの定義-桁とタイプ










5. "ゾーンのプロパティ"画面で、"フォントとスタイル"タブを選択すると、フォントの種類やサイズ、そして文字ピッチを指定することができます。ここでは、フォントの種類に"MSゴシック"、サイズに"9ポイント"、文字ピッチの値に"23"を指定しました。
ゾーンの定義-フォントと文字ピッチ











6. 更に"条件"のタブを選択すると、"間隔"欄で、行間隔、つまり行ピッチを指定できます。ここでは、値は"29.63"、その単位は"1/10mm"を指定しています。これは"2.963mm"を表わしています。(細かい数値になっていますが、実際に選択できるのは、0.1mm単位です。)
ゾーンの定義-行間隔











7. ここまでの設計の結果をプレビューの画面で確認すると、次の画面イメージのようになり、A4 サイズ横長に縮小されたイメージの設計ができたことを確認できます。もちろん、ここで指定したフォント・サイズや文字ピッチ、行間隔は、プレビュー画面で確認しながら何度か調整した結果で、初めからこれらの値を1回で決められた訳ではありません。
プレビュー画面











8. ここで、Mappingを使うことのメリットは、上や左の余白を、"MapDraw"のプレビュー画面上で結果を確認しながら、微妙に調整できる点です。特に左余白は、"ゾーン"の定義で、文字の配置がデフォルトの左寄せの場合は、ゾーンの左端の位置をマウスを使って、あるいは、X 座標の値を直接入力することで、調節できます。前回までお話した PAGES モードのプリンターにコマンドを送信して指定する方式では、左余白の値を予め決めて、それを元に換算する手間が掛かりましたし、その結果を確認するには、実際に印刷してみないと分かりませんでした。この点は大きな違いと思います。
ゾーンの左端の位置
1桁目の位置 = 左余白

9. 後は、バーコードの印刷方法 - 第5回 もっと柔軟な方法 - Mapping Suite の場合-3 でお話した手順で、PDF ファイルの生成や、その印刷します。もちろん、日々の業務で自動実行するためには、PDF ファイルの生成や自動印刷のコマンドを、既存の CL たRPG プログラムの中に取り込む、若しくは、Mapping の標準機能である ROBOT を設定することが必要ですが、それらについては、Mapping 自体のお話しの機会にご説明します。

次回は、補足として、MapDraw の機能を活用した、"両面印刷"を意識した設計のお話をします。

2016年3月27日日曜日

連続用紙への印刷から、カット紙への印刷に移行する -第3回 キャラクター・モードを使った縮小印刷指定-

3. 印刷データの先頭に、縮小率や用紙方向、余白の値等を指定するコマンドを付加してプリンターに送信する方法があります。
この方法を使えば、ユーザーは、単に印刷指示するだけで、望みの設定で印刷結果を得られますから、ユーザーから見れば最も望ましい方式と言えます。
一方、システムの担当者から見れば、そのようなコマンドを付加して印刷データを生成するように、プログラムの修正が必要になりますので、その点では、最も手間の掛かる方式ということになります。
OS/400 の世界で標準の SCS というコマンド体系の中には、縮小等、これらのコマンドが元々ありません。SCS というコマンド体系ができた時には、そのような機能を持ったカット紙対応のレーザーが無かったことが原因と思われます。
そこで、プリンター側では持っている、PAGES モードの中にある縮小等のコマンドを、どうやって OS/400 上のプログラムから送信するかという課題を解決する必要が出てきます。
PAGES モードのプリンターで考え出された方法が、"キャラクター・モード"と呼ぶものです。
キャラクター・モードについては、バーコードの印刷方法 - 第2回 コマンドを使う、もう一別の方法 - の回で簡単にご紹介していますが、ここではもう少し詳しくお話します。
PAGES設定の中のキャラクター・モード設定

キャラクター・モードの基本的な考え方は、OS/400 上のプログラムの中では、あくまでも文字データとして扱われるが、それが、対応するプリンターに届くと、プリンターの中ではコマンドとして扱われるというものです。
それを実現するために
1. 先頭に"&$%$"という、通常のデータとしてはあり得ないような4文字を付ける。これを受信したデータは、キャラクター・モードが始まったと認識します。
2. 次に、後続のデータの内、何バイトの文字をコマンドとして扱うのかを知らせるための、バイト数を送ります。
3. その後ろに、実際に送りたい PAGES のコマンドを指定します。
という構造になっています。

キャラクター・モードの特徴と注意点は、次のとおりです。
1. 16進データではなく、文字データとして扱いますので、5250端末画面でスプールを表示した時に、指定したバイト数やコマンドが、そのまま文字として表示されますので、デバッグし易くなります。また、そのままプリンターに印刷させることによってもデバッグになります。
2. 文字データである限り、実際には文字として印刷されることはありませんが、ページの中の場所を取りますので、ページの中のどの場所に配置するかを考慮する必要があります。言い方を変えると、"Current Print Position"(現在の印字位置、ドット・プリンターでは印字ヘッドが印刷のために移動して、現在いる場所)は、キャラクター・モードのデータ分は移動しているということを忘れてはいけないということです。
3. キャラクター・モード開始を示す4文字には、"&$%$"の他に"$?!#"という組み合わせもあります。プリンターの初期設定のデフォルトは、"Off"になっていて、この設定をどちらかの組み合わせに変更することで、有効になります。どちらか一方しか指定できませんので、キャラクター・モードを使ってコマンドを送信するためにプログラムを編集する際には、初期設定と合わせた文字列に統一します。

では、A4用紙に横長で、縦横75%に縮小して印刷するためのコマンドをサンプルに、キャラクター・モードを使って、どのようにデータを送るかをご説明します。
1. 開始の文字列は、"&$%$"とします。
2. 送りたいコマンドは、次のコマンドでこの順番に並べることが重要です。
1B 7E 46 00 05 00 00 13 00 00       /* A4指定自動選択       */
1B 7E 51 00 01 01                       /* 縦・横75%     */
1B 7E 50 00 01 03                        /* 左下 270度回転 横長  */
3. 次にコマンドのバイト数を数えますが、2文字で1バイトになりますから、
10バイト(A4指定) + 6バイト(75%縮小) + 6バイト(横長) = 22バイト
22を16進数に変換すると、"x16" になりますから、キャラクター・モードで送る文字データとしては、全体で次のようになります。
&$%$00161B7E46000500001300001B7E510001011B7E50000103
この文字列を、印刷データの先頭に配置するように、プログラムを編集します。

2016年3月21日月曜日

連続用紙への印刷から、カット紙への印刷に移行する -第2回 単純な縮小印刷-

連続用紙に印刷していたデータを、カット紙にそのまま縮小印刷する方法は、3つ考えられます。それぞれ設定方法が異なり、それに応じて運用する場合の操作方法が異なってきますので、どの方法を採用するかは、準備の手間と、エンド・ユーザーの意見を併せて検討して、決める必要があります。ここでは、カット紙を印刷するプリンターは、InfoPrint1000J等の、PAGESモードのプリンターを前提とします。
また、AS/400 からは、PCOMMのプリンター・セッションを使用したPDT印刷か、HPT機能を使用した LAN 直結印刷を想定しています。(5400エミュレーターIIを使用した Telnet5250E 接続の場合には、今までお話したように、5400エミュレーターIIで縮小設定を行うのが良いと思います。)
PAGES印刷条件の例

1. プリンターの初期設定で縮小印刷を指定する方法
これは、プリンターの"PAGES印刷条件"という初期設定メニューの中で、
- 用紙方向 : 縦/横
- 縮小率 : 連続用紙(15"x11")->A4/B4、縦横同じ比率で50%まで1%刻み
- 余白 : 長さを上下左右独立して指定
- 両面印刷 : する/しない、する場合には長辺綴じか短辺綴じの指定
といった各項目を、用紙トレイ毎に設定しておく方式です。
一度、操作パネル上で設定しておくだけで済みますので準備は簡単ですが、用紙トレイ毎にこれらの設定の組み合わせが異なる場合は、印刷する際に、別の方法で用紙トレイを指定しないとなりません。用紙トレイを指定するには、次にお話しする"2."や"3."の方法を採らざるを得ませんので、それであれば、縮小の指定も一緒に行う方が良いということになります。
そのように考えていくと、この方法は、用紙トレイの少ない場合にのみ有効な方法と言えると思いま
す。
もし、"2."や"3."の方法と併用したとしても、操作パネルでの初期設定は、プリンターの内部処理の優先順位が最も低くなっていますので、"2."や"3."の設定が有効となります。

2. PDT ファイルや、リモートOUTQの設定の中に縮小設定のコマンドを埋め込む方法
縮小設定や、余白の設定のための PAGES コマンドを、プリンター・セッション経由の場合は
プリンター・セッション経由の印刷 第2回 - PDFファイルの編集 -
の回でお話した方法で、HPT機能を使った LAN 直結印刷の場合には、
HPT機能を使った印刷 - WSCSTについて-
の回でお話した方法で埋め込むことで、指定することができます。
この場合、複数の設定の組み合わせ(縮小の比率や余白の値)があっても、1つ1つの設定の組み合わせに対応した OUTQ が作られることになりますので、ユーザーは、印刷先の OUTQ を切り替えることで、縮小の設定を切り替えて印刷するという運用を実現できます。
コマンドを埋め込む際の注意点は、
- 縮小率を指定するコマンドは、必ず、用紙トレイ指定のコマンドの後ろで指定すること
- バーコード・コマンドを使ったバーコード印刷のあるデータを縮小する際には、必ず、縦横同じ比率の縮小率を指定すること(連続用紙->A4/B4という縮小率の指定は、縦横の縮小率が異なるため、バーコードの位置や大きさが正しく印刷されません。)
この方法であれば、同じプリンターに対しても、ユーザーが印刷先に指定する OUTQ さえ正しく指定していれば、様々な種類の設定を切り替えて印刷させることができるというメリットがあります。

ユーザーによる OUTQ の切り替えも難しいような場合には、次の"キャラクター・モード"を使って、印刷データにコマンドを埋め込むという方法が有効になりますが、その説明は長くなりますので、次回に譲ります。
 

2016年3月13日日曜日

連続用紙への印刷から、カット紙への印刷に移行する -第1回 基本の考え方-

ライン・プリンターやドット・プリンターを使って行なっている連続用紙への印刷を、レーザー・プリンターを使った、A4サイズ等のカット紙への印刷に移行するケースは多くあります。数回に分けて、その考え方や注意点、具体的な方法についてお話ししたいと思います。
カット紙へ移行しようと考える時の動機としては、次のようなメリットが考えられます。
1. ライン・プリンターやドット・プリンターの廃止による維持費の削減
2. 印字品質の向上
3. 印刷速度の向上
これらの内、最も多いのが、コスト削減を目指した"1."になります。特に、既にレーザー・プリンターや複合機を使用している場合には、それらに AS/400 からの印刷も集約することで、設置場所や運用コストの効率化が期待できます。

ただし、その際には、次の点も併せて考慮する必要があります。
1. コスト削減の効果を出すためには、アプリケーションの変更を伴わず、若しくは最小限で実現できること
2. 印刷結果が、それを使用するユーザーからも受け入れられるものであること

連続用紙は、用紙の左右に並んだ送り穴を、プリンターのトラクターのピンが一つ一つずつ引っ掛けて用紙を送りますので、印字位置の精度は非常に高くなっています。そのため、事前印刷された金額欄の罫線に、3桁ずつぴったりと数字を印刷するといった使い方ができます。
その一方、レーザー・プリンターや複合機では、カット紙はゴム・ローラーを使って、摩擦で送られています。そのため、用紙の表面状態が温度や湿度の影響を受けることや、ゴム・ローラー自体の経年変化によって、印字位置の精度については、プラス/マイナス2mm程度は仕様として許容範囲となっています。その結果、カット紙に対して事前印刷して使用するケースは、非常に稀です。
連続用紙の印刷をカット紙化するイメージ

そこで、先ずは、最もカット紙化し易い、事前印刷の無い連続用紙への印刷を、カット紙に移行するケースを対象にお話します。
初めに、前提条件を設けて、コスト・メリットを試算してみます。

<現行の印刷の前提条件>
- 現行のプリンター : 5400-L06 ライン・プリンター
- 印刷枚数 : 4,000枚/月(5400-L06 の想定月間印刷枚数の1/3)
<現行の年間のコスト(用紙代を除く)>
- プリンターの保守契約料金 : 223,200 円/年
- インク・リボン代 : 1.1 円/枚
223,200 + 1.1 x 4,000 x 12 = 276,000 円/年

<移行後の印刷の前提条件>
- カット紙に移行後のプリンター : InfoPrint1756J(印刷速度 : 35ページ/分)
<移行後の年間のコスト(用紙代を除く)>
- プリンターの保守契約料金 :19,440 円/年(サービス・パック5年の価格から算出)
- 消耗品代 : 4.5 円/枚
19,440 + 4.5 x 4,000 x 12 = 235,440 円/年

月間印刷枚数が4,000枚の場合は、移行すると、年間約40,000円 のコスト削減になることが分かります。
計算式を比較すると、1枚当たりの消耗品代は高くなりますが、年間保守契約料金が大幅に下がることでメリットが出ていることが分かると思います。

では、どのようにしたら、移行できるかを次回以降でお話します。

2016年3月5日土曜日

LAN 直結で双方向通信する印刷方式"Telnet5250E" - 第5回 -

ライン・プリンターに始まって、ドット・プリンターに広がった"Telnet5250E"ですが、次にはレーザー・プリンターにも対応して欲しいというご要望が出てきました。レーザー・プリンターの場合、次のような印刷の制御にも対応しないとなりません。
- 給紙トレイ(用紙サイズ)の指定
- 用紙方向(縦長/横長)の指定
- 縮小率の指定
- 印刷開始位置(上と左の余白)指定
PAGES モードを持ったレーザー・プリンターの場合は、1つの給紙トレイに対して、これらの値をセットで操作パネル上で初期設定しておけば、印刷の度に給紙トレイを選択することで、希望通りの印刷はできます。
しかし、AS/400 からの印刷では、毎回手動で設定を変更するという方法は現実的ではなく、例えば、"プリンター・セッション経由の印刷 第2回 - PDFファイルの編集 -"の回でお話したように、これらの値のセットに対応した"OUTQ"を選択するという方式の方が望まれます。
そのために、レーザー・プリンターにも対応した"5400エミュレーターII"では、初めに2つのデバイスが登録できるようになりました。
つまり、5400エミュレーターIIが持っている設定用の"Webページ"上で、給紙トレイや用紙方向などの上記の値をプル・ダウン・メニューやラジオ・ボタンを使って指定し、1つの"デバイス"として登録させると、その設定に応じて印刷できる OUTQ が、OS/400 上に自動構成されるという仕組みです。この"デバイス"というセットが、初めは2つでしたがその後3つまで登録できるようになりました。
これは、1台の5400エミュレーターIIにおいて、3つまでの"Telnet5250E"のセッションをOS/400 との間で張っているということを意味しています。
デバイス設定の画面
プリンター・セッション経由の印刷や、HPT機能を使った印刷では、PAGESのコマンドを理解して、ユーザーが自分でPDFやWSCSTを編集する必要がありましたが、5400エミュレーターIIでは、Webページ上で簡単に設定できますので、PAGESのコマンドを理解する必要はありません。5400エミュレーターIIの中で、設定に応じたPAGESコマンドを印刷データに付加してプリンターに送信している訳です。
ただ、少し難しいのは、余白の値の設定方法です。元の PAGES コマンドでは、1/1440インチ単位の値を16進数で指定することになっていますので、この画面でもその値を入力する必要があります。例えば、10mmに設定したい場合には、次のような計算になります。
10 / 25.4 = 0.3937 インチ -> 0.3937 x 1440 = 567 (567/1440インチ) -> 567を16進数に変換 -> 237
10ではなく、237をセットすることで、余白の値は10mmになります。

5400エミュレーターIIがレーザー・プリンター向けに発行するコマンドは、PAGES になりますので、対応するレーザー・プリンターは、PAGES モードを持ち、なおかつパラレル・インターフェイスを持ったモデルになります。InfoPrint1000J シリーズの初代のモデルである InfoPrint13xx シリーズでは良かったのですが、次の世代の InfoPrint17xx シリーズになると、パラレル・インターフェイスの形状がハーフ・ピッチ36ピンと呼ばれる小型のものになりました。その結果、5400エミュレーターIIを取り付けるには、プリンターに付属のハーフ・ピッチ/フル・ピッチ変換アダプターを介することになるのですが、そうすると、5400エミュレーターII自体の重みによって少し垂れ下がったような状態となり、接触不良を起こす場合が出てきたのは、残念なことでした。また、その後は、パラレル・インターフェイス自体が時代遅れとなったのか、PAGES モードを持った高速モデル SP8200 ではパラレル・インターフェイスが無いため、5400エミュレーターIIは使用できないことになったのも、時代の流れとは言え、寂しいものでした。