始めの言葉

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

2019年12月7日土曜日

MVP を使用した PDF の自動表示

実に、半年振り以上のご無沙汰です。ネタ切れで更新が滞っていましたが、最近、あるお客様のご要望が、MVP を使用することで簡単に実現可能であることが分かりましたので、お知らせいたします。
そのご要望は、AS/400 上の Mapping が生成した PDF ファイルを、端末の画面に自動的に表示するというものです。
個別に組んだバッチ・ファイルと、STRPCCMD を使用して実現する方法は、既に複数のお客様で実行されていますが、今回ご紹介する方法は、MVP のみで実現する方法です。
手順は簡単です。
1. MVP の「サーバーの構成」画面を、次のように設定します。

- 「プログラムを使って印刷する」を選択します。(これは通常の印刷する場合と同じです。)
- 「プログラム」欄に次のように設定します。(このパラメーターの設定が、通常の印刷の場合と異なります。)

"C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" %1

これは、64 ビット版 Windows10に Acrobat Reader DC がインストールされている場合の指定です。 
"AcroRd32.exe" のあるフォルダーを正しく指定すること、その後ろに "%1" のみ追記することが、重要です。
なお、印刷するわけではないので、「ローカル・プリンター」は、どれでも構いません。
もちろん、「バーチャル・プリンター」には半角英数文字を使って名前を付けて、「新規作成」ボタンを押して登録します。
MVP サーバーの構成の設定

2. このバーチャル・プリンターを宛先とした、OUTQ を作ります。OUTQ のパラメーターも、通常の MVP 経由の印刷を行う場合と同じです。
2-1. CRTOUTQ コマンドを入力して、F4 キーを押します。ここでは、OUTQ 名を "MVP" としています。
OUTQ の作成-1
2-2. 次の値を指定します。

- リモート・システム :*INTNETADR
- リモート印刷装置待ち行列 : RPCS MVP「構成」画面の「バーチャル・プリンター名」と一致させます。
- 接続タイプ : *IP
- IP アドレス : MVP が稼働する PC IP アドレス
- 宛先タイプ : *OTHER
OUTQ の作成-2  

2-3. 更に次の値を指定します。

- ホスト印刷変換 : *NO
- ユーザー・データ変換 : *NONE
- 宛先オプション : XAIX
OUTQ の作成-3
3. MAPIFS2PRT コマンドを使って、IFS 上の PDF ファイルを、作成した OUTQ に対して印刷(送信)します。

MAPIFS2PRT コマンド
4. すると、MVP が送信された PDF ファイルを受信します。
MVP が PDF を受信した
5. そして、Acrobat Reader が自動的に起動して、受信した PDF ファイルを表示します。
受信した PDF ファイルを表示
6. 受信した PDF ファイルは、MVP のインストールされているフォルダーの中の、バーチャル・プリンター名のフォルダーに保存されています。
例 : C:\MVP\MappingSpooler\Spool\RPCS
PDF は、バーチャル・プリンター名のフォルダーに保存される
この方法のポイントは、MVP のサーバーの構成の "プログラム" 欄で "AcroRd32.exe" の後に "%1" のみを指定するところにあります。
横にある "?" ボタンを押すと、次のような画面が現れます。
MVP 有効なパラメーターのリスト
これによって、"%1" が "ローカル・ファイル名"、つまり受信した PDF ファイルを指していることが分かります。そのファイルに対して "AcroRd32.exe" が実行されるので、画面に表示されるという仕組みです。
"紙に印刷する代わりに、同じ操作で画面に帳票を表示する" ことによって、ユーザーは受信した PDF ファイルを閲覧して、あるいは検索して、必要なページのみを印刷するという運用に切り替えることができます。
PDF ファイルの自動表示を簡単に実現できるこの方法にも、課題があります。OUTQ の設定で、PC の IP アドレスを特定しないとならないことです。PC の IP アドレスが、DHCP になっている場合には、適用が難しいかと思います。もっと検討が必要です。