始めの言葉

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

2018年5月13日日曜日

AS/400 プリンティングに求められるソリューション 第37回 - MVPを使ったPDFの自動印刷 - 3 -

MVPを使った自動印刷は、プリンターの種類を問わない点は便利ですが、Windows PC 経由であることや、Adobe Reader に依存する印刷になるので、運用上の注意点があります。技術的に細かい話で恐縮ですが、以下に整理します。
1. 印刷順序
前回お話したように、"AcroRd32.exe" を実行する際のオプションに "/n" を指定していると、複数の PDF スプールの印刷を並行処理しますので、後から受信した PDF スプールのサイズの方が小さいと、その前の PDF スプールよりも先に印刷されてしまうという現象が発生する可能性があります。PDF スプールの送信順通りの印刷が必要な場合は、"/n" は指定しないようにしてください。
そして、MVP の設定変更を行います。
MVP をインストールしたフォルダー(例:C:\MVP)の下のフォルダー(\MappingSpooler)にあるファイル MVPconf.iniファイルをメモ帳で開きます。下から 3 行目の KillProcessIfNeed の値を 1 に変更して、上書き保存します。これによって、1つの PDF スプールを印刷した後、MVP は毎回、Adobe Reader を終了します。
MVPconf..ini ファイルの例

2. Adobe Reader のセキュリティ設定
MVP のマニュアルには詳細を記載していますが、Adobe 社の公開情報によると、悪意のある PDF ファイルが任意の実行可能ファイルを起動したり、システム・ディレクトリーやWindows レジストリーに書き込んだりすることを防ぐために、バージョン X から”保護モード”という機能が追加され、デフォルトでは有効化されています。その影響で、 MVP はサービス・モードで使用できなくなります。そこで、MVP をサービス・モードで使用するには、Adobe Reader の環境設定メニューで”保護モード”を解除する必要があります。
ただし、そうすると、同じ PC で Mapping が生成した安全な PDF ファイル以外の PDF ファイルに対しては、上記のようなリスクが存在することになります。MVP をサービス・モードで使用するかどうかは、Mapping が生成する以外のPDFファイルを扱う可能性と、上記のリスクを考慮して、総合的に判断してください。
Adobe Reader DC の環境設定画面

3. PDF に合わせた用紙サイズで印刷する
同じプリンターに対して印刷させる PDF ファイルでも、使用する用紙サイズが異なることは、当然あります。用紙サイズに合わせて MapDraw を使って帳票設計し、それを使って Mapping が生成した PDF ファイルを MVP 経由で正しい用紙サイズで印刷させるには、Adobe Reader 側の設定を次のように変更しておく必要があります。そうしておかないと、用紙サイズ毎に異なるプリンターを MVP 上で登録し、OUTQ もそれに合わせて用紙サイズ毎に作って、使い分けないとならなくなります。
そこで、先ず、Adobe Reader で PDF ファイルを開きます。次に、"ファイル"->"印刷"を選択して開いた画面で、"ページサイズ処理" に "実際のサイズ" を指定し、"PDFのページサイズに合わせて用紙を選択" にチェックを入れます。この設定で、一旦、"印刷"ボタンを押して印刷させると、この設定が保存されます。
Adobe Reader DC の印刷設定画面
4. PC の定期的な再起動
MVP が稼動する PC では、稼働中は \MappingSpooler\spool\プリンター名 フォルダーの下に PDF スプールが溜まっていきます。従って永い間 PC を再起動しないでおくと、溜まった PDF スプールの影響で、PC の動作が遅くなるという現象が見られることも出てきます。
それを回避するために、主として MVP を使用する目的で PC を設置されたお客様の場合、1 週間等の決まった間隔で自動的に再起動するように設定されていることがあります。その場合、MVP の \MappingSpooler フォルダーの下にある spool.list ファイルの問題で、 MVP にエラー・メッセージが表示され、印刷できないという現象が報告されています。
そのようなケースでは、次の点をチェックしてください。
- 対策を行ったバージョンである MVP の最新版は、 V.7.1.0.35583 です。このバージョンのインストール・プログラムを実行して、途中 Repair を選択すると、導入済みの MVP は最新版に更新されます。
- このバージョンでは、プリファレンス設定メニューの中に、印刷後に PDF スプールを削除する設定が追加されています。削除までの時間も調整可能になっています。
- Windows10 等、Windows7 以降の Windows では、MVP は必ず管理者権限で実行してください。特に、自動的に起動する設定の中では、管理者権限で MVP が起動するように設定することが重要です。具体的には、Windows のタスク・スケジューラーにおいて、"タスクの作成" メニューの中の "全般" 画面で、"名前" 欄に "MVP""を指定し、"最上位の特権で実行する" にチェックを入れて、"構成"を "Windows 7Windows Server 2008 R2" に変更します。
Windows タスク・スケジューラーの画面

- 再起動のために、Windows がシャット・ダウンする前に、MVP を終了させることが重要です。MVP がまだ spool.list ファイルに書き込み中に PC が終了してしまうことも、上記のエラーの一因となっています。そこで、GUI モードで使用している場合には、
taskkill /F /IM MappingVirtualPrinter.exe /T
というコマンドを、シャットダウン前に実行するように設定してください。

0 件のコメント:

コメントを投稿