PDF ファイルを"Adobe Reader"で開いて、プリンター・ドライバーを使って印刷するという、人手によるオペレーションでは、ドライバーのプロパティ画面で、そのような設定を行なうことができます。(もちろん、プリンターの持っている機能に依存しますが)
しかし、AS/400 上で Mapping が PDF ファイルを生成し、それを OUTQ を通して LAN 直結されたプリンターに直接印刷させる場合には、そのような設定を指定する場所も、タイミングもありません。
そこで、出てくるのが"PJLコマンド"です。PJLコマンドについては、今まで2回、簡単にお話したことがありますが、今回はもう少し実践的なお話をしたいと思います。
使用するプリンターが、どのようなPJLコマンドをサポートしているか、それがPDFダイレクト印刷の制御に使用できるかどうかは、正式には、プリンター・メーカーに問い合わせて仕様書等を入手する必要がありますが、ここでは、希望する制御に対応したPJLコマンドを簡単に調べて、実際に有効かどうかを調べるための手順をお話します。
考え方は簡単です。ご自分の使用するプリンターや複合機の、Windowsプリンター・ドライバーのプロパティ画面で設定できる様々な機能は、実は、そのまま、そのプリンターの持っているPJLコマンドが対応しています。そこで、プロパティを変更する前と後の印刷データを比較することにより、ドライバーから発行される、どのPJLコマンドがその機能に対応しているかを見つけ出すという考え方です。
ただし、そのPJLコマンドは、Windowsからのドライバー印刷が前提のものですから、全てがそのままPDFダイレクト印刷でも機能するとは、言い切れないという点を、予めご承知おきください。
手順は、次のとおりです。
1. プリンターのドライバーのプロパティ画面で、「ポート」を「FILE:」に変更して保存します。
ポートをFILE:に変更 |
2. メモ帳に簡単なデータ(例:ABC)を書き込んでから、印刷を行なうと、下記の画面のように「出力
ファイル名と保存場所の指定 |
3. PDFダイレクト印刷時に指定したい設定(例:給紙トレイをトレイ2に固定する)を、プリンター・ドライ
用紙トレイを2に固定 |
4. Cドライブの直下に保存された2つのファイル(例:ABC1.datとABC2.dat)をメモ帳で開いて比較し
2箇所のPJLコマンドの違い |
(初めに@PJLで始まる設定のための行が、何行もあることに驚かれると思います。)
この例では、
- 「@PJL SET AUTOTRAYCHANGE」が、「ON」から「OFF」に
- 「@PJL SET TRAY」が、「ALL」から「TRAY2」に
5. そこで、"ABC2.dat"ファイルに対して、次の編集を行ってから別名(例:settray2.pjl)保存します。
settra2.pjlの内容 |
(2) 最終行の@PJL ENTER LANGUAGE = RPCSを@PJL ENTER LANGUAGE = PDFに変更します。これは、プリンターをPDFダイレクト印刷モードに切り替えるためのものです。(多くのプリンターでは、送信されてきた印刷データの種類を自動検知して、そのモードに切り替わるようにできていますが、誤検知する場合を考慮して、この変更は必須と考えてください。)
(3) (1)(2)の2行と、@PJL SET AUTOTRAYCHANGE = OFF、@PJL SET TRAY = TRAY2の2行を残して、@PJLで始まる行と、@PJL ENTER LANGUAGE = PDFより後ろのデータを削除します。
(4) @PJL ENTER LANGUAGE = PDFの直後に、改行を追加します。(これは必須です。ご注意ください。)
以上の編集の結果、"settray2.pjl"ファイルの内容は、上の画面のようになります。このファイルをIFS 上の決めた場所に保存します。(例 : /mapping/pjl/settray2.pjl)
6. 印刷する PDF ファイルの先頭に付けるPJLコマンドのファイルの他に、後に付けるファイルが必
PJL_after.pjlファイルの内容 |
メモ帳(テキスト形式)で開くと、次のようなものです。
@PJL EOJ NAME = "Mapping Job"が共通の部分です。つまり、初めに@PJL JOB NAME = "Mapping Job"で指定した JOB の名前の JOB が EOJ(End Of Job)になるという意味です。
この画面の例は、リコー社製プリンター用のものなので、その後に、標準のRPCSモードに戻すための16進コードが書き込まれています。従って、それ以外の場合には、この部分は削除するか、各プリンター・メーカーの仕様に合わせてください。このファイルを、例えば、"PJL_after.pjl"と名づけて、IFS上の決めた場所に保存します。(例 : /mapping/pjl/PJL_after.pjl)
このようにして準備したPJLコマンドのファイルを、前回お話した"MAPIFS2PRT"コマンドのパラメーターとして指定することにより、PDF ファイルの前後をこれらのPJLコマンドで挟んでプリンターに送信するのですが、詳しくは次回にお話しします。
0 件のコメント:
コメントを投稿