処理の流れとしては、先ず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スプーラーの役割は非常に重要と言えます。
では、次回は、帳票ソリューションを使った印刷方式についてお話しします。