始めの言葉

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

2018年3月4日日曜日

AS/400 プリンティングに求められるソリューション 第29回 - Mapping Suite の帳票設計方法 - 7 -

今回は、文字の位置の調整方法をお話ししますが、初めに覚えていただきたいことは、プレビューの画面を見て位置調整しますが、その際には画面の表示の倍率が "100%" の状態で行なってくださいということです。これは、MapDraw がプレビュー画面を表示する際には、OS/400 上で Mapping が PDF 生成するのと同様の処理を行なっているのですが、どうしても PC の画面の解像度の影響を受けて、計算結果に四捨五入が発生するからです。

先ず、上下方向の調整の一つとして、グループの先頭行の位置の調整を行ないます。そのためには、グループの赤い長方形の上辺の位置を上下に移動して行ないます。次の画面をご覧いただければ、お分かりいただけると思います。
また、1 つのグループの中に複数のゾーンがあった場合、この先頭行の位置はそれらのゾーンに共通に適用されます。従って、ゾーンによって先頭行位置が異なる場合には、それぞれのゾーンに対応するグループを複数作ることで対応します。
グループの先頭行位置の調整

もう一つの上下方向の調整は、行間隔の調整です。従来の APW や DDS での行間隔の調整は、行ピッチの調整として、6LPI(1 インチ当たり 6 行) と 8LPI(1 インチ当たり 8 行)の2種類しかありませんでしたが、MapDraw ではもっと柔軟です。
行間隔の調整は、グループの中に配置したゾーンのプロパティの中で行ないます。この例では、ゾーン Z11 のプロパティの画面(キーボードの F5 キーを押すと表示されます)で、"条件" タブの画面を表示します。すると、"間隔" という欄の中の "後" に ”42.33 10/mm" と表示されているのが分かります。これは、1/10mm 単位で "42.33" ですから、"4.23mm" の間隔を行の後ろに取ることを意味しています。この数値は、MapDraw が、"Z11" で指定した "12 ポイント" という文字の大きさに合わせて初期設定した値です。そこで、例えば、"50" に変更して保存した後プレビューしてみると、次の画面のように行間隔が広がったことが分かると思います。
この値は、1/10mm 単位で小数点以下 2 桁までの数値となっていますが、実際に数値が変わるのは、1/10mm 単位です。つまり、MapDraw を使って行間隔を調整できるのは、1/10mm 単位と言えます。
そして、私は MapDraw が良くできていると思う点の一つは、1 つのグループの中に複数のゾーンがあった場合、1つのゾーンで行間隔を調整すると、その値は他のゾーンにも自動的に適用されることです。実際に、同じグループ内の他のゾーンの "後" の値を見てみると、調整後の値に変わっていることを確認できます。
ゾーンの行間隔の調整

左右方向の調整の一つは、ゾーンの 1 桁目の文字の位置です。ゾーンの文字の配置については、左寄せ、中央揃え、右寄せの指定が可能です。最も一般的な左寄せの場合には、ゾーンの青い長方形の左の縦線の位置を左右に移動して、1 桁目の位置の調整を行ないます。この時、グループの赤い長方形の左端よりも外に出そうになったら、グループからはみ出ないように、グループの左端を左へ移動してください。
この例のゾーン "Z12" のように、金額を表示するためのゾーンの場合、右寄せの指定にして、左右の調整をゾーンの右端の縦線を使って行なうと便利です。
また、先頭行の位置の調整の場合も同じですが、これらの調整はマウスを使って手で行なうよりも細かい調整が必要な場合には、MapDraw 画面下に表示される、上下方向なら "Y 座標"、左右方向なら "X 座標" の値に直接入力する方法がお勧めです。
ゾーンの1桁目の位置の調整

もう一つの左右方向の調整は、文字間隔の調整です。文字間隔と言えば、今までは、半角文字で "10CPI(1 インチ当たり 10 文字)"、とか "15CPI(1 インチ当たり 15 文字)" と言ったように、限られた値でしか設定できませんでした。MapDraw では、ゾーンのプロパティの中で行ないます。
この例のゾーン "Z11" のプロパティにおいて、"フォントとスタイル" タブの画面を開くと "固定ピッチ" というチェック・ボックスがあります。ここにチェックを入れると、次の画面のように、12ポイントの文字サイズの場合は、初期設定値として "24" が自動的にセットされます。文字間隔を広げるには、この数字を大きく、狭めるには小さくします。例えば、"40" に変更した画面では、次の図のように文字間隔が大きく広がっていることが、お分かりいただけると思います。間隔を極端に狭くすると MapDraw 上では隣り合う文字が重なって表示されますが、OS/400 上の Mapping で PDF 生成すると、文字が重ならないように左右に細く表示されます。
ゾーンの文字間隔の調整
なお、この文字間隔は、同じグループ内でも各ゾーン毎に異なる設定が可能です。

2017年8月12日土曜日

AS/400 プリンティングに求められるソリューション 第3回

2002年のアンケート調査と、2010年のそれとを単純に比較はできませんが、それでも 8 年が経過したことによる変化は窺えます。

1. 帳票設計は、2002年では、90% 以上の会社では、APW も含めたコマンドのコーディングで行なっていました。
しかし、2010年では、その比率は 80% に下がって、新たに、帳票ソリューションを使う会社が出てきて、その比率が 16% となっています。

2. 今後の予想では、増強やプリンターの LAN 接続化も含めた現状維持派が、2002年では 50% 以上ありましたが、2010年では、44% に減っています。

3. 電子化や Web 対応等の手段によって印刷量を削減(廃止)する派は、2002年の 44% ですが、2010年では 47% と大きくは変化していません。

業務で使用しているアプリケーション・プログラムに大きく手を入れないで、帳票の電子化や、レーザー・プリンターへの移行(カット紙化)を実現するには、何らかの帳票ソリューションが必要になります。
つまり、罫線や固定文字が事前印刷された複写伝票への印刷を、電子帳票やレーザー・プリンターによるカット紙への印刷に移行するには、アプリケーション・プログラムから吐き出されるスプール・データに含まれていない、罫線やタイトル等の固定文字も印刷データに含める必要があり、それを実現するのが、帳票ソリューションの役割と言えます。
6P複写伝票のカット紙化例

逆に、白紙の応用用紙に、罫線や固定文字も含めた全ての印刷データをインパクト・プリンターで印刷しているのが現状であるならば、プリンター・セッション経由の印刷、もしくは HPT 機能を使った LAN 直接接続された PAGES レーザー・プリンターで、縮小印刷や両面印刷指定に移行すれば済んでしまいます。
連続用紙への印刷をそのままカット紙に縮小印刷

では、その帳票ソリューションを選択するたに当たって、何を選択基準とするかを、2010年にお聞きしています。

4. 最優先は価格であると約半分の方が回答しているのは、もっともと思いますが、次に重視するのは、OS/400 上で稼動するのか、WindowsServer の 上で稼動するかと言う点です。
約 20% が、稼動 OS を重視すると回答している割に、OS/400 上が良いか、WindowsServer 上が良いかをお聞きすると、"どちらでも良い"という回答が、44% にもなっています。
私自身は、統合サーバーである AS/400 の強みや、WindowsServer を立てた場合の管理コストを考えると、"OS/400" が 33% という数字は、意外に小さいと感じました。

ともあれ、2010年になると、ユーザーへのアンケートでも、私自身の日々の活動の中の実感としても、帳票ソリューションの存在が大きくなってきていたことは、確かと言えます。
そして、その背景には、明らかに、電子化や、メーカーに拘らないレーザー・プリンター化による"コスト削減"という、お客様の課題があることも確かと言えます。

初めてアンケートを取った 2002年から、2度目にとった 2010年までの間には、私にとって大きな変化がありました。それは、2007年6月の、インフォプリント・ソリューションズ社の設立です。
IBM は、PC 事業に続いて、プリンティング・システム事業を売却し、2007年から 3年間は株式会社リコーとの合弁会社として、インフォプリント・ソリューションズ社を設立したのでした。

発足当初、日本の社長が挙げた 3つの課題の1つが、「オープン環境の印刷において、何をご提案していくか」というものでした。それに対して、正にこの"帳票ソリューションの提供"が回答になっていくわけです。
背景として、ライン・プリンターやドット・プリンターが大きな比率を占めていたビジネス・モデルが通用しなくなっていく時代の変化に対応するために、印刷量を減らしたい、あるいは、メーカー縛りから脱却したいお客様に受け入れていただける、従来とは異なる新しいご提案ができないとならないという差し迫った状況にあるという認識がありました。
そして、自社製プリンターを選択していただける何の保証も無いオープン環境においては、独自の帳票ソリューションをご採用いただくことによって、お客様の印刷データの大元を押さえるという考え方にたどり着きました。
その切っ掛けは、新会社発足当初に行なわれたイベントでの製品デモでした。

2017年8月6日日曜日

AS/400 プリンティングに求められるソリューション 第2回 - 2010年のお客様状況 -

前回ご紹介した 2002年のアンケート結果では、ライン・プリンターもまだ Twinax 接続で使用されているお客様が半数以上でした。
2002年の頃を振り返って見ると、AS/400 が Twinax 接続標準から LAN 接続標準に移行していく中で、対応するプリンターも、LAN 接続でも双方向通信が可能で、Twinax 接続からの移行の受け皿となる Telnet5250E に対応するものとして、連続用紙用レーザー・プリンターのInfoPrint250(5300-025) と、ライン・プリンターの標準モデルである 5400-006 の LAN カード付きモデルが発表されたのが、2000年でした。
InfoPrint250(5300-025)
Telnet5050E 対応のライン・プリンターの高速、中速、低速モデルのライン・アップとして、5400-L10、5400-S06、5400-L02が揃ったのが、2002年です。
また、ドット・プリンターを Telnet5250E に対応させるためのオプション、5400エミュレーターが翌年、2003年に発表されていますから、この頃のプリンターは、Twinax 接続から LAN 接続に徐々に切り替わっていく時代と言えるかと思います。

しかし、同時に、半数近くのお客様は電子化やレーザー・プリンターへの移行を指向していたことが分かります。私自身にも、古くなって保守も終了したライン・プリンターを、LAN 接続の新しいライン・プリンターに置き換えるお客様の比率が減っているという実感がありました。レーザー・プリンターへの移行と言っても、AFP だけでなく、PAGES モードを持つ小型の IBM レーザー・プリンターですら、お客様には"高い"と言われ、十分に受け皿になっていないという実感もありました。

今にして見れば、その頃から、メーカー縛りが無く、価格の安いレーザー・プリンター(消耗品コストは、インパクト・プリンターに比べて高くなりますが)に印刷できるようにするために、所謂"帳票ソリューション"を導入されるお客様が増えてきたのではないかと考えています。それらのソリューションのほとんどが、次のような処理を行いますので、Windowsのプリンター・ドライバーさえ持っているプリンターであれば、制約は無かったのです。
- AS/400 上のスプール・データを、例えば csv 形式のファイルに変換します。
 -> それを、Windowsサーバーに送信します。
  -> Windowsサーバー上で帳票イメージを作成して、プリンター・ドライバーを使って印刷します。

そこで、その後のお客様の変化を知るために、2010年4月に同様なアンケートを実施しました。その結果は、次のとおりです。

- 調査時期 : 2010年4月
- 有効回答社数 : 70社

1. AS/400 からの印刷に使用しているプリンター
1-1. ライン・プリンター    Yes : 58%    No : 36%    不明 : 6%
1-2. レーザー・プリンター    Yes : 66%    No : 24%    不明 : 10%
1-3. ドット・プリンター    Yes 74%    No : 20%    不明 : 6%
使用しているプリンターの種類

2. 帳票設計
2-1. RPG/COBOL, DDS でコーディングしている : 64%
2-2. APW も使用している : 16%
2-3. OS/400 上で稼動する帳票ソフトを使用している : 12%
2-4. Windowsサーバー上で稼動する帳票ソフトを使用している : 4%
2-5. 印刷しない : 4%
2-6. 不明 : 4%
帳票設計

3. 5年後の予想
3-1. 現行のまま継続する : 33%
3-2. 電子化により印刷量を削減する : 31%
3-3. 複写帳票を廃止してレーザー・プリンターへ移行する : 16%
3-4. 既存帳票は継続し、新規帳票は帳票ソリューションを使用する : 7%
3-5. AS/400 を廃止して Windowsサーバーへ移行する : 6%
3-6. 現行方式を維持し、増強する : 4%
3-7. その他、不明 : 3%
5年後の予想

4. 帳票ソリューション
4-1. 使用中のものへの満足度    満足 : 40%    不満足 : 23%    不明 : 37%
4-2. 選択のために重視する    価格 : 48%    稼動 OS 種類 : 20%    設計機能 : 13%    導入実績 : 9%    不明 : 10%
4-3. 稼動 OS : どちらでも良い : 44%    OS/400 : 33%    Windowsサーバー : 17%    不明 : 6%
帳票ソリューションについて


2017年7月29日土曜日

AS/400 プリンティングに求められるソリューション 第1回 - 2002年のお客様状況 -

このブログでは、今まで自分が携わってきた、IBM プリンターとその使い方を中心にお話ししてきました。
今回以降、しばらくは、AS/400 プリンティングの世界で、今求められているソリューションについてお話していきたいと考えています。
私自身が今までの仕事の中で、基幹システムに AS/400 を使用されている企業の情報システム部門の方が、印刷を含めた "出力" に関して、今後どうしていきたいと考えていらっしゃるかを、興味深く注目してきました。
大多数のお客様は、残念ながら、出力に関する関心や優先順位が低いという点において共通しているようです。その背景となる情報システム部門の方の認識は、次のようなものではないでしょうか。

- プリンターから印刷できることは、当たり前のことなので、気にしていない。
- 上布システムに関わる優先順位の高い課題が、他にいくつもあるので、現状の出力に慣れた社内ユーザーには、従来どおりの安定した出力を継続できれば十分である。

とは言え、実際に調査することが必要と考えて、既に15年前になってしまいますが、当時のパートナー企業のご協力をいただいて、情報システム部門の方にアンケートを取ったことがありますので、ここに、かいつまんでご紹介したいと思います。

- 調査期間 : 2002年3月18日から4月26日
- 有効回答社数 : 375社

1. AS/400 からの印刷に使用しているプリンター
1-1. 平均台数 : 34台(ライン・プリンター 6台、ドット・プリンター 18台、レーザー・プリンター 10台)
1-2. ライン・プリンターの接続方式 : Twinax 接続 1,269台(54.8%), LAN 接続 1,047台(45.2%)
375社のプリンターの種類内訳
ライン・プリンター接続方式の内訳

2. 帳票設計
2-1. RPG でコーディングしている : 222社(59.2%)
2-2. APW も使用している : 120社(32%)
2-3. 印刷しない : 15社(4%)
帳票設計方式の内訳(企業数)

3. 今後の出力
3-1. 今のまま継続する : 75社(20%)
3-2. 今のまま継続し、増強する : 51社(13.6%)
3-3. プリンターを LAN 接続化して継続する : 75社(20%)
3-4. 電子帳票化して印刷量を削減する : 126社(33.6%)
3-5. Web 対応に移行する : 39社(10.4%)
3-6. AS/400 を廃止する : 9社(2.4%)
出力の今後の方向内訳(企業数)

4. 複写帳票
4-1. 継続して使用 : 231社(61.6%)
4-2. レーザー・プリンターに移行する : 126社(33.6%)
4-3. 廃止する : 15社(4%)
4-4. 元々使用していない : 3社(0.8%)
複写帳票の使用内訳(企業数)
この結果を見ると、2002年当時でも、Twinax 接続のライン・プリンターが半数以上あったということは興味深いですが、その一方で、今後も印刷を継続するというお客様が半分いらっしゃる反面、電子化等への移行により、レーザー・プリンターへ移行したい、更に紙への印刷を減らしたい、若しくは止めたいというお客様が半数あったことが、特に興味深いと思いました。


2017年3月26日日曜日

IBM 小型レーザー・プリンターの今まで -第4回- 5577互換からの拡張(続)

PS/55 向けの標準レーザー・プリンターの開発は、当初、製品企画の私の他は、機構部分の担当者、データ処理基盤の担当者、マイクロコードの担当者が、それぞれ 1 名ずつという少数精鋭 (?) チームで構成されていました。
当時は、ちょうど、システム36 やシステム38 がAS/400に変化していく頃で、そのプリンターとして、ライン・プリンターの他に、連続用紙対応のレーザー・プリンターの開発が行なわれていて、そちらに開発のエンジニアの大部分が割かれていたということが、少人数体制となったことに大きく影響していると思います。
因みに、その連続用紙対応の方のレーザー・プリンターは、"5337-001" というプリンターで、元々連続用紙用に OEM 元で開発されたものに対して、カット紙も扱えるように機構を追加したという、これまたレーザー・プリンターの世界では、空前絶後のプリンターでした。
話は、横道に逸れますが、このプリンターは、他にも、当時でも珍しい特徴がありました。それは、トナーの定着方式に、"フラッシュ定着"という方法を採用していたことです。

IBM 小型レーザー・プリンターの今まで -第1回- その黎明期 の中でお話したように、感光ドラムから、用紙の表面に移したトナーは、多くの場合、熱と圧力を使って、用紙の中に定着させます。
定着方法には、他に、"フラッシュ定着"と、"圧力定着"があります。

"圧力定着"は、文字通り、トナーの乗った用紙を、圧力の掛かった上下のローラーの間を通すことで、トナーを用紙の中に定着させる方式です。
この方式を使ったプリンターとしては、"5337"プリンターの前に開発された"5583-200"プリンターがあります。今や私の手元には画像も残っていませんが、IBM i(OS/400) の資料には、未だに 32x32 ドットの日本語プリンターのモデルとして名前が出てきます。
"5583-200"プリンターは、OEM 元から提供を受けたプリンター本体に対して、"コントローラー"と呼んでいたデータ処理部分を自社開発してできた、カット紙用のプリンターです。
解像度は、240DPI であったことと、圧力定着方式のため、用紙が定着機構を通過する時に、"ゴットン"と音が発生したいたことを覚えています。
トナーの定着の評価は、粘着テープを付けて剥がしたり、消しゴムで擦ったりして行ないますが、"圧力定着"方式は、どうしても熱定着ほどの定着の良さはありませんでした。もちろん、省電力という点では優れた方式と言えると思います。
また、このプリンターの機能を活用するために、KPF(Kanji Print Facility) というソフトウェアーも併せて開発されましたが、期待ほどの台数は売れなかったようです。

一方で、"5337-001"で採用されていた"フラッシュ定着"方式は、カメラのフラッシュと同様に、強力な光を用紙に当てると、黒いトナーに光エネルギーを吸収されることで、トナーが溶けて紙に定着するという方式です。
この方式の良さは、用紙に圧力を掛けないため、用紙に対する制約が少ないことです。つまり、熱や圧力の伝わり辛い厚紙や、熱や圧力を掛けると、糊がはみ出てきてローラーに張り付いたり、汚したりするラベル紙も使用できるということです。
逆に、大量の光エネルギーを発生させるため、電源として 200V が必要になることや、トナーが自分で溶けて紙に定着するため、定着の程度が不安定な点に、制約があります。
実際に、この "5337-001" プリンターの開発でも、一定の印字品質を実現させるために、OEM 元のメーカーも巻き込んで、かなりの時間を費やしました。
しかし、その後、他社の連続用紙用の高速レーザー・プリンターでは、フラッシュ定着方式の改善が進んでいたようで、熱定着方式よりも次の点で優れていると評価されるケースが多いようです。
- 用紙の制約が少ない
- ヒーターの温度上昇を待つ時間が不要なので、用紙の架け替えが多い運用では、印刷開始まで待ち時間が短い。

なお、"5337-001"プリンター用には、240DPI の解像度を持ち、連続用紙とカット紙の切り換えや、レーザー・プリンターとしての機能を活用しやすくするために、APPW(Advanced Page Printer Writer) というソフトウェアーも併せて開発されました。
ライン・プリンター用には、罫線やバーコード、文字拡大の指定を行うために "APW(Advenced Printer Writer)"が開発され、今でも使用されているユーザーがいらっしゃいますが、そのレーザー・プリンター用のものが、"APPW"と言えます。
このプリンターも、残念ながら、計画ほどの実績を上げることはできませんでした。
5337-001プリンター外観図

さて、話を元に戻します。少数精鋭チームのマネージャーとしてアサインされたのは、US の Boulder の研究所で、レーザー・プリンターの開発の指揮を執られていた、J.D. 氏でした。
彼が開発した "3812" というプリンターは、AS/400 の世界でも、デバイス・タイプとして名前が出てくるような、標準プリンターでした。
私としては、初めての外人の上司になったわけですが、今、思い返してみると、当時の私の未熟さもあって、本質的な意味でのコミュニケーションができていなかったという反省が残ります。

2017年2月12日日曜日

ライン・プリンターの全て - 第27回 - たまにいただくお問合せ-4

Q8. AS/400からの印刷に使用してきた"5400-006"を、"5400"の現行モデルに置き換えるに当たって、注意するべき点は何か。

A8. 現行の"5400-006"プリンター("ライン・プリンターの全て - 第4回- 日本語ライン・プリンターの歴史-4"参照)
をどのような方法で、AS/400と接続しているかを確認するよりも、新しい"5400"プリンターをどのように接続するかを考えることを優先した方が良いと思います。
接続方式の違いによって、メリットも注意点もそれぞれ異なりますので、それらをよく把握した上で、日々の業務に最適な接続方式を選択してください。

1. Telnet5250E による LAN 直結印刷
"5400"プリンターの標準的な接続方式です。
<<メリット>>
- AS/400 と LAN 直結になるので、プリンター・セッション経由の印刷と異なり、PC に依存することが無い。
- APW や プリンター・ファイルで指定したバーコード・コマンドや文字拡大、OCR-B フォント指定コマンドが、プリンター・セッション経由の印刷と異なり、全て有効となる。
- 高速モードや、超高速モードでの印刷であっても、バーコードのある行のみは、ドットを間引かずに印刷する通常速モードに自動的に切り替わって印刷するため、バーコードの読み取り精度を落とさない高速印刷が可能となる。
- 印刷中の保留や取り消し操作が、プリンター・セッション経由の印刷と異なり、AS/400 端末画面から可能となる。
- 用紙切れや用紙ジャムというエラー・メッセージが、プリンター・セッション経由の印刷と異なり、AS/400 端末画面に表示される。メッセージ応答として、印刷再開ページを指定することも可能となる。

<<注意点>>
- 外字を使用するには、予め"LODPPW"コマンドを使用して、プリンターにダウンロードしておく必要がある。(プリンターの電源を切った後でも保存される。)
- 接続先の AS/400 は1台(一つの IP アドレス)となる。接続先の AS/400(IP アドレス) を変更するには、"5400" の初期設定を変更し、再起動する必要がある。
- PC からの LAN 直結印刷(LPR ポート使用)とは、自動切換えが可能だが、"5400"プリンターのWeb ページ上で、初期設定を変更しておく必要がある。"ライン・プリンターの全て - 第11回- 日本語ライン・プリンターの初期設定-3" 参照

<<"5400-006"からの移行のための注意点>>
- Telnet5250E 接続では、OS/400 上の"自動構成"が可能です。使用していた"5400-006"のものと同じ OUTQ 名を継続して使用するには、既存の OUTQ や装置記述を、予め削除しておくと、新しい"5400"プリンターの"自動構成"がスムーズに行なえます。
- 初期設定の中の"半角文字セット"を"英数カナ文字"にするか、"英小文字"にするかで、半角カナ文字や、半角英小文字の文字化けに対応します。

2. PC 上のプリンター・セッション経由の印刷
複数の AS/400(LPAR) から自動切換えで印刷させるのに、適しています。
<<メリット>>
- PC 上に複数のプリンター・セッションを用意する、または、複数の PC 上にプリンター・セッションを用意することにより、複数の AS/400(複数の IP アドレス)からの印刷を、プリンターの設定を変更することなく、自動的に切り替えて行える。
- 外字は、プリンター・セッションを持つ PC のWindows外字を使用するので、プリンターに予め保存する操作が不要。
- AS/400 からの印刷の他に、PC 上の Windows アプリケーションからの印刷も、そのまま可能となる。

<<注意点>>
- PC を起動していないと、印刷できない。
- APW や DDS で指定したバーコードや、OCR-B フォント指定は無効になる。文字拡大指定にも制限がある。
- 印刷中の保留や取り消し操作はできない。
- 用紙切れや用紙ジャムというエラー・メッセージは、AS/400 端末画面に表示されない。
- 繰り返し印刷を防ぐために、プリンター・ドライバーのポート設定や、レジストリーの修正が必要になる。"繰り返し印刷の対策" 参照。


<<"5400-006"からの移行のための注意点>>
- もし、従来、"5400-006"が、プリンター・セッションを持つ PC と LAN 接続されていたのなら、"5400-006"と同じ IP アドレス を新しい"5400"プリンターに設定するだけで、移行は完了となります。(プリンター同士は互換性が高いので、ドライバーの入れ替えも不要です。)
- PC もプリンターと同時に新しくなるのであれば、PC 上では、
+ 5400 ドライバーの導入、設定("ライン・プリンターの全て - 第12回- 日本語ライン・プリンターのドライバー-1" 参照)
+ "標準 TCP/IP ポート"から"LPR ポート"への変更、それに対応したレジストリーの編集によるタイム・アウト値の変更
+ PDT ファイル、"ibm5577.pdt"を指定したプリンター・セッションの設定
以上が、必要です。
- 初期設定の中の"コードページ"を"932"にするか、"942"若しくは"943"にするかで、半角カナ文字や、半角英小文字の文字化けに対応します。

5400-006 プリンター外観

2016年10月1日土曜日

ライン・プリンターの全て - 第11回- 日本語ライン・プリンターの初期設定-3

前回までの設定で、5400 ライン・プリンターを 1 台の AS/400、若しくは 1 つの LPAR にTelnet5250E で接続することはできましたが、例えば、それだけでは印刷量が少ないため、プリンターを有効活用するために、他の AS/400 や LPAR からの印刷にも使用したいというご要望は多くあります。1 台の 5400 ライン・プリンターに、複数の AS/400 から印刷させるために最も簡単な方法は、PC 上に接続先の AS/400 や LPAR に対応した複数のプリンター・セッションを立てて、プリンター・セッション経由の印刷とする方法です。しかし、プリンター・セッション経由の印刷では、かつてお話したように
  • PC に電源が入っていないと印刷できない。
  • APW のバーコード・パラメーターや大きな倍率の文字拡大は、コマンド変換されないため無効になる。
といった制約があります。
そこで、 1 台の AS/400(LPAR) からの印刷が多く、他の AS/400(LPAR) からの印刷は少ないようでしたら、1 台の AS/400(LPAR) からの印刷は Telnet5250E で接続した直結印刷とし、他の AS/400(LPAR) からの接続は、プリンター・セッション経由とするという接続方法が考えられます。
Telnet5250E と LPR5577を使った接続

その時には、どちらの AS/400(LPAR) から印刷操作を行なっても、そのまま印刷してほしいものですが、5400 ライン・プリンターの初期設定では、インターフェイスに Telnet5250E を選択すると、PC から LAN 経由で印刷させるための LPR ポートは同時に使用できません。(PC とパラレル・インターフェイスも接続できません。)
そこで、5400-F10/F06/F02 では、Telnet5250E 接続と LPR 印刷が、自動切換え(共存)できるようになりました。
初期設定を Telnet5250E と LPR の自動切換えにするのは、プリンターの操作パネルからはできません。前回までお話した Web ページを使った設定になります。
Telnet5250/LPR5577使用不可の状態
  1. Web ページにアクセスして、管理者モードに変更したら、左サイドのメニューの中の"プリンター設定"、そしてその子供メニューの"インターフェース・ポート"を選択します。
  2. 上のイメージの画面が表示されますので、"Telnet5250/lLPR5577 インターフェース"を、"使用可"に変更します。
  3. その結果、次のように"インターフェース・ポート"のメニューに"Telnet5250/LPR5577"が追加されますので、それを選択したら、"送信" -> "再起動"です。
Telnet5250/LPR5577使用可の状態

なお、"Telnet5250/LPR5577"の下に"Telnet5250/LPR5577 切り換えタイムアウト"として"5秒"が設定されています。これは、Telnet5250E 接続された AS/400(LPAR) からの印刷が終了した後、同じ AS/400(LPAR) から5秒間、印刷データが送信されなければ、LPR ポートからの印刷も受け付ける、あるいはその逆の順という意味です。このようなタイムアウト値があるということは、Telnet5250E 接続で印刷している途中で、LPR ポートを通した印刷データが送信されてきても、Telnet5250E 接続の印刷の途中に割り込まれることが無いようにできていることを、意味しています。同時に、Telnet5250E 接続の印刷が完了してから、LPR ポート経由の印刷が始めるまでには、5秒間待つ必要があるということも意味しています。
タイムアウト値を小さくすれば、切り換えの待ち時間を短くすることができますが、その時には、印刷データの送信完了まで、印刷データ送信が途中で途切れることが無いという条件が厳しくなります。
Telnet5250E とLPR の自動切換えで注意が必要な点は、他に、次のようなものがあります。
  • LPR ポート経由の印刷は、5577 モードのみで、ESC/P モードには対応していません。
  • Telnet5250E 接続の場合、外字は、予めプリンターにダウンロードした文字が使用されますが、LPR ポートを通したプリンター・セッション経由の印刷では、PC の持つ Windows 外字を使用します。
  • Telnet5250E 接続で AS/400 と接続された状態になっていないと、LPR ポート経由の印刷もできません。

2016年7月23日土曜日

ライン・プリンターの全て - 第2回- 日本語ライン・プリンターの歴史-2

  • 5427-001

5327 プリンターの上位機種という位置づけで発表されたのが、5427-001 プリンターです。"001"というモデル名しか無いことから、Twinax 接続のみだったことが、分かります。
<"5427-001"プリンターの主な仕様>
- 印刷速度 : 500 行/分(通常速モード)
                  640行/分(高速モード、18x24 ドットという高さ2/3の文字になります。)
- 想定月間平均印刷枚数 : 12,000枚(15x11 インチ・サイズ用紙)
- 複写枚数 : オリジナル + 4 枚(コピー強化モード無し)
- 内蔵日本語フォント : IBM 明朝体、旧JIS規格
- 英小文字と半角カナの共存印刷 : 不可
- バーコード・コマンド : 非対応
- 販売期間 : 1992年 - 2002年
- 保守終了 : 2008年3月31日

当時は最上位モデルという位置づけでしたが、現行のライン・プリンターの仕様と比較すると、印刷速度も、想定月間平均印刷枚数も、"中速"プリンター・クラスだったことに、時代の変化を感じさせられます。
  • 5417-001、5417-011

5327-001/011の後継機という位置づけプリンターです。5327 同様に、"001"モデルが"Twinax"接続、"011"モデルが"パラレル・インターフェイス"接続です。
外観が大きく変わり、トップ・カバーは金属ではなく樹脂製に変わって、丸みを帯びたデザインとなっています。ただ、そのため、印刷後の用紙を置くと、滑って落下するという、お客様のご指摘をいただいたことがあります。
また、機能面では、5327 と比較すると、数々の機能拡張が行なわれました。
  1. 高速モードや超高速モードを実現するために、横方向のドットをそれぞれ1/3、2/3間引く方式が取り入れられました。周囲のドットの配置に配慮して適切なドットを間引くロジックの効果によって、文字の品質を然程落とさず、縦24ドットの文字で高速化を実現しています。この方式は、その後の5400シリーズでも採用されています。
  2. 同じ行を2度打ちする"コピー強化モード"により、複写可能枚数は、オリジナル+7枚まで増えました。
  3. "英小文字セット"、"カナ文字セット"と呼ぶ2種類の半角文字のセットを内蔵して選択可能としたことにより、"CCSID5026"と"CCSID5035"という 2種類の、英小文字と半角カナ文字が共存する印刷に対応しました。(文字コードの話 - 文字化けはなぜ起きるか? 参照)
  4. バーコード・コマンドに対応しました。バーコードを含む帳票を設計するための"APW(APSU)"も用意されたことで、AS/400 の世界で簡単にバーコード付きの帳票を印刷できるようになりました。(ただし、Twinax接続の場合のみ) 
5417プリンター外観
<"5417-001/011"プリンターの主な仕様>
- 印刷速度 : 330 行/分(通常速モード)
                  430行/分(高速モード、横方向1/3ドット間引き)
                  500行/分(超高速モード、横方向2/3ドット間引き)
- 想定月間平均印刷枚数 : 8,000枚(15x11 インチ・サイズ用紙)
- 複写枚数 : オリジナル + 7 枚(コピー強化モード)
- 内蔵日本語フォント : IBM 明朝体、旧JIS規格
- 英小文字と半角カナの共存印刷 : 可
- バーコード・コマンド : 対応(6種類)

- 販売期間 : 1994年 - 1998年
- 保守終了 : 2005?年


超高速  高速 通常速モードのドット構成例
ドットを間引かない、本来の 24x24 ドットの文字を印刷するモードを"通常速"モードと名づけて、操作パネルを始め、マニュアルやカタログに記載しましたが、他社のライン・プリンターでは、1/3ドットを間引く"高速モード"を"通常速モード"と呼ぶようになっています。この呼び方の違いで、誤解を招いた例は少なくなく、未だに続いています。

5327 プリンターの後継機という位置づけだったにも関わらず、想定月間平均印刷枚数が 2/3 となっていたことにより、耐久性の面でトラブルとなってしまったお客様があったことの反省が、後の5400-006モデルに生かされたということは、忘れられません。

2016年7月2日土曜日

QRコードの印刷方法 - 第1回 プリンターの持っているコマンドを使う -

2015年10月から連載した"バーコードの印刷方法"では、文字通り"バーコード"、つまり、バーを組み合わせた 1 次元コードを対象としたものでした。1 次元コードは、ほとんどが APW で指定できるという大きなメリットがありましたが、2 次元コード、国内で使用されている"QRコード"は、APW では対応されていません。そのため、AS/400上のアプリケーションから、"QRコード"付きの帳票を印刷するには、工夫が必要です。
QRコード印刷サンプル
"QRコード"は、製造業だけに限らず、様々な業種において、様々なアプリケーションに使用されています。最も大きな特徴は、格納できる文字数の多さと、文字に漢字などの2バイト文字にも対応していることと言えます。では、QRコードをプリンターで印刷するには、どうしたら良いでしょうか?

先ず、1 次元バーコードの時と同様に、プリンターの持っているコマンドをプリンターに送信し、プリンター内部で QRコードを作製して印刷する方式が考えられます。それには、どのような点に注意して、どのようにすれば良いでしょうか?
QRコードの"コマンド"と言いましたが、実は、QRコードを印刷するための"SCSコマンド"はありません。それが、APW で対応していないことの大きな理由となっています。逆に言うと、インパクト・プリンターなら、"5577モード"、レーザー・プリンターなら"PAGESモード"の中に、QRコードのコマンドがあるということです。

コマンドそのもののは、1次元コードのコマンドと同様に、
- 1B 7E 40(バーコード印字形式設定)コマンド
  によって、QRコードであること、QRコードの大きさを指定し、次に
- 1B 7E 42(バーコード印字)コマンド
  によって、印刷位置と格納するデータを指定するという構成です。
なお、QRコードの中に格納するデータの文字コードは、英数文字ならUS-ASCII、漢字ならShift-JISになります。
これらのコマンドやデータを、AS/400 上のアプリケーションからプリンターに送信できる接続方法と対応プリンターの組み合わせを整理すると、次のようになります。

1. PCOMM プリンター・セッション経由のPDT印刷
キャラクター・モードを使って、バーコード・コマンドをアプリケーション内に組み込みます。
インパクト・プリンターなら、5577系、レーザー・プリンターなら、PAGES系のプリンターは、キャラクター・モードにも、QRコードのコマンドにも対応していますので、使用可能です。
サンプル・コードをこちら(5577系, PAGES系)で公開していますので、ご参照ください。
しかし、5400系のライン・プリンターは、キャラクター・モードに対応していません。

2. HPT(ホスト印刷変換機能)を使った LAN 直結印刷
プリンター・セッション経由のPDT印刷と同様です。キャラクター・モードを使って、QRコード用のバーコード・コマンドをアプリケーションから発行するようにします。

3. Telnet5250Eを使った LAN 直結印刷
5400系のライン・プリンターでも、5577モードでは、QRコードを印刷するコマンドを持っていますが、5577系と異なり、キャラクター・モードに対応していませんから、同じ方法は使用できません。
しかし、Telnet5250E 接続の機能の中で、透過モードをサポートしていますので、これを使ってコマンドを送信するようにアプリケーションを組めば、通常の接続方法の下で、QRコードを印刷することができます。

ただ、以上のご説明でお分かりのように、プリンターにコマンドを送信してQRコードを印刷させるには、アプリケーションのプログラミングに大きな手間が掛かります。
そこで、次回は、プログラミングの手間の掛からない方法をご紹介します。

2015年12月6日日曜日

バーコードの印刷方法 - 第3回 もっと柔軟な方法 - Mapping Suite の場合-1

前回までのバーコードの印刷は、プリンターの制御コマンドをプリンターに送信して、プリンター内部でバーコード・イメージを生成して印刷する方法でした。そのため、バー幅の指定が細かくできるといったメリットがある一方、どうしても使用可能なプリンターのモデルやメーカーの制限が出てきます。今回は、そのような制限の無い、もっと柔軟な印刷方法をお話します。併せて、mayayam様からいただいたコメント"1ページ目と2ページ目以降で異なるバーコード指定が可能なソリューション"もご紹介したいと思います。

1. APWの使用を前提にすると、"CHGMRG"データを使用すると、スプールのページ単位で異なるフォームを適用する、つまり、位置や種類の異なるバーコードを指定することは可能です。"CHGMRG"データの使用方法に関しては、次の資料(APWのマニュアル)の14ページ目以降にで公開されています。
http://www.ricoh.co.jp/pps/download/pdf/apw_print.pdf
ただ、これは、APWを使用する以上、使用可能なプリンターの制約はありますし、コーディングも大変だと思います。

2. 一般的な Windows Office アプリを使用するとしては、MS Access 上で予めバーコード指定のある帳票設計を行っておき、そこへ、MS Access の機能を使って、AS/400 上の DB から抽出したデータをはめ込んで、Windows プリンターに印刷するという方法が考えられます。この方法では、プリンターから見ると、文字や数字だけでなく、バーコードも全てイメージ・データとして送られてくることになります。従って、読み取り精度を向上させるには、バーコード全体の大きさを調整することになると思います。

3. "帳票ソリューション"を使用する方法は、費用は掛かるものの、既存のアプリケーション・プログラムを変更せずに、柔軟な条件でバーコードを付加した帳票を作成することができるものです。
様々な種類の"帳票ソリューション"が販売されていますが、価格の違い以外に、大きくは次の 2 種類に分けられます。
- OS/400 上で印刷データ(PDF ファイルを含む)を生成するタイプ
- AS/400からスプールを Windows サーバーに受信して、Windows サーバー上で印刷データ(PDF ファイルを含む)を生成するタイプ
それぞれには得失があります。
前者は、Windows サーバーを立てて保守・運用していく必要が無いという大きなメリットがあります。また、運用への組み込みには、ユーザーが馴染んだ RPG や CL のスキルを活用することができます。
後者は、AS/400 側の CPU への負荷が最小限で済むというメリットがあります。
どちらのタイプを選択するかは、価格面も考慮に入れて総合的に判断する必要があるかと思います。
ここからは、筆者が技術サポートを担当している、前者のタイプのソリューション"Mapping Suite"上で、バーコードをどのように指定し、印刷するかをお話します。

"Mapping Suite"では、帳票設計は、"MapDraw"というツールを使って、Windows PC 上で行ないます。
"MapDraw"は、下の画面のように、左右で分かれています。
MapDraw画面(左側オーバーレイ設計画面・右側スプール表示画面)
左側の画面で、オーバーレイ(固定文字や固定罫線)の設計を行ないます。
右側の画面は、対象となるスプール・データを表示し、それを参照しながら、左側の画面で、オーバーレイ上へのデータの配置を指定していきます。







バーコードを指定するには、下の画面にあるように、バーコードに変換するデータのフィールド(右側の画面で背景が青色になっている箇所)を、左側の設計画面に配置し、そのゾーン(と呼びます)のプロパティ(属性)でバーコードとして表示することを指定します。
ゾーンのプロパティ画面(CODE39を指定)
左の画面では、プロパティとして、
- 5 行目の、106 桁目から長さ 9桁を
- バーコード CODE39
で表示することを表わしています。

なお、"Mapping Suite"では、1次元バーコードは専用フォントを使って生成しますので、プロパティの中の"フォントとスタイル"画面で、フォントに"BC39L"を指定します。バーコードの大きさは、このフォントのサイズと、高さ(50% - 200%間)で指定します。
フォントとスタイル画面(フォントにBC39Lを指定)
1次元バーコードで使用する専用フォントは、"MapDraw"と一緒に Windows 用の TrueType フォントとしてご提供しています。

ちなみに、2次元コードである"QRコード"は、上の"データ位置"の画面で、バーコードの種類を"QRコード"を選択した上で、"詳細"ボタンをクリックすると、"バーコードの幅"で大きさと、他に"エラー・レベル"を指定します。


プレビュー表示すると、設定したバーコードがどのように表示されるかを画面上で確認できます。
プレビュー表示(青矢印がCODE39)

では、1ページ目と2ページ目以降で異なる種類のバーコードを異なる場所に表示するには、どのように設計すかを次回、お話します。





2015年11月22日日曜日

バーコードの印刷方法 - 第2回 コマンドを使う、もう一別の方法 -

前回お話した"APW"のバーコード・パラメーターを使う方法は、対応できるプリンターの種類や接続方法の条件がありました。また、毎ページ同じ場所のデータを、毎ページ同じ場所に印刷するには良いのですが、それらがページ毎に変化する場合には、対応できません。
そこで、プログラミングが必要となる、手間の掛かる方法ですが、それらの制限を緩和できる方法を、今回はお話します。

1. "5400プリンター拡張コマンド(テキスト・コマンド)"を使用する
このコマンドの仕様は、下記のサイトで公開されています。
http://www.ricoh.co.jp/pps/download/manual/lineimpact/pages_command.html
考え方としては、通常のデータでは無いような3文字("!#%"か"!@&")の後に、「バーコード印刷」「バーコード設定」のコマンドを「文字データ」として、印刷データの中に組み込むと、プリンターがそれらを、文字ではなくコマンドと解釈してバーコードのイメージを生成して印刷するというものです。
インパクト・プリンターでのバーコード印刷サンプル
特徴は、次のとおりです。
- コマンドの構造が簡単であること
- コマンドを文字として入力しますので、スプールを表示した時に、そのまま文字として表示されることにより、後で確認し易いこと
- バーコードの他に、文字拡大、OCR-B フォント指定も指定できること

一方、注意点は
- 使用可能なプリンターは、5400 シリーズのライン・プリンター(モデル006、S06を除く)と、5400エミュレーターIIを使ってTelnet5250E接続した 5577 系とPAGES対応のプリンターになること

- 5400 プリンターや 5400 エミュレーターII の初期設定で、先頭の3文字を設定すること
- コマンドを記述した場所の影響で2行に跨ってしまうと、コマンドの中に「CR+LF」(復帰+改行)が含まれてしまうことになりますので、避けた方が良いこと(次の2つの方法にも共通)
- コマンドと言っても、印刷されない文字データという扱いですから、1ページの中の印刷する文字の無いところに配置すること(次の2つの方法にも共通)
- 特にバーコードを印刷するためのコマンドは、その後、改行することで実行されますから、最後に必ずLF(改行)を送信すること(次の2つの方法にも共通)

です。

2. "//LA// コマンド"を使用する
5557シリーズと、5577-H05/G05 プリンター単体の場合は、5557拡張制御コマンド"//n// コマンド"を使用できます。
バーコード用のコマンドは、下記のサイトで公開されています。
http://www.ricoh.co.jp/pps/download/pdf/5577g05h05_command_enlargement.pdf
http://www.ricoh.co.jp/pps/download/pdf/5577g05h05_command_notes.pdf
コマンドの考え方や使い方は、「1」のコマンドのものとさほど変わりません。
注意点も
- 使用可能なプリンターは、5557 シリーズと、5577 シリーズでも"H05""G05"モデルののドット・プリンターになること
- プリンターの初期設定で「プリンター・タイプ」を「5557モード」に変更すること
- コマンドの中に、何バイトのコマンドかを示す「カウント」を指定しますが、コマンド全体が2行に跨ることは避けること
です。

3. "キャラクター・モード"を使用する
"キャラクター・モード"は、IBM ブランド時代から、ドット・プリンターでも、PAGES モードのレーザー・プリンターでもサポートしてきた機能なので、上記の2つの方法よりも使用可能なプリンターの種類は多くなります。プリンターが解釈できるコマンドを、文字データとしてプリンターに送信するという基本的な考え方は同じで、異なる点は
- 先頭に付加する文字列は、”&$%$"か、"$?!#"の4文字であること
- プリンターが、コマンドやデータとして解釈する部分はその後に続く何バイトかを、4文字の後に2バイトの16進数で追加します。(2文字が1バイトです。この4文字は数に含めません。)
対応機種や実際のコーディングのサンプルは、下記のサイトで公開されています。
http://www.ricoh.co.jp/pps/support/techinfo/character_mode_jp.html
注意点は
- プリンターの初期設定で、先頭の4文字を設定する必要があること
- ライン・プリンターの5400シリーズでは、"5577モード"で使用する場合であっても、キャラクター・モードはサポートしていないこと
(従って、QRコード用のコマンドは、"5577モード"で持っていますが、下で述べる"透過モード"を使わないと、AS/400 からは送信できないということになります。)
他は、上の2つの方法と同様です。


以上の3つの方法は、文字データとして、PC 用のプリンターのコマンドをAS/400から送信し、プリンターの機能としてコマンドとして解釈し、処理する方法です。
そのため、プリンターのモデルによる制約がありますが、もう一つ別の方法として、16進コードで、PC 用のプリンターのコマンドを送信する"透過モード"という方法があります。
こちらの方が、PCOMM のプリンター・セッションの機能として、印刷データの中に16進コードで含まれたプリンター用のコマンドを、プリンターに対してコマンドとして送信する方式なので、プリンターのモデルやメーカーの制約は少なくなります。
しかし、16進で記述することになりますので、文字データして記述するよりも、ハードルは高くなると思います。
この方法に関しても、下記のサイトで詳しい情報を公開しています。
http://www.ricoh.co.jp/pps/support/techinfo/transparent_mode_jp.html

考え方は、キャラクター・モードと似たところがあって、先頭に"03"、そして送信するコマンドのバイト数を付加して、AS/400から送信すると、プリンター・セッションでは、"03"を外し、バイト数の値で指定された長さのコマンドをプリンターに送信するというものです。
従って、あくまでもプリンター・セッション経由、PDT印刷が前提となります。

どの方法にしても、プログラミングのスキルが必要になりますし、実際に印刷しながらの調整は必要になりますので、もっと効率の良い簡単な方法はないのか ? という疑問も出てきます。
そこで、次回は画面上でバーコードを大きさや場所を簡単に指定できるソリューションをご紹介します。



2015年10月25日日曜日

バーコードの印刷方法 - 第1回 コマンドを使う -

前回、"バーコード"という言葉が出てきたので、今回は今までの話の流れから少し逸れますが、バーコードのお話をします。
"このプリンターでバーコードを印刷できますか?"というお問い合わせを、何度もいただくことがあります。AS/400から、プリンターにバーコードを印刷させるには、いくつもの方法があります。

1. プリンターが持っているバーコード印刷コマンドを送信する方法
これは、プリンターから見れば、バーコードを印刷するコマンドが送られてきて、それに従ってプリンターの内部でバーコードのイメージ(パターン)を作って印刷する方法です。
この方法には以下のメリットがあります。

1-1. 各バーの幅を、コマンドのパラメーターとして、個別に指定できることにより、読み取り率を向上させ易い点です。
特に、インク・リボンを使って印刷するインパクト方式のプリンターでは、細白バーは、実際に印刷される左右両側の黒バーに挟まれた、印刷されない線として表現されますので、1ドット幅にしか指定しないと、左右からのインクの滲みよって、1ドット幅以下の幅になってしまいます。そのため、バーコード・リーダーが読み取る時に、細白バーとして認識でき難くなるわけです。細白バーの幅を先ず2ドット以上と指定し、他のバーの幅をそれを元に決めていくことをお勧めしています。
1次元バーコードのパターン

1-2. 後で述べるユーザー定義文字や、シンボルの組み合わせと比べて、バー幅の修正が圧倒的に楽な点です。
これももちろん、読み 取り率向上につながりますが、コマンドのパラメーターとしてバー幅を指定することは、その値を変更するだけで、バーコードの読み取り率を向上させることが できます。ユーザー定義文字や、シンボルといった、バーコードのパターンを自分で設計する方式では、印刷結果の読み取りテストを行いながら、該当する全部のパターンを修正することになりますので、膨大な手間が掛かることになります。



1-3. OS/400上でバーコードを指定するツール(APW)が用意されている点です。
APW (Advanced Printer Writer) (正式には多機能漢字印刷ユーティリティー)は、世界標準のSCSコマンドに対して、日本独自に追加されたバーコード・コマンドを使い易く するために、日本独自で開発されたツールです。使用可能なバーコード・パラメーターの仕様は、次のサイトで公開されているマニュアルで確認できます。
http://www.ricoh.co.jp/pps/download/manual/other/apw_v3.html

1-4. ネットワークへの負荷が少なく、処理時間の短縮が期待できる点です。
印刷データの量としては、コマンドだけになりますので、ネットワーク上の負荷はその分、少なくなります。バーコードのイメージ(パターン)を生成するの は、プリンターの中のマイクロコードの処理になりますが、経験的には、その処理時間が全体の処理時間に影響することは無いと思います。
黒細バーのインクが滲んだ様子

以上のメリットに対して、次の点には注意が必要です。
- APWを使用する場合、次のバーコードは指定できません。
GS1-128(EAN128.コンビニ収納代行用のバーコード)と、QRコード(これは、正確にはバーコードではなく2次元コードになります。)。そのため、5577系のドット・プリンターや、5400ライン・プリンターはQRコードを印刷するコマンドを持っていますが、そのコマンドを送信するプログラムを作る必要があり、これがなかなか大変です。
- APWを使用する場合は、プリンターのモデルと接続方式が、限られています。
接続方式は、AS/400と直結するTwinax接続やLAN直結する"Telnet5250E"接続か、ホスト印刷変換機能を使用したLAN直結接続です。
前者のプリンターとしては、5400シリーズと、モデル名の最後2桁が"05"となっている5577シリーズ、若しくは5400エミュレーターを使って"Telnet5250E"接続した5577シリーズや、PAGESモードを持ったレーザー・プリンターになります。後者のプリンターは、PAGESモードを持ったレーザー・プリンターです。
- APWを使用する場合は、バーコードを印刷する場所は、毎ページ同じになります。

以上の制約を受けないために、APWは使用せずに、コマンドをプログラムの中に組み込む方法も採れますが、5577モードのバーコード・コマンドは16進コードでプログラムすることとなり、これもなかなか手が掛かります。そこで、コマンドを他のデータと同じ文字データ(テキスト・データ)として組み込む方法がありますので、それは次回お話します。

2015年9月22日火曜日

HPT機能を使った印刷 - コマンド変換機能の制約 -

PCOMM の PDT印刷では、PDT ファイルの定義に従って PCOMM のプリンター・セッションが、AS/400 から受信した印刷データの中の制御コードを、5577 形式や PAGES 形式に変換してプリンターに送信します。HPT 機能を使った LAN 直結印刷の場合も同様のコマンド変換を、OS/400 が行ないます。そのプログラムのソース・コードは共通という話を以前に聞いたこともあります。
ただ、実際には、両者の間には次のような違いがあります。

1. HPT 機能では、"AFP"プリンター用のデータを PAGES 形式に変換して、PAGES プリンターに印刷できますが、PCOMM 経由の印刷では対応していません。
"AFP"プリンターに関しては、AS/400 ユーザーのお客様では使用実績が多くないため、このブログでは触れませんので、ここで簡単にご紹介します。
InfoPrint4100


InfoPrint SP8200
"AFP(Advanced Function Presentation)"プリンターには、連続用紙対応の大型高速レーザー・プリンターや、カット紙対応の高速レーザー・プリンターがあります。高速印刷であることは、大量印刷を意味し、大量印刷であることは、ページ抜けや、重複ページの印刷の防止といった"印刷管理"機能を必要とす
ることを意味します。また、Windowsアプリケーションからの印刷のように自由な、文字の種類や大きさ、配置の印刷を、AS/400 から直接行なえるメリットがあります。
しかし、AS/400 にも対応する様々な"帳票ソリューション"(我がMapping Suiteもそうですが)が提供され、プリンターの状況監視も、TCP/IP の世界では"SNMP"プロトコルとそれに対応したツールが実現する今となっては、"AFP"の優位性も少なくなってしまったと言えるかもしれません。
リモートOUTQ の設定で、"メーカー・タイプ及び型式"に"*IBMPAGES300"を指定することで、印刷データが"AFP"プリンター用の場合は、OS/400 が、PAGES コマンドの中のイメージ送りコマンドに変換します。つまり、"AFP" のデータをイメージに変換して印刷する訳です。
この場合、LPR 印刷になりますから、本来の"AFP" プリンターで行なえたプリンターとの双方向通信による印刷管理はできません。プリンターの状態に関わりなく、印刷データを送信したら終了です。
2. "APW"やプリンター・ファイルで指定した次のパラメーターは、5577 形式や PAGES 形式への変換に制約があります。("APW"については、今後、機会を改めてご紹介します。)
  • "APW"のバーコード・パラメーター:PCOMM プリンター・セッションでは変換できません。HPT 機能を使った印刷では、"MRGAPW" の際の"DEVTYPE"に"*SCS"を指定し、HPT では "PAGES" モードへの変換を指定した場合のみ、変換されます。
  • 角丸付き罫線:PCOMM プリンター・セッション経由の場合は、"MRGAPW" の際の"DEVTYPE"に"*PAGES"を指定した場合のみ、HPT では "PAGES" モードへの変換を指定した場合のみ、変換されます。("DEVTYPE"は"*SCS"でも"*PAGES"でも共通)
  • 網掛け:PCOMM プリンター・セッション経由の場合は、"MRGAPW" の際の"DEVTYPE"に"*PAGES"を指定した場合のみ、HPT では "PAGES" モードへの変換を指定した場合のみ、変換されます。("DEVTYPE"は"*SCS"でも"*PAGES"でも共通)
  • 文字拡大(2 x 4 と 4 x 2): "DEVTYPE"で"*PAGES"を指定し、PCOMM プリンター・セッション経由の場合のみ変換されます。
  • 文字拡大(3 x 3):"DEVTYPE"で"*SCS"を指定し、HPT で "PAGES" モードへの変換を指定した場合のみ、変換されます。
  • 文字拡大(4 x 4):"DEVTYPE"で"*SCS"か"*PAGES"を指定し、HPT で "PAGES" モードへの変換を指定した場合のみ、変換されます。
上記以外の"APW"のパラメーターで通常使用されるものは、プリンター・セッション経由の印刷でも、HPT 機能を使った印刷でも変換されますので、コマンド変換で最も注意する必要のあるのは、バーコード・パラメーターになるのではないでしょうか ?