createDocumentFromAppFileはコンソールアプリケーションです。コンソールアプリケーションは、eDocArrangementのコマンド実行から呼び出すことが可能です。
PDFやExcel文書等をDocuWorks文書に変換します。
入力ファイルがPDFの場合、DocuWorksの変換機能を使用して変換できます。
入力ファイルがPDF以外の形式はWindowsで関連付けされているアプリケーションの印刷機能を使用して変換を行います。(PDFも関連付けされているアプリケーションで変換することも可能です。)
但し、Windowsで関連付けされているアプリケーションの印刷機能を使用する場合、各アプリケーションの印刷機能の仕様に依存することになり、ファイルの形式や内容によっては、変換ができなかったり、変換の途中で停止してしまう場合があるため、自動処理でアプリケーションの印刷機能を使った変換を行うのはお勧めできません。
自動処理で利用する場合は、入力ファイルをPDFに限定して、DocuWorksの変換機能(-nusaオプション)を使用する方法を推奨いたします。
createDocumentFromAppFile.exe -i 入力アプリケーションファイル名 -o 出力文書ファイル名 [-wo] [-nusa] [-matw] [-wf 作業フォルダ名] [-saf 文書変換成功時のアプリケーションファイル移動フォルダ名] [-faf 文書変換失敗時のアプリケーションファイル移動フォルダ名] [-sraf] [-async] [-apmc 文書変換非同期プロセス最大数] [-pto 文書変換タイムアウト] [-slf ログファイル名] [-flf エラーログファイル名] [-z 結果ファイル名] [-ec]
[]は省略可能な引数です。 引数の仕様は以下の通りです。
-i 入力アプリケーションファイル名 | 変換元のアプリケーションファイル名を指定します。 ファイル名にスペースが含まれる場合は、" " (ダブルクォート)で括ってください。 |
---|---|
-o 出力文書ファイル名 |
出力する文書ファイル名を指定します。 出力先フォルダに同一ファイル名のファイルが存在する時は、ファイル名に連番を付与して重複しないファイル名で出力します。 出力先フォルダが存在しない時はフォルダを作成します。 ファイル名にスペースが含まれる場合は、" " (ダブルクォート)で括ってください。 |
-wo | 入力アプリケーションファイルをオリジナルデータとして出力文書ファイルに含めます。 |
-nusa | DocuWorksの文書変換機能を使用して文書変換を行います。 入力アプリケーションファイルがPDFファイルの時のみ有効です。 |
-matw |
文書変換前にアプリケーションファイルを作業フォルダに移動します。 -matw スイッチを指定する時は、-saf スイッチ、-sraf スイッチの何れかと -faf スイッチで変換処理後のアプリケーションファイル移動フォルダなどを指定してください。 |
-wf 作業フォルダ名 | 文書変換で使用する作業フォルダを指定します。 フォルダ名にスペースが含まれる場合は、" " (ダブルクォート)で括ってください。 |
-saf 文書変換成功時のアプリケーションファイル移動フォルダ名 |
文書変換成功時のアプリケーションファイル移動フォルダを指定します。 移動先フォルダに同一ファイル名のファイルが存在する時は、ファイル名に連番を付与して重複しないファイル名で移動します。 移動先フォルダが存在しない時はフォルダを作成します。 -matw スイッチを指定した時のみ有効です。 フォルダ名にスペースが含まれる場合は、" " (ダブルクォート)で括ってください。 |
-faf 文書変換失敗時のアプリケーションファイル移動フォルダ名 |
文書変換失敗時のアプリケーションファイル移動フォルダを指定します。 移動先フォルダに同一ファイル名のファイルが存在する時は、ファイル名に連番を付与して重複しないファイル名で移動します。 移動先フォルダが存在しない時はフォルダを作成します。 -matw スイッチを指定した時のみ有効です。 フォルダ名にスペースが含まれる場合は、" " (ダブルクォート)で括ってください。 |
-sraf | 文書変換成功時にアプリケーションファイルを削除します。 -matw スイッチを指定した時のみ有効です。 -saf スイッチが指定されていた時は無視されます。 |
-async | 文書変換を非同期実行します。文書変換を実行する別プロセスを起動後、自プロセスはすぐに終了します。 |
-apmc 文書変換非同期プロセス最大数 | 文書変換を実行する非同期プロセスの最大数を指定します。 -async スイッチを指定した時のみ有効です。 省略した際のデフォルト値は 8 です。 |
-pto 文書変換タイムアウト | 文書変換のタイムアウト値を秒で指定します。 省略した際のデフォルト値は 180 です。 |
-slf ログファイル名 |
ログを出力するファイル名を指定します。 ログファイルが存在していた時は追加書き込みします。 ログファイルを出力するフォルダが存在しない時はフォルダを作成します。 ファイル名にスペースが含まれる場合は、" " (ダブルクォート)で括ってください。 |
-flf エラーログファイル名 |
エラーログを出力するファイル名を指定します。 エラーログファイルが存在していた時は追加書き込みします。 エラーログファイルを出力するフォルダが存在しない時はフォルダを作成します。 ファイル名にスペースが含まれる場合は、" " (ダブルクォート)で括ってください。 |
-z 結果ファイル名 |
処理結果をファイルに出力します。 結果ファイルが存在していた時は上書きします。 処理結果を出力するフォルダが存在しない時はフォルダを作成します。 ファイル名にスペースが含まれる場合は、" " (ダブルクォート)で括ってください。 |
-ec | 結果ファイルに出力される終了コードと、エラーメッセージの一覧を出力します。 |
-asyncオプションを指定すると非同期で処理が実行されます。
非同期実行の場合、子プロセスを生成して実行を行います。親プロセスの処理はその後直ぐに終了します。
同時に大量のプロセスが生成されるのを防ぐために、実行中のプロセスが8プロセスの場合、実行は行わず、処理を終了します。この最大プロセス数は -apmc オプションで変更可能です。
eDocArrangementから呼び出す場合で、非同期実行を使用する場合、以下のような呼び出し方法を行うことを想定しています。
createDocumentFromAppFile.exe -i "入力アプリケーションファイル名" -o "出力ドキュメントファイル名" -nusa -async -matw -saf "文書変換成功時の入力アプリケーションファイル移動フォルダ名" -faf "文書変換失敗時の入力アプリケーションファイル移動フォルダ名" -slf "ログファイル名" -flf "エラーログファイル名" -wf "作業フォルダ名"
createDocumentFromAppFileの-saf, -fafオプションを使って、変換処理後に入力ファイルを指定フォルダに移動します。
変換に失敗した場合は、エラーフォルダに移動されます。
同時実行プロセスの上限に達した場合は、処理を行わず、入力ファイルの移動も行いませんので、次回のフォルダ監視で再処理されます。
また、非同期実行の場合は、-slf, -flf オプションを指定してcreateDocumentFromAppFileでログの出力を行うことを推奨します。
-matwオプションを指定した場合、以下のエラー処理を行います。
-saf, -fafのフォルダが指定されていること。また、指定されたフォルダが有効なパスであること。
条件を満たしていない場合は、処理を終了します。
入力ファイルを-wf で指定されたフォルダ(作業フォルダ)に移動する。
XDW_BeginCreationFromAppFile API(DocuWorksプリンターへ印刷)を呼び出して処理を行う。
XDW_BeginCreationFromAppFile APIが終了せず戻ってこない場合※1は、以下の処理を試行します。
※1 アプリケーションファイルの内容や関連付けの状態によって、XDW_BeginCreationFromAppFile APIが終了しないケースがあります。
印刷完了後に出力されたXDW文書の存在確認を行い、ファイルが存在しない場合※2は、以下の処理を試行します。
※2 アプリケーションファイルの内容によって、XDW文書が出力されないケースがあります。
以下の内容でPDF文書をXDW文書に変換する。
入力ファイル (-i) | C:\PDFからXDW変換\10_XDW変換\領収書_20160321.pdf |
---|---|
出力ファイル (-o) | C:\PDFからXDW変換\20_変換済み\領収書_20160321.xdw |
変換成功時の入力ファイル移動先フォルダ (-saf) | C:\PDFからXDW変換\30_処理済みPDF |
変換失敗時の入力ファイル移動先フォルダ (-faf) | C:\PDFからXDW変換\15_エラー |
ログの出力先 (-slf) | C:\PDFからXDW変換\90_System\90_Log\CommandLog\log_20210708.txt |
エラーログの出力先 (-flf) | C:\PDFからXDW変換\90_System\90_Log\CommandLog\Errorlog_20210708.txt |
作業フォルダ (-wf) | C:\PDFからXDW変換\90_System\80_Tool\createDocumentFromAppFile |
createDocumentFromAppFile.exe -i "C:\PDFからXDW変換\10_XDW変換\領収書_20160321.pdf" -o "C:\PDFからXDW変換\20_変換済み\領収書_20160321.xdw" -nusa -async -matw -saf "C:\PDFからXDW変換\30_処理済みPDF" -faf "C:\PDFからXDW変換\15_エラー" -slf "C:\PDFからXDW変換\90_System\90_Log\CommandLog\log_20210708.txt" -flf "C:\PDFからXDW変換\90_System\90_Log\CommandLog\Errorlog_20210708.txt" -wf "C:\PDFからXDW変換\90_System\80_Tool\createDocumentFromAppFile"
以下の内容でWord文書をXDW文書に変換する。
入力ファイル (-i) | C:\アプリケーション変換\10_XDW変換\test.docx |
---|---|
出力ファイル (-o) | C:\アプリケーション変換\20_変換済み\test.xdw |
変換成功時の入力ファイル移動先フォルダ (-saf) | C:\アプリケーション変換\30_処理済み |
変換失敗時の入力ファイル移動先フォルダ (-faf) | C:\アプリケーション変換\15_エラー |
ログの出力先 (-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\createDocumentFromAppFile |
createDocumentFromAppFile\createDocumentFromAppFile.exe -i "C:\アプリケーション変換\10_XDW変換\test.docx" -o "C:\アプリケーション変換\20_変換済み\templateproposal.xdw" -async -matw -saf "C:\アプリケーション変換\30_処理済み" -faf "C:\アプリケーション変換\15_エラー" -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\createDocumentFromAppFile"
終了コードは以下の通りです。
-1 | 非同期プロセス数が上限に達しています。 |
---|---|
0 | 正常終了 |
1 | 入力アプリケーションファイルが指定されていません。 |
2 | 出力ドキュメントファイルが指定されていません。 |
3 | 結果ファイルが指定されていません。 |
4 | 入力アプリケーションファイルが存在しません。 '入力アプリケーションファイル名' |
5 | ログファイルが指定されていません。 |
6 | エラーログファイルが指定されていません。 |
7 | 作業フォルダが指定されていません。 |
8 | 作業フォルダの作成に失敗しました。 '作業フォルダ' |
9 | 文書変換成功時のアプリケーションファイル移動フォルダー、文書変換成功時にアプリケーションファイルを削除、何れも指定されていません。 |
10 | 文書変換成功時のアプリケーションファイル移動フォルダの作成に失敗しました。 '文書変換成功時のアプリケーションファイル移動フォルダ' |
11 | 文書変換失敗時のアプリケーションファイル移動フォルダが指定されていません。 |
12 | 文書変換失敗時のアプリケーションファイル移動フォルダの作成に失敗しました。 '文書変換失敗時のアプリケーションファイル移動フォルダ' |
13 | 文書変換非同期プロセス最大数は1以上の整数を指定してください。 '文書変換非同期プロセス最大数' |
14 | 文書変換タイムアウトは10以上の整数を指定してください。 '文書変換タイムアウト' |
15 | 入力アプリケーションファイルを作業フォルダへ移動する際にエラーが発生しました。 |
16 | 入力アプリケーションファイルを作業フォルダへコピーする際にエラーが発生しました。 |
17 | 作業フォルダのアプリケーションファイルを変換成功時のフォルダへコピーする際にエラーが発生しました。 |
18 | 作業フォルダのアプリケーションファイルを変換失敗時のフォルダへコピーする際にエラーが発生しました。 |
19 | 作業フォルダのアプリケーションファイルをアプリケーションファイル退避フォルダへコピーする際にエラーが発生しました。 |
20 | 作業フォルダの文書ファイルを出力文書フォルダへコピーする際にエラーが発生しました。 |
21 | 文書変換タイムアウトが発生しました。 '入力アプリケーションファイル名' |
22 | 文書変換に失敗しました。 '入力アプリケーションファイル名' |
23 | 対象外のスイッチが指定されています。 'スイッチ' |
24 | 作業フォルダーのアプリケーションファイルを削除する際にエラーが発生しました。 '作業フォルダーのアプリケーションファイル名' |
99 | 例外が発生しました。 'エラーメッセージ' |
-nusaオプションを使用しない場合、Windowsで関連付けされているアプリケーションの印刷機能を使用して変換を行いますが、以下の様な問題が発生する可能性があります。
上記のような問題が発生した場合、関連付けされたアプリケーションの印刷の仕様のため、弊社では対処することができません。また、アプリケーションの仕様により、データ消失など想定しない問題が発生する可能性があります。
ページ数の多いファイルを変換すると、印刷処理に時間がかかるため印刷後のステータスが完了になるまで時間がかかります。
また、印刷指示を行ったあとに、アプリケーションの問題で印刷が完了せず停止してしまう場合があります。
その場合、印刷中なのか、問題が発生して停止してしまったのかは、アプリケーション側からは判断ができません。
そこで、文書変換タイムアウト(-ptoオプション)を実装しています。デフォルトでは180秒でタイムアウトになり印刷をキャンセルします。
ページ数の多いファイルを変換する場合は、印刷が完了する前に、180秒でキャンセルしてしまうため、 -pto オプションを指定してタイムアウトの時間を長くしてください。
createDocumentFromAppFileは、eDocArrangementの購入者にライセンスされます。試用については、eDocArrangementと同じ期間、試用できます。
createDocumentFromAppFileは、eDocArrangementの製品の一部としての扱いとなり、eDocArrangementの使用許諾契約が適用されます。
.NET Framework 4.6.2 以降
DocuWorks 7.3 以降
DocuWorks 9 以降がインストールされたサーバー環境で利用する場合、PDFをDocuWorks文書に変換する機能(-nusaオプション)についてライセンス上制限されます。(デスクトップ利用の場合はライセンス不要)
-nusaオプションはDocuWorks8以降で使用可能です。
制限を解除するために、富士フイルムビジネスイノベーション様から、サーバーアプリケーション向けライセンス商品「DocuWorks OCR/PDF License for Development Tool Kit (サーバーアプリケーション用)」をご購入・設置していただく必要があります。
詳しくは、以下のサイトをご覧ください。
https://www.fujifilm.com/fb/support/software/docuworks_9/info/contents/info_003.html