始めの言葉

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

2016年7月30日土曜日

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

1994年に発表された"5417-001/011"プリンターが、最も売れ筋の"中速機"クラスであったのに対して、1995年に発表された"5407-001/011"プリンターは、安価で購入しやすい"低速機"クラスのライン・プリンターという位置づけのものでした。
  • 5407-001、5407-011

"5417"との違いは、印刷速度と、それに応じた想定月間平均印刷枚数です。
"001"モデルが、"Twinax"接続用、"011"モデルが、5577 モードのパラレル・インターフェイス接続用である点も共通です。
このプリンターの購入を検討されたお客様から時々聞かれたのは、ドット・プリンターの最高速モデルである"5579"(当時は、"5579-K02")と比べて、どの位、印刷速度が速いか、お買い得かという点です。
標準価格、印刷速度、そして耐久性に相当する想定月間平均印刷枚数を、"5579"と"5407"で比較すると次のようになります。
プリンター  標準価格     印刷速度    想定月間平均印刷枚数
                                  (通常速)     (15"x11"連続用紙)
5579-K02     598,000円  200字/秒   2,600枚/月
5407-011   1,180,000円  140行/分   5,000枚/月

"標準価格"と"想定月間平均印刷枚数"を比較すると、ほぼ比例していることが分かりますから、問題は印字速度をどう比較評価するかという点になります。

"5579"は印字ヘッドが印刷する文字のある場所に移動しながら印刷します。左の図は、四角の位
ドット・プリンターの印字ヘッドの動き
置にある文字を印刷する際に、印字ヘッドが左右にどのように動くかを表わした模式図です。
①1行目の文字を印刷するために、左から右へ移動します。次の行を印刷するためには、逆方向に移動しないとなりませんので、一旦、止まるために右端の文字位置よりも行き過ぎて止まります。
②用紙が1行分送られて、印字ヘッドは右から左に移動して印刷します。
③印字ヘッドは、右に少し移動してから次の行を右から左方向に印刷するか、そのまま左端まで移動してから次の行を左から右方向に印刷するか、どちらが速く印刷できるか判断します。ここでは、一旦、右方向に移動して止まります。
④用紙が1行分送られたら、印字ヘッドは右から左に移動して印刷します。
つまり、ドット・プリンターの場合には、行の中に何文字あるか、しかも文字が離れてあるか、固まってあるか、そして次の行ではどこに文字があるかででも、1ページを印刷する時間は変化してきます。

一方、"5407"のような"ライン・プリンターは、名前の通り、行単位で印刷します。つまり、1行の中の文字数に関係なく、印刷速度は一定です。ただし、空白行が続く場合には、用紙を素早く送るという動きをします。
それぞれのプリンターの印字ヘッドの動きの違いから、印刷速度を単純に比較することはできないことをお分かりいただけると思います。そこで、比較するためには、ある条件を設定して、印刷速度を換算することとします。

<1枚の15x11インチ・サイズの連続用紙を印刷する時間>
- 前提条件
用紙サイズ : 横15インチ、縦11インチ
行ピッチを6LPI(行/分)で、全行印刷すると、全部で 66行/枚
文字ピッチを漢字6.7CPI(文字/インチ)で、1行の半分に文字があるとすると、約50文字/行

- 5407の印刷時間
66 / 140 * 60 = 28.3 秒

- 5579の印刷時間
印字ヘッドの速度だけから計算すると、50 / 200 * 66 = 16.5 秒 というように、5407よりも速いということになってしまいます。実際には、これ以外に、印字ヘッドが左右で減速して止まるまでの時間、止まってから 200 文字/秒の速度で印刷する時間、そして、用紙を行送りする時間が加算されますので、この計算値の3倍程度の時間、49.5 秒は掛かります。
大まかに見れば、印刷速度も、価格や耐久性と同様の比例関係にあると言えるのではないかと思います。

"5407"と"5417"を比較すると、前回、"5417"で機能アップした点の中の、次の点は共通です。
  1. "英小文字セット"、"カナ文字セット"と呼ぶ2種類の半角文字のセットを内蔵して選択可能としたことにより、"CCSID5026"と"CCSID5035"という 2種類の、英小文字と半角カナ文字が共存する印刷に対応しました。(文字コードの話 - 文字化けはなぜ起きるか? 参照)
  2. バーコード・コマンドに対応しました。バーコードを含む帳票を設計するための"APW(APSU)"も用意されたことで、AS/400 の世界で簡単にバーコード付きの帳票を印刷できるようになりました。(ただし、Twinax接続の場合のみ) 
5407 プリンター
速度や耐久性の他、筐体が異なり、用紙がカバーの外へ露出している部分が多いので、印刷中の音は、"5407"の方が大きかったように思います。
<"5407-001/011"プリンターの主な仕様>
- 印刷速度 : 140 行/分(通常速モード)
                  205 行/分(高速モード、縦18ドット・フォント)
- 想定月間平均印刷枚数 : 5,000 枚(15x11 インチ・サイズ用紙)
- 複写枚数 : オリジナル + 4 枚(コピー強化モード)
- 内蔵日本語フォント : IBM 明朝体、旧JIS規格
- 英小文字と半角カナの共存印刷 : 可
- バーコード・コマンド : 対応(6種類)

- 販売期間 : 1995 年 - 2002 年
- 保守終了 : 2008 年

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月17日日曜日

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

これからしばらくは、プリンター自体、特に AS/400 からの印刷では標準と言えた、"ライン・プリンター"のお話を続けたいと思います。今回は、日本語ライン・プリンターの歴史です。
  • 5227-001、5227-011

 180dpi(ドット/インチ)の解像度により、24x24ドットの漢字を印刷できる、日本語ライン・プリンターの最初のモデルです。
これ以前に、5224 や 5225 という日本語を印刷できるライン・プリンターがあったということを聞いたことがあります。実物は私も見たことがありません。ただ、解像度が低いため、日本語プリンターの範疇には入れられないと聞きました。5577 シリーズと同じ、180dpi の解像度で、24x24 ドットの漢字が印刷できる、国内製造の印刷機構を持ったライン・プリンターとしては、初めてのモデルであることは、確かです。

<001モデルと011モデルの違い>
"001"モデルは、Twinax インターフェイスを持った、System36/38(発表当時は、まだ AS/400 は出ていません。)接続用のモデルです。"001"モデルの後に発表された"011"モデルは、COAX インターフェイスを持った、メイン・フレームと呼ばれる汎用コンピューター接続用のものです。

<"5227-001"プリンターの主な仕様>

- 印刷速度 : 180 行/分
- 想定月間平均印刷枚数 : 8,000枚(15x11 インチ・サイズ用紙)
- 複写枚数 : オリジナル + 4 枚(コピー強化モード無し)
- 内蔵日本語フォント : IBM 明朝体、旧JIS規格
- 英小文字と半角カナの共存印刷 : 不可
- バーコード・コマンド : 非対応
- 販売期間 : 1985年(001モデル)1986(011モデル)年 - 1995/05/31
- 保守終了 : 2000年12月31日
  • 5327-001、5327-011

5227 プリンターを高速化したモデルです。そのため、耐久性も 1.5 倍に向上しています。
また、5327 プリンター用に開発されたインク・リボンやカセットは、5427、5400-L10/F10を除く、その後のライン・プリンターのモデルに共通に使用できるようになっています。
5327プリンター

<001モデルと011モデルの違い>
"001"モデルは、Twinax インターフェイスを持った、AS/400 接続用のモデルです。一方、"011"モデルは、5227 の場合と異なり、インターフェイスはパラレル・インターフェイスとなっています。そのため、制御コマンドも"5577"モードとなっています。
5227-011モデル同様、汎用機からの印刷を想定しているのですが、3270PC(DOS版のホスト・エミュレーター)や、ダム端末と呼ばれていたホスト接続専用端末に接続して、それらを介してホスト・システムと接続する仕組みとなっています。これは、5227-011のように、プリンターが COAX インターフェイスを持つということは、ホスト・エミュレーション端末をプリンターの内部に持つことを意味していて、その結果、多大な開発コストが掛かることになります。5227 の時のそのような苦い経験を生かして、5327-011 では、ホスト・システムとの間に端末を置くこととしたわけです。

<"5327-001"プリンターの主な仕様>
- 印刷速度 : 330 行/分(通常速モード)
                  430行/分(高速モード、18x24 ドットという高さ2/3の文字になります。)
- 想定月間平均印刷枚数 : 12,000枚(15x11 インチ・サイズ用紙)
- 複写枚数 : オリジナル + 4 枚(コピー強化モード無し)
- 内蔵日本語フォント : IBM 明朝体、旧JIS規格
- 英小文字と半角カナの共存印刷 : 不可
- バーコード・コマンド : 非対応
- 販売期間 : 1988年 - 1992/02/24
- 保守終了 : 2002年12月31日

余談ですが、5327が開発された時には、その下位モデルとしては、5577 プリンターを Twinax 接続でSCSコマンド対応とした"5317"プリンターが、上位モデルとしては、連続用紙とカット紙両用のレーザー・プリンター"5337"プリンターが、開発、発表されました。しかし、残念ながら、どちらも期待された程には、実績を残せませんでした。330行/分という印刷速度を持つライン・プリンター"5327-001"が、AS/400プリンティングの世界では、圧倒的に主流を占めたと言っても過言ではない実績を残しました。

2016年7月9日土曜日

QRコードの印刷方法 - 第2回 帳票アプリケーションを使う -

前回お話した、プリンターの持っているコマンドを送信する方法は、QRコードのイメージをプリンター内部の処理で生成するものです。そのためには、プログラムを用意して、プリンターにコマンドを送信する仕組みを準備する必要がありました。
今回お話しするのは、予めQRコードのイメージを生成しておいてプリンターに送信し、プリンターはQRコードということを意識することなく、他のデータと共に、単なるイメージを印刷するという仕組みです。この方式のメリットは、次のとおりです。
  • プリンターのコマンドに依存しないため、プリンターのメーカーや機種に関わらず、QRコードを印刷できる。つまり、QRコードのコマンドを持っていないプリンターでも印刷できることであり、複数のメーカーのプリンターが混在していても、共通のQRコード付きの帳票を印刷できることでもあります。
  • プログラムを開発する手間が掛からない。
しかし、そのためには、何らかの帳票アプリケーションが必要になります。ここでは、今まで何回かご紹介してきた、"Mapping Suite"を使うケースをお話しします。

MapDrawを使ったQRコードの設計
1. バーコードの印刷方法 - 第3回 もっと柔軟な方法 - Mapping Suite の場合-1でご紹介したように

住所の1行目をQRコードに指定する
MapDrawという帳票設計ツールでは、バーコード用のゾーンを定義できます。QRコードの場合には、バーコードの種類としてQRコードを指定します。(フォントの指定は不要です。)

2. QRコードの大きさを調整するには、"ゾーンのプロパティ"画面の"詳細"ボタンを押します。"バー
バーコードの幅の指定


QRコードのプレビュー
コードの"幅"の値を大きくすることで、QRコードの大きさを大きくすることができます。
デフォルトの値は、左の画面のように"2"となっています。その時のQRコードの大きさは、その右の画面のように、10ポイントの文字の大きさと比べても分かるように、小さめのサイズとなっています。
そこで、例えば、"6"に変えると下のプレビュー画面のような大きさに変わります。
"6"の時のQRコード





3. この帳票では、2行に別れた住所情報を1つのQRコードにする必要があります。そのような場合は、MapDraw の"メモリー"機能を使用します。
住所データの1行目に対して、"タイプ"を"メモリー"とし、その選択肢としては"テキスト・メモリー"を指定したゾーン(ここでは、"QRM1"というゾーン名)を定義します。
メモリー・ゾーンは、MapDraw の画面上は、ピンク色で表示されます。メモリーするだけですから、この段階ではプレビューしても、何も表示されません。
その下の行の住所情報に対しても同様に、"QR2M"と名づけたメモリー・ゾーンを定義します。
4. 以上で準備が整いましたので、QRコードを表示するためのゾーンを定義します。ポイントは、次の2点です。
QRコードのゾーンの定義
- "データの位置"の"長さ"を"0"とすること(メモリー・ゾーンの値を使用するため、スプール・データは使用しないからです。)
- "ゾーンの後に追加する文字"欄に、"[[QRM1]][[QRM2]]"と指定すること(大括弧2つで囲んだメモリー・ゾーンの文字列を連結して、QRコードにするデータとして扱うためです。)


MapDraw の画面は、次のようになり、プレ
MapDraw MapF画面
ビューの結果は、下の画面のようになります。

この画面を携帯電話等で読み取ってみると、2行の住所情報をデータとして、QRコードができていることが確認できます。

この後、PDF ファイルを生成したり、PCL形式の印刷データを生成して印刷するという処理は、Mapping Suite 共通の手順になります。


 


MapDraw プレビュー画面

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コードを印刷させるには、アプリケーションのプログラミングに大きな手間が掛かります。
そこで、次回は、プログラミングの手間の掛からない方法をご紹介します。