printToPdfFromDocuWorksFileはコンソールアプリケーションです。コンソールアプリケーションは、eDocArrangementのコマンド実行から呼び出すことが可能です。
DocuWorks Viewerの印刷機能※を使用して、DocuWorks文書をPDFファイルに変換します。
※ "Microsoft Print to PDF" や "DocuWorks PDF" などの仮想プリンターを使用します。物理プリンターを指定すればプリンターへの印刷を行うこともできます。
仮想プリンターを使用してPDFを出力するので、DocuWorks文書がテキストを持っていれば、出力されるPDFもテキストを保持したPDFとなります。
DocuWorks Viewer (dwviewer.exe)はコマンド実行時のオプションを指定することで、指定のDocuWorks文書を印刷することができます。
しかし、dwviewer.exeの仕様に以下の問題があり、無条件で呼び出すだけでは自動処理としては問題が生じます。
dwviewer.exeで印刷中のダイアログを表示しない「/spt」や「/oopnocancel」オプションを指定しても、XDWファイルが破損している場合や、プリンターのスプーラーがメモリ不足になった場合などは、エラーダイアログがでてしまう。
サービスプログラムや常駐アプリから実行した場合には、ダイアログが表示されてしまうケースがあるとダイアログを閉じることができないため、そこで処理が停止してしまいます。自動処理では致命的な問題となります。
そのため、printToPdfFromDocuWorksFileは以下の様な対策を行っています。
printToPdfFromDocuWorksFileが、dwviewer.exeを呼び出す前にDocuWorks文書がオープンできるかチェックします。
正常にオープンできなかった場合は、dwviewer.exeの呼び出しは行わず、エラー処理を行い処理を終了します。
DocuWorks ViewerやDocuWorks PDFがダイアログを表示すると、自動処理ではダイアログが表示されたままになり、DocuWorks Viewerのプロセスが残ったままの状態になります。
そこでprintToPdfFromDocuWorksFileは、DocuWorks ViewerやDocuWorks PDFのダイアログ表示を検出して、閉じる処理を試行します。その後プロセスが終了すれば、エラー処理を行います。
printToPdfFromDocuWorksFileがダイアログを閉じる直前のスクリーンショットを保存する事もできます。
一定時間、ダイアログを閉じる処理を試行してもプロセスが終了しない場合は、エラー処理を行います。その場合、最終的にDocuWorks Viewerのプロセスが残ったままになる可能性があります。
ログオフ状態でサービスから実行を行うとデスクトップが作られないので、DocuWorks Viewerが表示するダイアログを閉じることができません。
「-ppto 60」のようにページ出力タイムアウトを指定すると印刷開始後にダイアログが表示された場合はタイムアウトになるので「-ftwto」を同時に指定するとDocuWorks Viewerを強制終了します。「-ppto 60 -ftwto」を指定するとサービスから実行した場合でも、DocuWorks Viewerがダイアログを表示したままにならず、エラー処理と次の処理を継続実行することができます。
"Microsoft Print to PDF" や "DocuWorks PDF"などの仮想プリンターに大量の印刷指示を行うと、仮想プリンターの動作が不安定になります。
printToPdfFromDocuWorksFileは仮想プリンターの印刷ジョブ数を確認して、2つ以上にならないように待機します。
Windows11のバージョン24H2でプリンターキューを開いた状態でDocuWorks PDFやDocuWorks Viewerを使ってPDF変換を行うと、不完全なPDFが作成される問題が発生しています。
printToPdfFromDocuWorksFileを使用時はプリンターキューを開かないでください。printToPdfFromDocuWorksFileはプリンターキューが開かれていることを検出すると処理中のファイルをエラー処理します。
印刷ジョブから印刷中のページ数を取得できるため、一定時間ページ数に変化がない場合は、印刷に問題が発生している可能性があると判断できます。-pptoオプションを指定すると、指定した秒数の間ページ数が変化しない場合に、印刷ジョブをキャンセルしてエラー処理を行うようになります。
上記の対策を行うことでdwviewer.exeがエラーダイアログを出力することは、ほぼなくなりますが、未知の問題や仮想プリンター側の問題等で印刷が正常終了しないケースがあるかもしれません。
printToPdfFromDocuWorksFileはそのようなレアケースでも対処できるように、-ptoオプションを指定するとdwviewer.exeを呼び出したあと、一定時間制御が戻らない場合はprintToPdfFromDocuWorksFileのエラー処理を行います。
具体的には、印刷ジョブに対して一時停止、キャンセル処理を行います。通常はキャンセルを行ったあと、dwviewer.exeのプロセスは自動的に終了します。
キャンセルしてもdwviewer.exeのプロセスが終了しないケースがある場合は、-ftwtoを指定することでdwviewer.exeのプロセスに対して強制終了の指示を行うことができます。
デフォルト(-ptoオプションを指定しない場合)ではページ数が多いなど、様々なサイズのDocuWorks文書に対応する為、印刷処理が完了するまで待ち続けるようになっています。(処理時間の制限は設けていません)
DocuWorks Viewerや印刷処理が停止してしまう事がある場合は、-ptoオプションで適切なタイムアウト値を設定してください。
printToPdfFromDocuWorksFile.exe -i 入力DocuWorks文書ファイル名 -p プリンター名 [ドライバー名 [ポート名]] [-o 出力PDFファイル名] [-wf 作業フォルダ名] [-mdtw] [-sdf 文書変換成功時のDocuWorks文書ファイル移動フォルダ名] [-fdf 文書変換失敗時のDocuWorks文書ファイル移動フォルダ名] [-srdf] [-async] [-pto 文書変換タイムアウト] [-ppto ページ出力タイムアウト] [-ftwto] [-ssjbcd スクリーンショットファイル名] [-slf ログファイル名] [-flf エラーログファイル名] [-z 結果ファイル名] [-ec] [-debug-dncdf]
「name 1.txt」のように値にスペースが含まれる場合は、"name 1.txt" のようにダブルクォートで括ってください。
[]は省略可能な引数です。 引数の仕様は以下の通りです。
| -i 入力DocuWorks文書ファイル名 | 変換元のDocuWorks文書ファイル名を指定します。 DocuWorks文書ファイルのドキュメントとバインダーに対応しています。 (拡張子 .xdw .xbd) |
|---|---|
| -p プリンター名 [ドライバー名 [ポート名]] |
変換に使用するプリンター名、ドライバー名、ポート名を指定します。 仮想プリンターの場合 -p "DocuWorks PDF" -o "D:\出力\test.pdf" -oを指定した場合、プリンター名のみ指定を行うと、プリンター名と同じ名前をドライバー名として使用します。 物理プリンターの場合 -p "Canon LBP622C" |
| -o 出力PDFファイル名 |
出力するPDFファイル名を指定します。仮想プリンターを使用する場合に、出力ファイル名を指定します。物理プリンターを使用する場合は-oは指定しません。 出力先フォルダに同一ファイル名のファイルが存在する時は、ファイル名に連番を付与して重複しないファイル名で出力します。 出力先フォルダが存在しない時はフォルダを作成します。 -pでポート名を指定した場合はポート名を-oで指定した出力PDFファイル名で上書きします。 -oを指定すると指定した出力PDFファイルが作成されるまで待機する動作となります。 |
| -wf 作業フォルダ名 | 文書変換で使用する作業フォルダを指定します。 |
| -mdtw |
文書変換前にDocuWorks文書ファイルを作業フォルダーに移動します。 -mdtw スイッチを指定する時は、-sdf スイッチ、-srdf スイッチの何れかと -fdf スイッチで変換処理後のDocuWorks文書ファイル移動フォルダーなどを指定してください。 |
| -sdf 文書変換成功時の入力DocuWorks文書ファイル移動フォルダー名 |
文書変換成功時のDocuWorks文書ファイル移動フォルダを指定します。 移動先フォルダに同一ファイル名のファイルが存在する時は、ファイル名に連番を付与して重複しないファイル名で移動します。 移動先フォルダが存在しない時はフォルダを作成します。 -mdtw スイッチを指定した時に適用されます。 |
| -fdf 文書変換失敗時の入力DocuWorks文書ファイル移動フォルダー名 |
文書変換失敗時のDocuWorks文書ファイル移動フォルダを指定します。 移動先フォルダに同一ファイル名のファイルが存在する時は、ファイル名に連番を付与して重複しないファイル名で移動します。 移動先フォルダが存在しない時はフォルダを作成します。 -mdtw スイッチを指定した時に適用されます。 |
| -srdf | 文書変換成功時にDocuWorks文書ファイルを削除します。 -mdtw スイッチを指定した時に適用されます。 -sdf スイッチが指定されていた時は無視されます。 |
| -async | 文書変換を非同期実行します。文書変換を実行する別プロセスを起動後、自プロセスはすぐに終了します。 |
| -pto 文書変換タイムアウト |
文書変換のタイムアウト値を秒で指定します。 DocuWorks Viewerの起動からプリンターがPDFファイルを出力し終わるまでの時間が対象となります。 タイムアウト発生時には印刷ジョブをキャンセルします。(状況によっては印刷ジョブが残ってしまう事があります) 省略した時はタイムアウトの処理は行いません。 |
| -ppto ページ出力タイムアウト |
ページ出力のタイムアウト値を秒で指定します。 指定した時間が経過しても印刷ジョブのページ数が変化しなかった時にタイムアウトとなります タイムアウト発生時には印刷ジョブをキャンセルします。(状況によっては印刷ジョブが残ってしまう事があります) 省略した時はタイムアウトの処理は行いません。 |
| -ftwto |
文書変換のタイムアウト発生時にDocuWorks Viewerが起動していた場合は、DocuWorks Viewerを強制終了します。 -pto または -ppto を指定した時に適用されます。 省略した時は強制終了の処理は行いません。 |
| -ssjbcd スクリーンショットファイル名 |
DocuWorks Viewer がダイアログを表示した際に保存するスクリーンショットファイル名を指定します。 スクリーンショットファイルの拡張子は .png, .jpeg (.jpg), .tiff (.tif), .bmp の何れかです。
スクリーンショットを保存する際にファイル名の末尾にプロセスIDと日時の文字列を付与します。
省略した時はスクリーンショットの保存は行いません。 スクリーンショットはデスクトップ画面が表示されている状態でしか動作しません。ログオフした状態やロック画面では動作しません。 |
| -slf ログファイル名 | ログを出力するファイル名を指定します。 ログファイルが存在していた時は追加書き込みします。 ログファイルを出力するフォルダが存在しない時はフォルダを作成します。 |
| -flf エラーログファイル名 |
エラーログを出力するファイル名を指定します。 エラーログファイルが存在していた時は追加書き込みします。 エラーログファイルを出力するフォルダが存在しない時はフォルダを作成します。 |
| -z 結果ファイル名 | 処理結果をファイルに出力します。 結果ファイルが存在していた時は上書きします。 処理結果を出力するフォルダが存在しない時はフォルダを作成します。 |
| -ec | 結果ファイルに出力される終了コードと、エラーメッセージの一覧を出力します。 |
| -debug-dncdf | 変換元のDocuWorks文書ファイルのチェックを行わないようにします。 テストなどで DocuWorks Viewer にダイアログを表示させたい時に使用します。 |
| -debug-dncdvw | DocuWorks Viewer が表示するダイアログのチェックを行わないようにします。 テストなどで DocuWorks Viewer が表示するダイアログを無視したい時に使用します。 |
| -debug-pqacir | DocuWorks Viewer 起動後に印刷キューアプリケーションが起動した事にします。 テストなどで使用します。 |
| -debug-pjiiie | DocuWorks Viewer 終了後の印刷完了待ちで、対象印刷ジョブ情報の取得でエラーが発生した事にします。 テストなどで使用します。 |
| -debug-ueo | DocuWorks Viewer 終了後に予期せぬ例外を発生させます。 テストなどで使用します。 |
-asyncオプションを指定すると非同期で処理が実行されます。
非同期実行の場合、ワーカープロセスにジョブを登録して、自プロセスはすぐに終了します。ワーカープロセスが起動していない場合はワーカープロセスを起動します。
eDocArrangementから呼び出す場合で、非同期実行を使用する場合、以下のような呼び出し方法を行うことを想定しています。
printToPdfFromDocuWorksFile.exe -i "入力DocuWorks文書ファイル名" -p "Microsoft Print to PDF" -o "出力PDFファイル名" -async -mdtw -sdf "文書変換成功時の入力DocuWorks文書ファイル移動フォルダ名" -fdf "文書変換失敗時の入力DocuWorks文書ファイル移動フォルダ名" -slf "ログファイル名" -flf "エラーログファイル名" -wf "作業フォルダ名"
printToPdfFromDocuWorksFileの-sdf, -fdfオプションを使って、変換処理後に入力ファイルを指定フォルダに移動します。
変換に失敗した場合は、エラーフォルダに移動されます。
同時実行プロセスの上限に達した場合は、処理を行わず、入力ファイルの移動も行いませんので、次回のフォルダ監視で再処理されます。
また、非同期実行の場合は、-slf, -flf オプションを指定してprintToPdfFromDocuWorksFileでログの出力を行うことを推奨します。
文書変換処理を円滑に行う為に文書変換処理のキュー管理を行っています。
printToPdfFromDocuWorksFileコマンド実行すると、呼び出し元(同期 or 非同期)、ワーカー、ランナーの3つのプロセスが起動します。複数のプロセスが連携して文書変換を行います。
-asyncオプションを指定しなかった時は同期的に処理が実行されますが、同期実行の場合でもワーカーとランナーのプロセスが起動して文書変換処理を行います。同期プロセスは対象の文書変換処理を実行するランナープロセスが終了するまで待機します。
printToPdfFromDocuWorksFile実行中にタスクマネージャーで確認すると、コマンド起動の数よりも多い数のプロセスが存在しますが正常な状態です。
printToPdfFromDocuWorksFileのプロセス名は、呼び出し元(同期 or 非同期)、ワーカー、ランナー、全て printToPdfFromDocuWorksFile となります。
全ての文書変換処理が終わった後も暫くの間、ワーカーのプロセスが常駐していますが、時間経過で自動的に終了します。
変換後のPDFファイルの画質等については、PDFファイルを出力するプリンターの印刷設定画面の内容が反映されます。余白などの設定も対象となるようです。
-mdtwオプションを指定した場合、以下のエラー処理を行います。
-sdf, -fdfのフォルダが指定されていること。また、指定されたフォルダが有効なパスであること。
条件を満たしていない場合は、処理を終了します。
入力ファイルを-wf で指定されたフォルダ(作業フォルダ)に移動する。
DocuWorks Viewer を起動して、指定のPDFファイルを出力するプリンターへの印刷を行う。
DocuWorks Viewer が終了せず戻ってこない場合(-ptoオプションを指定してタイムアウトになった場合)は、以下の処理を試行します。
指定のPDFファイルの出力が完了するまで待機する。
PDFファイルの出力が完了しない場合(-ptoオプションを指定してタイムアウトになった場合)は、以下の処理を試行します。
スイッチ -mdtw を使用した場合、DocuWorks文書ファイルを作業フォルダーに移動してから処理を行います。
処理が完了するまでに、停電や強制終了などでアプリケーションが終了してしまうと、作業フォルダーに対象ファイルが残った状態となります。
printToPdfFromDocuWorksFileは、作業フォルダー内に未処理の印刷ジョブ情報が残っている場合は、文書変換処理を続行するようになっています。
同期プロセスとして起動されジョブ完了まで待機する。
非同期プロセスとして起動されジョブ登録後すぐに終了する。
引数のエラーチェック。
入力ファイルの存在チェックや検査。
Mutexを使用してワーカープロセスの起動状態を確認する。ワーカープロセスが起動していない場合は、自プロセスからワーカープロセスを起動する。
ワーカープロセスとの IPC(メモリマップドファイル)が確立されるまで待機する。一定時間接続できない場合はタイムアウトエラー(終了コード37)となる。
作業フォルダー内にタイムスタンプベースのジョブフォルダーを排他的に作成する。衝突時は連番を付与する。
コマンド引数をジョブフォルダー内の arguments.txt に書き込む。
入力DocuWorks文書ファイルをジョブフォルダー内の in フォルダーに移動する。
IPC(メモリマップドファイル)を介してワーカープロセスにジョブ登録を通知する。
IPC(メモリマップドファイル)を介してワーカープロセスからのメッセージを待機する。
受信するメッセージ:
一定時間(10秒)生存通知を受信しない場合はタイムアウトエラー(終了コード37)となる。
入力DocuWorks文書ファイルを作業フォルダーに移動する設定(-mdtw)の場合、入力ファイルが移動された(元の場所から消えた)ことを検知するまで一定時間待機する。その後、自プロセスを終了する。
ワーカープロセスは同期/非同期プロセスから起動され、ジョブキューの管理とランナープロセスの起動を担当する。
ジョブキューフォルダー(job~COMPUTERNAME/queue)とジョブ作業フォルダー(job~COMPUTERNAME/work)を作成する。
前回のワーカーが異常終了した場合に残った作業フォルダー内のファイルを削除する。
IPC(メモリマップドファイル)からコマンド引数を受信したらパースしてジョブフォルダーを作成し、キューに登録する。
以下のメッセージを IPC 経由で待機中の全ての同期プロセスに送信する。
キューに未処理のジョブが存在する場合、ランナープロセスを起動してジョブを実行する。ランナープロセスの終了を待ってから次のジョブを処理する。
同期プロセスからのジョブの場合は、ランナープロセスの処理中に以下のメッセージを IPC 経由で同期プロセスに送信する。
一定時間(15秒)、新しいジョブが登録されない、処理中のジョブが無い、待機中の同期プロセスが存在しない、の全てを満たす場合に、ワーカープロセスを終了する。終了時に空のジョブキューフォルダー、ジョブ作業フォルダー、ジョブベースフォルダーを削除する。
ランナープロセスはワーカープロセスから起動され、実際の印刷処理(DocuWorks Viewer の起動と監視)を担当する。
プリントキューの取得。
エラー終了。
作業フォルダーの作成とファイル移動。
プリンターキューの印刷ジョブ数が指定数未満になったらループ終了。
印刷ジョブ情報リスト取得のメソッドで例外が発生した際にリトライする。失敗した場合は「印刷ジョブ情報取得失敗フラグ」を立てる。
DocuWorks Viewerが存在している間ループを続ける。
Viewerのプロセスが存在しない時はループ終了。
印刷ジョブ情報の「ジョブ名」の文字列に対象ファイル名が含まれているかを判定。
印刷ジョブ情報リスト取得のメソッドで例外が発生した際にリトライする。失敗した場合は「印刷ジョブ情報取得失敗フラグ」を立てる。
印刷ジョブ情報からスプール中のページ数を取得して一定時間ページ数に変化がない場合は「ページ出力タイムアウトフラグ」を立てる。
印刷ジョブ情報の取得に失敗した場合はページチェックを終了する。
対象ウィンドウにクローズメッセージを送信。
印刷キューアプリケーションを検出したら「印刷キューアプリケーションフラグ」を立てる。
印刷キューアプリケーションが起動していると、DocuWorks PDFが不完全なPDFファイルを出力してしまう現象が発生する為、印刷キューアプリケーションを検出したらエラー扱いとしている。(Windows 11 24H2 不具合対応。)
文書変換タイムアウト値を超えたら「文書変換タイムアウトフラグ」を立てる。
以下の何れかのフラグが立っていたらタイムアウト処理を実行する。
印刷中の間ループを続ける。
ループ終了。
印刷ジョブ情報のメソッドやプロパティを使用中に例外が発生しても無視する。
例外を無視した時は印刷ジョブが終了したとみなして印刷終了待ちのループを抜ける。
無視するだけなのでエラー処理は無し。
スイッチで指定された内容に応じてファイルをコピーしたり移動したりする。
「印刷後処理エラーフラグ」を立てる。
以下のフラグに対応したエラーメッセージを出力する。
作業フォルダーの削除などの後処理を行う。
対象印刷ジョブのキャンセル
対象印刷ジョブが終了するまで待つ
上記2つの処理で例外が発生しても無視する。
DocuWorks Viewerを強制終了する。
「DocuWorks Viewerを強制終了する」スイッチが指定されていない時は、DocuWorks Viewerのプロセスが残る事になる。
以下の内容でXDW文書をPDF文書に変換する。
| 入力ファイル (-i) | C:\XDWからPDF変換\10_PDF変換\領収書_20160321.xdw |
|---|---|
| PDFファイルを出力するプリンター (-p) | DocuWorks PDF |
| 出力ファイル (-o) | C:\XDWからPDF変換\20_変換済み\領収書_20160321.pdf |
| 変換成功時の入力ファイル移動先フォルダ (-sdf) | C:\XDWからPDF変換\30_処理済みXDW |
| 変換失敗時の入力ファイル移動先フォルダ (-fdf) | C:\XDWからPDF変換\15_エラー |
| ログの出力先 (-slf) | C:\XDWからPDF変換\90_System\90_Log\CommandLog\log_20210708.txt |
| エラーログの出力先 (-flf) | C:\XDWからPDF変換\90_System\90_Log\CommandLog\Errorlog_20210708.txt |
| 作業フォルダ (-wf) | C:\XDWからPDF変換\90_System\80_Tool\printToPdfFromDocuWorksFile |
printToPdfFromDocuWorksFile.exe -i "C:\XDWからPDF変換\10_PDF変換\領収書_20160321.xdw" -p "DocuWorks PDF" -o "C:\XDWからPDF変換\20_変換済み\領収書_20160321.pdf" -async -mdtw -ppto 60 -ftwto -sdf "C:\XDWからPDF変換\30_処理済みXDW" -fdf "C:\XDWからPDF変換\15_エラー" -slf "C:\XDWからPDF変換\90_System\90_Log\CommandLog\log_20210708.txt" -flf "C:\XDWからPDF変換\90_System\90_Log\CommandLog\Errorlog_20210708.txt" -wf "C:\XDWからPDF変換\90_System\80_Tool\printToPdfFromDocuWorksFile"
以下の内容でXDW文書をプリンターに印刷する。
| 入力ファイル (-i) | C:\プリンターに印刷\10_PDF変換\領収書_20160321.xdw |
|---|---|
| 印刷するプリンター (-p) | LBP622C |
| ログの出力先 (-slf) | C:\プリンターに印刷\90_System\90_Log\CommandLog\log_20210708.txt |
| エラーログの出力先 (-flf) | C:\プリンターに印刷\90_System\90_Log\CommandLog\Errorlog_20210708.txt |
| 作業フォルダ (-wf) | C:\プリンターに印刷\90_System\80_Tool\printToPdfFromDocuWorksFile |
| 結果ファイル (-z) | C:\プリンターに印刷\90_System\result.txt |
printToPdfFromDocuWorksFile.exe -i "C:\プリンターに印刷\10_PDF変換\領収書_20160321.xdw" -p "LBP622C" -ppto 60 -ftwto -slf "C:\プリンターに印刷\90_System\90_Log\CommandLog\log_20210708.txt" -flf "C:\プリンターに印刷\90_System\90_Log\CommandLog\Errorlog_20210708.txt" -wf "C:\プリンターに印刷\90_System\80_Tool\printToPdfFromDocuWorksFile" -z "C:\プリンターに印刷\90_System\result.txt"
終了コードは以下の通りです。
結果ファイルに出力されるメッセージの内容はオプションスイッチの指定によって変化します。以下は代表的なメッセージの例です。
| -2 | 印刷ジョブ情報の確認中に印刷ジョブ情報が使用不可となった為、印刷終了は確認できませんでした。 |
|---|---|
| 0 | 正常終了 |
| 1 | 対象外のスイッチが指定されています。 'スイッチ' |
| 2 | 入力DocuWorks文書ファイルが指定されていません。 |
| 3 | 出力PDFファイルが指定されていません。 |
| 4 | 結果ファイルが指定されていません。 |
| 5 | 結果ファイルの書き込みに失敗しました。 |
| 6 | 入力DocuWorks文書ファイルが存在しません。 '入力DocuWorks文書ファイル名' |
| 7 | ログファイルが指定されていません。 |
| 8 | エラーログファイルが指定されていません。 |
| 9 | 作業フォルダが指定されていません。 |
| 10 | 作業フォルダの作成に失敗しました。 '作業フォルダ' |
| 11 | 文書変換成功時のDocuWorks文書ファイル移動フォルダー、文書変換成功時にDocuWorks文書ファイルを削除、何れも指定されていません。 |
| 12 | 文書変換成功時のDocuWorks文書ファイル移動フォルダの作成に失敗しました。 '文書変換成功時のDocuWorks文書ファイル移動フォルダ' |
| 13 | 文書変換失敗時のDocuWorks文書ファイル移動フォルダが指定されていません。 |
| 14 | 文書変換失敗時のDocuWorks文書ファイル移動フォルダの作成に失敗しました。 '文書変換失敗時のDocuWorks文書ファイル移動フォルダ' |
| 16 | 文書変換タイムアウトは10以上の整数を指定してください。 '文書変換タイムアウト' |
| 17 | ページ出力タイムアウトは10以上の整数を指定してください。 'ページ出力タイムアウト' |
| 18 | スクリーンショットを保存する時は、スクリーンショットファイル名を指定してください。 |
| 19 | 入力DocuWorks文書ファイルを作業フォルダへ移動する際にエラーが発生しました。 |
| 20 | 入力DocuWorks文書ファイルを作業フォルダへコピーする際にエラーが発生しました。 |
| 21 | 作業フォルダのDocuWorks文書ファイルを変換成功時のフォルダへコピーする際にエラーが発生しました。 |
| 22 | 作業フォルダのDocuWorks文書ファイルを変換失敗時のフォルダへコピーする際にエラーが発生しました。 |
| 23 | 作業フォルダのDocuWorks文書ファイルをDocuWorks文書ファイル退避フォルダへコピーする際にエラーが発生しました。 |
| 24 | 作業フォルダのPDFファイルを出力PDFファイルフォルダへコピーする際にエラーが発生しました。 |
| 25 | 文書変換タイムアウトが発生しました。 '入力DocuWorks文書ファイル名' |
| 26 | 文書変換に失敗しました。 '入力DocuWorks文書ファイル名' |
| 27 | DocuWorksがインストールされていません。 |
| 28 | DocuWorksインストールパスの取得に失敗しました。 'エラーメッセージ' |
| 29 | DocuWorks Viewerが見つかりません。 'DocuWorks Viewer ファイル名' |
| 30 | 文書変換可能なDocuWorks文書ファイルはドキュメントとバインダーです。 (拡張子 .xdw .xbd) '入力DocuWorks文書ファイル名' |
| 31 | 入力DocuWorks文書ファイルのページ数が0です。 '入力DocuWorks文書ファイル名' |
| 32 | 入力DocuWorks文書ファイルのオープンに失敗しました。 '入力DocuWorks文書ファイル名' |
| 33 | プリンター名が指定されていません。 |
| 34 | プリンター情報の取得に失敗しました。 |
| 35 | 印刷キューアプリケーションが実行中です。印刷キューアプリケーションを終了してください。 |
| 36 | ジョブフォルダーの作成に失敗しました。 'ジョブフォルダー名' |
| 37 | ワーカープロセスとの通信でタイムアウトが発生しました。 |
| 99 | 例外が発生しました。 'エラーメッセージ' |
本アプリケーションは、DocuWorks PDFなどの仮想プリンターを使用してPDF変換を行います。プリンターへの印刷はPCに大きな負荷をかけるため、できるだけ複数のアプリケーションから同時に印刷を行わないようにしてください。
PCに高い負荷がかかっている場合や、仮想プリンターに他のアプリから大量に印刷が行われている場合は、変換に失敗したり、印刷ジョブがなくなるまで待機する動きとなり、変換が行われない場合があります。
DocuWorks Viewerのふでばこやウインドウ化されたツールバーなどのウインドウを閉じておいてください。
DocuWorks Viewerがエラーダイアログを表示した場合に自動でウインドウを閉じる操作を行っていますが、それらの誤動作の原因になる可能性があります。
ページ数の多いDW文書を変換(印刷)中に他のDW文書をDocuWorks Viewerで開こうとすると、印刷が終了するまでDocuWorks Viewerの画面が表示されない現象が発生します。
これはDocuWorks Viewerの仕様によるものと考えられます。本アプリケーションを使ってPDF変換を行うPCではDocuWorks Deskでの操作や他のDW文書を開く操作はできるだけしないで下さい。
本アプリケーションは、印刷を行うプリンターによって動作環境が変わります。
仮想プリンターによって作成されるPDFの品質が変わったり、安定性が低下したりする場合があります。
DocuWorks PDFはバージョンが変わることで将来使用できなくなる可能性もあります。長期間の運用を望むユーザー様は、その点を十分にご理解の上ご利用ください。
DocuWorks9.1のDocuWorks PDFは印刷設定を細かく指定できますが、圧縮オプションのカラー/グレースケール画像の圧縮方法にJPEG2000を選択すると不安定になる頻度が高いようです。JPEGかZipを選択することをお奨めいたします。
DocuWorks PDFに並列で印刷を行うと、印刷設定の内容により異常終了する現象を確認しています。
障害が発生しているアプリケーション名: spoolsv.exe、バージョン: 10.0.26100.2454、タイム スタンプ: 0x02df797c 障害が発生したモジュール名: DocuWorks PDF Driver.dll、 バージョン: 0.3.7522.2、タイム スタンプ: 0x6557116b 例外コード: 0xc0000005 フォールト オフセット: 0x00000000003433f9 フォールト プロセス ID: 0x4308 アプリケーションのフォールトの開始時刻: 0x1DB51F2C69DB1A3 Faulting アプリケーション パス: C:\WINDOWS\System32\spoolsv.exe Faulting モジュール パス: C:\WINDOWS\system32\spool\DRIVERS\x64\3\DocuWorks PDF Driver.dll Report Id: 1172aa71-b72c-4865-8a09-62201104acf9 Faulting パッケージの完全名: Faulting パッケージ相対アプリケーション ID:
この障害が発生するとプリンターが応答不能になりますが、Print Spoolerサービスが停止してしまうことが原因のようです。 DocuWorks PDF Driver.dllが異常終了することで、 Print Spoolerサービスも異常終了してしまうと考えられます。
Print Spoolerサービスが停止状態となるので、他のプリンターの印刷もできない状態となります。
この情報は2024年12月19日にDocuWorks 9.1.8で確認した内容です。将来のアップデートで修正される可能性があります。
停止状態となったPrint Spoolerサービスを、サービスのコントロールパネルから開始すれば、プリンターが使用できるようになります。
また、サービスのコントロールパネルから、Print Spoolerサービスの回復タブのエラー時の処理をすべて「サービスを再起動する」にしておくことをお奨めいたします。
printToPdfFromDocuWorksFileは、Windowsで利用できるPDFプリンターとDocuWorks Viewerを呼び出して利用するアプリケーションです。
PDFプリンターとDocuWorks Viewerで不具合が発生しても弊社では修正できません。
printToPdfFromDocuWorksFileはPDFプリンターとDocuWorks Viewerを、できるだけ不具合を起こさないように使用するためのアプリケーションであるということをご理解ください。
Windows11のバージョン24H2でプリンターキューを開いた状態でDocuWorks PDFやDocuWorks Viewerを使ってPDF変換を行うと、不完全なPDFが作成される問題が発生しています。printToPdfFromDocuWorksFileを使用時はプリンターキューを開かないでください。printToPdfFromDocuWorksFileはプリンターキューが開かれていることを検出すると処理中のファイルをエラー処理します。
printToPdfFromDocuWorksFileは、eDocArrangementの購入者にライセンスされます。試用については、eDocArrangementと同じ期間、試用できます。
printToPdfFromDocuWorksFileは、eDocArrangementの製品の一部としての扱いとなり、eDocArrangementの使用許諾契約が適用されます。
.NET Framework 4.6.2 以降
DocuWorks 9.1 ~ 10