始めの言葉

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

2015年2月22日日曜日

AS/400からの印刷 ~基礎編-6~

プリンター・セッション経由の最大のメリットは、前回も申し上げたように、「プリンターの選択肢が多い」ということです。
処理の流れとしては、先ずPC上のプリンター・セッションがAS/400から印刷データを受信し、PDT印刷ではPDTを参照してデータ変換を行い、Windowsのスプーラーから、プリンター・ドライバーで指定しているポートの指定先のプリンターに印刷データを送信するということになります。
その結果、注意点や制限としては、以下の点があります。
  • プリンター・セッションを立てたPCの電源が入っていないと印刷できない。(これは当然ですよね。)
  • 保留や取り消しといったスプールの管理はできません。(これは、AS/400から見た場合、プリンター・セッションが仮想プリンターとなること、そして、それがPCであるためプリンターと違って、スプール解放とほぼ同時に印刷データを受信してしまうためです。)
  • 同じ理由で、プリンターのエラーは、OS/400には通知されません。
  • PDT印刷の場合は、バーコード、3倍以上の文字拡大指定やOCR-Bフォント等半角文字の書体指定が無効になります。(これは、プリンター・セッションでのコマンド変換機能の制限です。)
  • 外字(正確にはユーザー定義文字)を印刷するには、プリンター・セッションを立てたPCのWindows外字に、それら外字を登録する必要があります。(これは、外字はWindows外字のイメージを使用するためです。)
 【余談】
Windowsのスプーラーは、プリンターの印刷速度に合わせて印刷データを送信します。AS/400からPCがデータを受信して変換する速度(速い)と、プリンターの印刷速度(遅い)の違いを吸収しているわけです。しかし、Windowsが、まだWindows95だった頃、プリンターのエラーがAS/400側に通知されるということで、ドライバーのプロパティで「印刷データをスプールせず、直接プリンターに送る」設定に変えて、使用するお客様がありました。
WindowsXPになっても、その設定に変えたところ、正しく印刷できなくなったというお問い合わせを何件かいただいたことがあります。実は、そのお問い合わせをいただいたことで、Windows95ではそのような使い方ができたのかと驚いたことを、今でも良く覚えています。
特にインパクト方式のプリンターでは、受信バッファーのメモリー・サイズは2行分程度しかありませんし、印刷速度はAS/400からのデータ送信速度に比べてかなり遅いわけですから、Windowsスプーラーの役割は非常に重要と言えます。

では、次回は、帳票ソリューションを使った印刷方式についてお話しします。

2015年2月14日土曜日

AS/400からの印刷 ~基礎編-5~

5577プリンター
5577プリンター 
「2」のプリンター・セッション経由の印刷が、今では最も一般的な方式のように思います。
その背景としては、前回までお話しした直結型のプリンターが、比較的高価であること、機種が限られていること、そしてインパクト方式のプリンターが中心となっているため、オフィスで多く使用される小型のレーザー・プリンターや、複合機(コピー、FAX、スキャナー、プリンター一体
型のタイプ)に印刷するために、選択されてきたということと思います。
かつての、プリンター・セッションの設定も、「PDT印刷」でないと縦罫線
InfoPrint1000J PAGESモデル
InfoPrint1000J PAGESモデル
が左右にずれてガタガタに印刷されるといった問題がありましたが、最近では「ドライバー印刷」でも問題なく印刷できるようになってきているようです。
直結型の印刷の場合、文字コードは「EBCDIC」形式、制御コードは「SCS形式」でプリンターに送られてくるので、プリンターも内蔵フォントをEBCDIC形式で、制御コードもSCS形式で持っている必要がありますが、プリンター・セッション経由の場合には、プリンター・セッションが文字コードや制御コードを使用するプリンター用に変換するわけです。

日本語の「PDT印刷」の場合には、変換先の制御コードが「5577形式」「ESC/P形式」「PAGES形式」「LIPS形式」等に限定されています。「PDT」とは「Printer Definition Table」の略で、変換元のSCS形式のコマンドと、変換先の5577形式等のコマンドの変換テーブルを意味しています。
文字コードも、EBCDICコードを、5577用のPDTの場合には、Shift-JISコードに変換します。
これは、プリンター・セッションの役割をOS/400自身が行う、HPT(ホスト印刷変換)印刷の場合も同じです。

一方で、ドライバー印刷の場合は、プリンター・セッションもExcelやWord等のWindowsアプリケーションと同じ動きになりますから、プリンター・セッションはWindowsのAPIに従ってドライバーに印刷データを渡し、ドライバーは印刷イメージを生成してプリンターに送信します。

これらの話は非常に奥が深く多岐に渡りますので、詳細は別の機会に譲るとして、次回はこの方式の得失についてお話しします。

2015年2月7日土曜日

AS/400からの印刷 ~基礎編-4~

5400ライン・プリンターをTelnet5250E接続で使用され始めた頃、次のような問題を経験しました。
5400-F06プリンター

  1. あるお客様で、毎週月曜の午前中だけ、プリンターが途中で何度も止まりながら印刷するという現象でした。実は、このお客様では、NOTESのサーバーが東京にあるのですが、月曜の午前中は大阪の営業部が会議のため、東京のNOTESサーバーにアクセスが集中していたということが分かりました。
  2. 他のあるお客様では、社内向けの内線電話をIP電話に切り替えたところ、プリンターが間欠的に止まりながら印刷するようになったということがありました。
社内ネットワークの容量をピークに合わせるのも現実的ではないので、これらのケースの対処方法としては、ルーターの帯域制御を使った、データによる優先順位の設定の見直しになりました。例えば、端末画面の表示やIP電話の優先順位は高く、逆に、インターネットの閲覧の優先順位は低くといったような具合です。
その後は、ネットワークの速度も容量も大きくなってきたためか、そのようなお問い合わせをいただくことは無くなりました。また、ライン・プリンターだけでなく、5577系のドット・プリンターや、小型レーザー・プリンターをTelnet5250Eで接続できるようにする5400エミュレーターIIという製品も出てきましたが、それと並行して、ライン・プリンターやドット・プリンターといったインパクト・プリンターの使用が減ってきたのも事実です。
次回は、プリンター・セッション経由の印刷について、お話します。

2015年2月2日月曜日

AS/400からの印刷 ~基礎編-3~

TCP/IPが普及してくると、AS/400とプリンターの接続も、TCP/IPでTwinax接続と同様の操作性を求められることになります。
TCP/IPでの接続が、Twinax接続と大きく異なるのは、IBMが独自で決めた規格ではないという点です。RFC(Request for Comments) というインターネット上の公開された場所で定義されたもので、特にTelnet5250Eは、AS/400の端末の表示画面用のプロトコルTelnet5250をプリンター用に拡張したもので、RFC2877の中に記載されています。(この事実だけででも、時代の流れを感じますね。)
同じTelnetでも、端末表示と印刷で大きく異なる要件は、プリンターのエラーをAS/400側に通知する等の「双方向通信」 にあります。
そのため、技術面では、Twinax接続とは次のような違いがあります。
  1. AS/400とプリンターの間は、プリンターから接続に行きます。(Twinaxの場合は、逆)
  2. ユーザー定義文字(いわゆる外字)も通常の文字と同じように、文字コードだけがプリンターに送信されてきますので、プリンター側に予め、文字コードと文字イメージを保管しておく必要があります。
【余談】外字の取り扱いに関しては、Twinax接続は親切にできていて、外字は文字コードと24x24ドットの文字イメージが、一緒にプリンターに送信されてきます。そのため、ユーザーは外字の有無を一切気にする必要はありませんでした。プリンターは、送信された文字コードと文字イメージを一時的に記憶します。そのため、同じ外字の2度目以降の印刷では、文字コードだけが送信され、データ量を最小限に抑えられます。
(電源を切ると、プリンターに記憶した外字の情報は消去されます。)

そして、LAN上を印刷データが流れるということは、メールやインターネットの閲覧等々、様々なデータと混在して流れることを意味しますので、Twianx接続では意識する必要の無かった、ネットワークのトラフィックも考慮することが、避けられなくなりました。
次回では、そのネットワークのトラフィックとの関係で経験した、Telnetでの印刷で発生するようになった問題と対処方法をお知らせします。