それではIBM iから直接印刷する方法はあるのだろうか?
IBM iにはUNIXと同じ LPR(=Line Pronter Daemon Procotol)という
印刷のための通信手順(=プロトコル)が提供されていて
EBCDICからASCIIへの変換もサポートしている。
LPD(=Line Printer Daemon)をサポートしているプリンタであれば
IBM iから直接LPRで印刷することができる。
Windowsでも Windowsを導入した時点でLPDは開始はされていないが
LPDを開始できる機能は持っている。
WindowsにLPR送信するとWindowsはそれを受取って省略時のプリンタに
そのまま無変換で転送する。(プリンタ・ドライバは使わない)
つまりプリンタに直接LPRで送信するのと同じことになる。
それでは LPRでIBM iからの直接印刷は完全に実現できるのだろうか?
残念ながらそう簡単には解決できない。
プリンタ・セッションによってレーザー・プリンタに印刷データを
送っていたのは次の二つの理由がある。
(1)非5577系のレーザー・プリンタに印刷するための目的で
プリンタ・セッションを使っていた。
(2)専用用紙への印刷のために微妙な印刷の調整するために
プリンタ・セッションを使っていた。
…(1)の場合はLPRで置換えることができるだろうか?
LPRはあくまでもSCS印刷ストリームをASCIIに変換して
文字列を印刷できるようにするため、という簡易な目的であるので
・APW罫線や倍角印字にはLPRは対応していない。
・外字印刷には対応していない。
・バー・コードやQRコード印刷などの特殊印刷には対応していない。
…などあくまでもただ印刷するだけの機能でしかない。
(2)の場合は印刷の調整のためにPDT(=Printer Definition Table:
プリンタ定義テーブル)という変換テーブルを使って印刷している。
LPRはPDTに対応していないので LPRではこの(2)の印刷にも
対応することはできない。
よく複合機にも印刷できます、という触れ込みのソフトウェア製品が
あるがほとんどLPRを利用した製品と思って間違いない。
「印刷できます」という台詞は「印刷できる場合もある」という
のが正しい表現であって「すべてのIBM iのスプール」に対して
ということではない。
ここで早くも行き詰まったように見えるが次回からは
その解決方法を考えてみよう。