統合印刷ジョブが誤ったプリンターやランダムなプリンターに送信される
症状
リダイレクト/フェイルオーバーシステムが正しく動作していないように見える場合、以下のような現象が発生することがあります:
- 統合印刷がランダムなプリンターで出力されたり、PDFへの印刷が試みられる。
- 統合システムが、ジョブを印刷エンジンに送信した後、エラーやクラッシュ、ログの記録もなく無限にハングする。
- 統合がネットワークプリンターへの印刷を試みた際、印刷ジョブがローカルプリンターに送られてしまう。
対象製品
BarTender 2019以降
回答
管理コンソールはユーザーごとに動作しますが、プリンター設定は「Advanced Printer and Driver Settings」設定ファイルに保存されます。デフォルトでは、このファイルは以下の場所にあります:
C:\ProgramData\Seagull\BarTender\AdvancedPrinterAndDriverSettings.xml
このファイルは、システム上のすべてのユーザーやサービスコンテキストで共有されます。ただし、実際のリダイレクトの順序が関わる場合、設定が不安定に見えることがあります。デフォルトでは、現在のユーザーのデフォルトプリンターが最終的な出力先として使われますが、Windowsがこれを勝手に変更することがあります。
リダイレクト/フェイルオーバーシステムの基本
リダイレクト/フェイルオーバーシステムの設定は、管理コンソールの「プリンター設定」セクションにあります。このセクションには、システムにインストールされているすべてのプリンターと、それぞれの設定や詳細が表示されます。
各プリンターごとに、リダイレクトやフェイルオーバーの条件、プリンター障害時の順序を設定できます:
また、「プリンター設定」セクションの上部にある「プリンターのリダイレクトとフェイルオーバー設定を使用する」チェックボックスをオンにすることで、すべてのプリンターに共通のリダイレクト/フェイルオーバー設定を適用できます。
デフォルトプリンターとは?
デフォルトプリンターを明示的に設定しない場合、Windowsはユーザーの利用状況に応じて自動的にデフォルトプリンターを選択します。このため、ユーザーの意図に関係なくプリンターが変更されることがあります。これはWindows 10などの「スマート印刷」機能によるもので、Windowsがデフォルトプリンターを変更すると、実際の出力順序も変わる可能性があります。
また、Windowsのデフォルトプリンターはユーザーごとに設定されるため、誰がコンピューターにログインしているかによっても出力順序が変わることがあります。
ベストプラクティス
デフォルトとして設定されていないチェックボックスやリダイレクト設定は、すべてのユーザーやコンテキストで保持されます。ただし、デフォルトではリダイレクトの順序がデフォルトプリンターに設定されています。一貫性を保つ方法があります。
- 管理コンソールを開き、「プリンター設定」を選択します。
- 右上に「デフォルトプリンター」というボタンがあります。このダイアログを開くと、デフォルトプリンターを管理する2つのオプションが表示されます。Windowsの「スマート印刷」機能のため、最初のオプションを選ぶとリダイレクトが不安定になることがあります。
- 「BarTenderのデフォルトプリンターを使用する」オプションを使うと、下部のチェックボックスがオンになっている限り、BarTender内で全ユーザー・全コンテキストで特定のデフォルトプリンターを維持できます。この設定は設定ファイルに保存されます。
このダイアログについて:
- システムにインストールされている任意のプリンターをデフォルトプリンターに設定できます。
- BarTenderで使用するデフォルトプリンターを変更したい場合は、ここでいつでも変更できます。
- この設定はBarTender内のデフォルトプリンターのみを変更し、Windowsのデフォルトプリンターには影響しません。
UNCまたはIPプリンターの利用について
統合を実行しているシステムにインストールされていないネットワークプリンターを使用している場合、Print Schedulerがそのネットワークリソースにアクセスする権限を持っていない可能性があります。以下の手順で対応してください(これを行うには必ずBarTender 2019 R5以降にアップデートしてください):
- スタートメニューをクリックし、「サービス」と入力してWindowsのサービス一覧を開きます。
- BarTender System Serviceを停止します。
- 依存サービスの停止を求められた場合は、OKまたははいを選択します。
- BarTender System Serviceを右クリックし、プロパティをクリックします。
- ログオンタブをクリックします。
- サービスをユーザーで実行するように設定し、パスワードが変更されないドメインレベルのユーザーアカウントを入力します。
- 資格情報を入力したら、OKをクリックします。
- 以下の順番でサービスを起動します:
- BarTender System Service
- Printer Maestro
- BarTender Print Scheduler
- BarTender Integration Service
リダイレクトが続く場合は、統合の権限を昇格させることもできます。
統合ファイルで権限を設定したら、必ずテストを行い、その後再デプロイしてください。