5.3.2 DirectPrintService.xmlの設定
ダイレクト印刷機能に関わる設定には以下の項目があります。
パラメータ | 型 | 説明 | インストール時の デフォルト値 |
---|---|---|---|
browserset | string | レスポンスを返すブラウザの設定。ここで設定されていないブラウザからリクエストがあった場合「defaultBrowser」にレスポンスを返します。 | iexplore=iexplore, firefox=firefox, chrome=chrome, browser_broker=Edge, RuntimeBroker=Edge, explorer=Edge, sihost=Edge, msedge=msedge |
cleanup_tmpfolder | bool | 印刷終了後に、tmpFolderPathに保存された一時ファイルを削除します。また、DirectPrintServiceの開始時および終了時に一時フォルダをクリーンアップします。 | true ※1 |
cpucheckloopmax | int | クライアントマシンのCPU使用率をチェックし「cpucheckpercentage」未満に下がるまで処理を待機します。(チェック回数が多いと待機時間が増え印刷処理時間が遅くなるため基本的に0以外に変更しないでください) | 0 |
cpucheckpercentage | int | 「cpucheckloopmax」が1以上の場合、CPU使用率が当該閾値未満になるまで印刷処理を待機します。 | 70 |
defaultBrowser | string | デフォルトブラウザ識別子 | msedge または Edge ※2 |
defaultPrinterCheckInterval | int | デフォルトプリンタ取得処理のループ間隔 (ミリ秒) | 33 |
defaultPrinterTimeout | int | デフォルトプリンタ取得処理のタイムアウト時間 (ミリ秒) | 10000 |
exitTimerEnabled | bool | DirectPrintServiceを自動終了します(定期的にメモリを解放するため基本的にはtrueにしてください) | true |
exitTimerLimit | int | 「exitTimerEnabled」がTRUEの場合、前回の印刷要求から当該時間経過後にDirectPrintServiceを自動終了します(秒) | 30 |
formCreateRetryNum | int | フォーム作成処理の最大リトライ回数 | 5 |
formCreateRetryWaitMsec | int | フォーム作成処理のリトライ待機時間(msec) | 500 |
formCreateTimeoutCheckMsec | int | フォーム作成状況をチェックする間隔(msec) | 100 |
formCreateTimeoutMsec | int | フォーム作成処理のタイムアウト時間(msec) | 10000 |
histMax | int | 印刷履歴保持最大数 | 100 |
holdTime | int | 印刷履歴の最大保持時間(秒) | 86400 |
killProcessNames | string | Acrobat Reader/Acrobat関連プロセスkill処理の対象になるプロセスの名称(カンマ区切り) | AcroRd32,Acrobat,RdrCEF |
killProcessPrintCount | int | Acrobat Reader/Acrobat関連プロセスkill処理を呼ぶまでの、同プリンタでの印刷最大回数 (0、1の場合は毎回killする。-1の場合はkillしない) |
0 |
loadRetryNum | int | 一時ファイルロード処理の最大リトライ回数 リトライ回数なので、0に設定した場合でも、1回はロードを行う |
5 |
loadRetryWaitMsec | int | 一時ファイルロード処理のリトライ待機時間 (ミリ秒) | 1000 |
port | int | ポート番号 | 3000 |
printDlgFindTimeOut | int | setPrintDialogメソッドがTRUEの場合、印刷ダイアログを発見出来ない時のタイムアウト(ミリ秒) | 10000 |
printDlgLeaveTimeOut | int | 印刷ダイアログと進捗状況ダイアログが閉じた後に、内部の印刷フォームを終了するまでの時間 (秒) | 3 |
printDlgName | string | setPrintDialogメソッドがTRUEの場合、監視対象となるダイアログ名 | 印刷|進行状況 |
printDlgStayingTimeCheck | int | 印刷ダイアログまたは進捗状況ダイアログが表示されたまま、印刷が行われない場合のタイムアウト (ミリ秒) | 60000 |
printFormTimerInterval | int | 内部イベントチェックのインターバル (ミリ秒) | 100 |
printProcessThreadWaitMsec | int | 印刷スレッドのメインループ待機時間 (ミリ秒) | 100 |
printformbythread | bool | 印刷フォームをスレッド実行するフラグ auto:必ずスレッド起動 true:必ずスレッド実行 false:必ず関数実行 |
auto |
queueSize | int | 印刷キュー保持数 | 100 |
responseTemplate | string | レスポンスひな形htmlファイル | C:¥ProgramData¥brainsellers¥ DirectPrint¥html¥response.html |
spoolTimeOut | int | スプーラ監視タイムアウト (ミリ秒) | 60000 |
sppPass | int | sppファイル解凍パスワード(base64エンコーディング済み) | 空文字 |
tmpFolderPath | string | 一時ファイル作成フォルダパス | C:¥ProgramData¥brainsellers¥ DirectPrint¥tmp |
- ※1通常はtrueで運用してください。cleanup_tmpfolder=falseにした場合、tmpFolderPathのPDFファイルが削除されずに残り続けます。大量印刷時はクライアント端末のディスク容量を逼迫させる可能性があるため、ユーザにて定期的に一時フォルダのファイルを削除するような処理を実装する必要があります。
- ※2OSのバージョンによりデフォルトブラウザが異なる場合があります。Chromium 版 Edge の場合は msedge 、Microsoft Edge レガシの場合は Edge になります。
DirectPrintService.xmlの設定例
<?xml version="1.0" encoding="UTF-8"?> <properties> <section key="Application"> <entry key="browserset" type="string">iexplore=iexplore,firefox=firefox,chrome=chrome,browser_broker=Edge,RuntimeBroker=Edge,explorer=Edge,sihost=Edge,msedge=msedge</entry> <entry key="cleanup_tmpfolder" type="string">true</entry> <entry key="cpucheckloopmax" type="string">0</entry> <entry key="cpucheckpercentage" type="string">70</entry> <entry key="defaultBrowser" type="string">msedge</entry> <entry key="defaultPrinterCheckInterval" type="string">33</entry> <entry key="defaultPrinterTimeout" type="string">10000</entry> <entry key="exitTimerEnabled" type="string">true</entry> <entry key="exitTimerLimit" type="string">30</entry> <entry key="formCreateRetryNum" type="string">5</entry> <entry key="formCreateRetryWaitMsec" type="string">500</entry> <entry key="formCreateTimeoutCheckMsec" type="string">100</entry> <entry key="formCreateTimeoutMsec" type="string">10000</entry> <entry key="histMax" type="string">100</entry> <entry key="holdTime" type="string">86400</entry> <entry key="killProcessNames" type="string">AcroRd32,Acrobat,RdrCEF</entry> <entry key="killProcessPrintCount" type="string">0</entry> <entry key="loadRetryNum" type="string">5</entry> <entry key="loadRetryWaitMsec" type="string">1000</entry> <entry key="port" type="string">3000</entry> <entry key="printDlgFindTimeOut" type="string">10000</entry> <entry key="printDlgLeaveTimeOut" type="string">3</entry> <entry key="printDlgName" type="string">印刷|進行状況</entry> <entry key="printDlgStayingTimeCheck" type="string">60000</entry> <entry key="printFormTimerInterval" type="string">100</entry> <entry key="printProcessThreadWaitMsec" type="string">100</entry> <entry key="printformbythread" type="string">auto</entry> <entry key="queueSize" type="string">100</entry> <entry key="responseTemplate" type="string">C:\ProgramData\brainsellers\DirectPrint\html\response.html</entry> <entry key="spoolTimeOut" type="string">60000</entry> <entry key="sppPass" type="string"></entry> <entry key="tmpFolderPath" type="string">C:\ProgramData\brainsellers\DirectPrint\tmp</entry> </section> </properties>
- 設定はシステム管理者からの指示があった場合のみ変更してください。
- 一時ファイル作成フォルダは、印刷実行者が書き込み権限を持っている必要があります。