ACSの導入テスト時でレーザープリンターの設定でハマったので備忘録。
テストはMacで行いましたが、Windowsも同じだと思います。
現状
- 使用プリンターはキャノンLBP8610という白黒レーザープリンター。
- A4の横しか使っていない。
- 罫線と2次元バーコードの印刷も使っている
とりあえずやったこと
いつものように設定
- ACSの管理画面から「5250セッション管理機能」をクリックし、セッションを作る画面を呼び出す
- 「新規プリンター・セッション」をクリック。
- 宛先アドレスにIBM iのIPアドレスを入力する。
- ワークステーションIDを入力する(既定があれば既定、新規ならば新規のID)
- ホストコードページを現行の930 日本語(カタカナ)を選ぶ。
- 左側「プリンター設定」のタブをクリックし、印刷先を「ファイル」から「プリンター」に変更する
- 下にある「プリンター名」をクリックし、Canon LBP8610を選択する。(ドライバーのインストールは事前に行う必要がある)
- OKをクリックし設定完了。セッションが立ち上がる。
印刷してみた
これで印刷をかけてみると。見事にバグった。訳の分からない文字列の紙が出るわ出るわ。わんさか出てきた。
調べてみると
ACSは印刷機能が微妙だと、ネット上に記事があった。
IBM i Access Client Solutions(ACS)の印刷機能に対する対応状況
マジかよ・・と思ったが、Java印刷というのを使えば、全く同じとはいかないものの、業務に支障がないという話なのでやってみることにした。
設定呼び出し
- プリンタセッションの「通信」から「構成」をクリック。
- 左にある「ページ設定」をクリックし、「Java印刷サービスを使用」を「はい」にする。
一応うまくいったが・・
するといい感じに紙がでました。罫線もバッチリ。ちょっと余白が少ないけど、でも設定で変えられるみたい。
でもバーコードが印字されていない。ただの文字列に化していた。
ここから本題
そういえば、クライアントアクセスのときは、PDTというプリンター定義ファイルを使っていたはず。
なので、現在クライアントアクセスで使っている、PDTファイルを移植して、それを指定してやることにする。
再度設定
- Windows+クライアントアクセスで使っているPDTを引っ張りだして、Macに移植する。
- プリンタセッションの「通信」から「構成」をクリック。
- 左にある「プリンター設定」をクリックする
- 「プリンター定義テーブルの使用」を「はい」にする。
- さっきのPDTを選ぼうにもリストにない。
あれあれ、しょうがないから移植したPDTは忘れて、一番上にある「ASCIIテキスト・モード」を選んでみる。
再度印刷
またまた訳の分からない文字列の紙がめっちゃ出る!わwwwwとまらんwwwww
再度設定(これで最後)
こんどはプリンター定義テーブルをいかにもそれっぽい「IBM 5577-B02、F02、G02、H02」を選択し、再度印刷してみると、
うまくいきました。正直うまくいくとは思わなかった。
結論
Java印刷をオンにすれば、プリンター定義テーブルの使用はできない。
プリンター定義テーブルの使用をオンにすれば、Java印刷は使えない。
そういう関係にあるみたい。
- プリンター定義テーブルもJava印刷もオフだと、文字化け用紙が量産される。
- Java印刷では、印刷されるがバーコードは出ないし、印刷位置もちとズレる(我慢できないほどではないし、設定次第?)
- プリンター定義テーブルを「ASCIIテキスト・モード」で出すと、文字化け用紙が止まらない。
- プリンター定義テーブルを「IBM5577」で出すと、印刷位置もバーコードも完璧に印刷できた。
しかもクライアントアクセス時で使っていたPDT印刷とまったく同じ印刷位置に出てきた。
プリンター定義ファイルが要らないなんて、これは便利だ。
終わりに
まだウチはACS準備段階だけど、某J〇CCという会社が言うには、
ACSは印刷関連に不具合があると同じことを言っており、とりあえずクライアントアクセスでもいいのでは?と言っていた。
とりあえず印刷位置と罫線とバーコードが出れば問題無いので、ウチは使えそうかな。
コメント