始めの言葉

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

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年7月23日日曜日

IBM 小型レーザー・プリンターの今まで -第19回- "PAGES"-13

話しが前後しますが、ここで、"Infoprint40" や、"Infoprint20" の PAGES モード用に追加されたコマンドをご紹介しておきます。最早、それらのプリンターが使用されていることもないと思いますが、記録として残しておきたいと考えたからです。
ちなみに、PAGES のコマンド解説書は、こちらのサイトからダウンロード可能です。ここでお話しするのは、このマニュアルに記載されていないコマンドということになります。

1. 用紙トレイ選択コマンド
プリンターの機構として、付属する用紙トレイ(給紙トレイ)が増えたため、コマンド自体は変わっていませんが、パラメーターが増えています。

書式 : 1B 7E 46 00 05 00 00 N 00 00
パラメーター N : 00 トレイ1
                      01 全面給紙トレイ
                      02, ... 05 トレイ2... 5
                      11, ... 1B(用紙のサイズに応じた用紙トレイを指定します。)
                      11 = A3, 12 = B4, 13 = A4, 14 = B5, 15 = A5, 16 = B5, 18 = レター・サイズ,
                      19 = リーガル・サイズ
                      1A = はがき, 1B = エグゼクティブ

2. 排紙トレイ選択コマンド
これは、新設のコマンドです。前回もお話したように、後処理オプションを取り付けることにより、容量の異なる排紙トレイを選択し、更に印刷面をフェイス・アップ(上向き)か、フェイス・ダウン(下向き)にするかの指定も同時にできるようにするために、追加されたコマンドです。

書式 : 1B 7E 47 LEN 00 00 BIN FACE [DEST1 ... DESTN] 00 00
パラメーター
  LEN : 以降に続くパラメーターのバイト数
  BIN : 排紙トレイを指定
         00 = メインの排紙トレイ
         01 = フェイス・アップ・トレイ
         02 = フィニッシャー・トレイ1
         03 = フィニッシャー・トレイ2
         04 = フィニッシャー・トレイ3
         FA = フィニッシャー・トレイ自動切換え。フィニッシャー・トレイ1から排紙し始めて、一杯になるとフィニッシャー・トレイ2、次にフィニッシャー・トレイ3と自動的に排紙先を切り替えます。
         FC = DESTnに従って、複数の排紙トレイを切り替えます。
  FACE : 印刷面を上(フェイス・アップ)か、下(フェイス・ダウン)を指定しますが、あくまでもフェイス・アップ / ダウンの切り換えが可能な排紙トレイが対象です。
         00 = フェイス・アップ
         01 = フェイス・ダウン
  DEST : ページ単位で排紙トレイを切り替える場合に使用します。ページ単位で排紙トレイが、DEST1 から始まって、DESTN まで切り替わり、次は DEST1 に戻って繰り返します。BIN に FC を指定した場合に有効です。

3. コピー・コントロール・コマンド
両面印刷、マルチ・アップ(N-Up)印刷、2面印刷を指定するコマンドです。
マルチ・アップ(N-Up)印刷は、複数のページを縮小して 1 ページにまとめて印刷するものです。
2面印刷は、A3 サイズ用紙に、A4 サイズのページを縮小しないで 2 ページ並べて印刷する、あるいは、B4 サイズ用紙に、B5 サイズのページを縮小しないで 2 ページ並べて印刷するものです。

書式 : 1B 7E 3B LEN 00 00 DPLX MLTI SCALE LINE N CTRL1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CTRL3 00 00 00 00
パラメーター
 LEN : 以降に続くパラメーターのバイト数(00 04 か 00 1D のどちらかです。)
 DPLX : 両面印刷を指定
            00 = 片面印刷
            01 = 両面印刷(長辺綴じ)
            02 = 両面印刷(短辺綴じ)
 MLTI : マルチ・アップ(N-Up)印刷を指定
            01 = 1ページを1枚の用紙に印刷します。
            02 = 2ページを1枚の用紙に印刷します。
            04 = 4ページを1枚の用紙に印刷します。
            06 = 6ページを1枚の用紙に印刷します。
            08 = 8ページを1枚の用紙に印刷します。
            09 = 9ページを1枚の用紙に印刷します。
            10 = 16ページを1枚の用紙に印刷します。
 SCALE : マルチ・アップ印刷のための縮小指定
            00 = マルチ・アップ印刷のために縮小します。
            01 = 縮小しません。
 LINE : マルチ・アップ印刷されたページの境界に印刷する線を指定
            00, 07 = 実線
            01 = 点線
            02 = 短破線
            03 = 一点鎖線
            04 = 二重点線
            05 = 長破線
            06 = 二点鎖線
            08 = 透明線
 N : コピー部数を指定(1 バイト)。コピーする対象は、印刷される用紙で、1 部から 999 部まで指定できます。
 CTRL1 : マルチ・アップ印刷する際のページの配列の原点を指定
            00 = 左上を原点にして、ページを配列します。
            01 = 右上を原点にして、ページを配列します。
            02 = 右下を原点にして、ページを配列します。
            03 = 左下を原点にして、ページを配列します。
 CTRL3 : マルチ・アップ印刷する際のページの配列の方向を指定
            00 = 横方向にページを並べます。
            01 = 縦方向にページを並べます。
MLTI=04, LINE=00, CTRL1=00, CTRL3=01を指定した場合
MLTI=04, LINE=00, CTRL1=00, CTRL3=00を指定した場合

4. ジョブ識別コマンド
印刷ジョブ単位でオフセット排紙(印刷結果を仕訳し易くするために、左右にずらして排紙すること)を指定するコマンドです。

書式 : 1B 7E 3C LEN 00 00 ID CTRL FLAG 00 00
パラメーター :
 LEN : 以降に続くパラメーターのバイト数(00 05 か 00 08 のどちらかです。)
 ID : 印刷ジョブの識別番号を 2 バイトで指定。00 00 から FF FF までが使用可能。
 CTRL : 印刷ジョブの開始と終了を指定
           00 = 印刷ジョブ終了
           01 = 印刷ジョブ開始
 FLAG : オフセット排紙を指定
           00 = オフセット排紙しない
           01 = オフセット排紙する

5. コピー枚数指定コマンド
コピー部数を指定するコマンドです。

書式 : 1B 7E 33 LEN FLAG N
パラメーター :
 LEN : 以降に続くパラメーターのバイト数(00 03 か 00 04 のどちらかです。)
 FLAG : コピー部数を 1 バイトで指定するか、2 バイトで指定するかを指定
           01 = 1 バイトで指定
           02 = 2 バイトで指定
 N : コピー部数を指定。FLAG = 01 の場合は、01 から FF。(1 部から 255 部) FLAG = 02 の場合は、00 01 から 03 E7。(1 部から 999 部)

6. メディア・サイズ設定コマンド
補助給紙トレイにセットされた用紙のサイズを設定するためのコマンドです。非定型サイズの用紙を使用する場合、通常は操作パネル上の初期設定で、縦横の長さを設定しますが、このコマンドを使うと、このコマンドで設定された用紙サイズが優先されます。その結果、サイズの異なる非定型サイズ用紙を何種類か使用する場合には便利なコマンドです。

書式 : 1B 7E 2F 00 07 00 38 40 Xm_EXT Ym_EXT
パラメーター :
 Xm_EXT : 用紙の幅(n/1440 インチに換算した時の n の値。13 80 から 49 20 まで有効。)
 Ym_EXT : 用紙の長さ(n/1440 インチに換算した時の n の値。21 30 から 70 80 まで有効。)

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 コマンドを知る必要が出てきますが、その方法は、以前、連続用紙への印刷から、カット紙への印刷に移行する -第13回 PDFダイレクト印刷における印刷制御- の回でご紹介しています。

PAGES カード使用解説書抜粋 用紙セット方向とステープル位置の関係

PAGES カード使用解説書抜粋 用紙セット方向とパンチ穴位置の関係
この 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

2017年7月1日土曜日

IBM 小型レーザー・プリンターの今まで -第17回- "PAGES"-11

5400エミュレーターIIによって、PAGES モードを持った小型レーザー・プリンターも、AS/400 と LAN 直結できるシステム・プリンターとしての使い方ができるようになりました。
その後、2005年に、A4 サイズまでの用紙に対応した、小型の "Infoprint 1522J"(5584-5M2/5P2)が追加されました。
A3 サイズまでの用紙に対応する "Infoprint 13x6J" シリーズと比較して、用紙サイズを A4 までとすることで小型化したモデルで、PAGES モードは単独のオプションではなく、初めから組み込まれたキッティング・モデルのみであることも同じです。
オプションを付けると両面印刷にも対応する業務用プリンターとして十分な機能を持っていますが、A4 サイズまでのプリンターは、期待するほどは売れません。
Infoprint 1522J 外観

そして、2007年には、"Infoprint 13x6J" 後継モデルとして、"Infoprint1756J/1736J" という 2 つのモデルが発表されました。
2007年は、IBM がプリンティング事業をリコーに売却したという、私にとっては大変ショッキングな発表で始まった年です。
その 1月の発表の後、6月のインフォプリント・ソリューションズ・ジャパン株式会社の設立に合わせて、6月にこれらのプリンターも発表されました。
"Infoprint 1756J" の印刷速度は、35枚/分で、給紙カセットは、150枚用と250枚用の 2 つを標準で持っています。
一方、"Infoprint 1736J" の印刷速度は、28枚/分で、給紙カセットは、250枚用 1つのみです。
PAGES モードを持つモデルは、キッティング・モデルである点も変わりません。

5400エミュレーターII の時にお話したように、これらのモデルはパラレル・インターフェイスを持ってはいますが、コネクターの形状がハーフ・ピッチといって小型になっています。そのため、フル・ピッチの大きさのコネクターを持つ、古くからのケーブルに接続できるように、変換アダプターが標準で付属しています。
2007年の発表以来、2017年の今年で10年になります。まだ販売中ですが、流石に終わりが近いと思います。
Infoprint1756J 外観
Infoprint1736J 外観

PAGES モードを持つプリンターとして最後(?)、最新のモデルが、"Infoprint SP8200 N50" です。
このモデルは、インフォプリント・ソリューションズ・ジャパン社の株式の一部をまだ IBM が持ってた2009年に発表されたため、IBM から発表されています。
このモデルは、それまで国内で発表されたモデルと異なり、同じ型式(4345)で、全く異なる 2つのモデル(4345-N50 と 4345-DN1)を持っています。
外観上は、全く同じなのですが、前者は PAGES モードを標準で持つ、PC からの印刷用であることに対して、後者は AFP (日本語高機能印刷)に対応したシステム・プリンターとなっています。

モデル "N50" の方は、印刷速度が 50枚/分となった PAGES モードを持つプリンターの中の最高速モデルになります。
ただ、繰り返しになりますが、パラレル・インターフェイスが無かったため、5400エミュレーターII を付けられなかった点は、非常に残念でした。

Infoprint SP8200 基本構成

一方、モデル "DN1" の方は、"Infoprint45" という 45ページ/分の印刷速度を持つ AFP プリンターの後継機となっています。
Infoprint SP8200 フル構成

余談ですが、"Infoprint45" では、AFP 印刷のみに対応していたのですが、Windowsからの印刷もできると思われたお客様から、ドライバーはどこにあるかというお問い合わせを何度もいただいて、対応に苦労したことを覚えています。AFP 対応プリンターとして高価なモデルであったため、Windows からの印刷もできて当然と期待されたのは、私も自然なことと思いました。
その点で、この "DN1" は、Windowsからの印刷にも対応したので、安心しました。ただし、AFP の印刷を行なった後は、AS/400 等のホスト・システムとの間のセッションを切る設定にしておかないと、Windows からの印刷データを受信できないという点に注意が必要でした。