監視フォルダに格納されたPDFファイルをXDW文書に変換して「20_変換済み」フォルダに出力します。
XDW文書への変換は、コンソールアプリ「 createDocumentFromAppFile.exe 」をコマンド実行で呼び出して行います。
実行すると以下の様に動作します。
「createDocumentFromAppFile.exe」の詳細は、 仕様書 ご覧下さい。
createDocumentFromAppFileはプロセス単位で同時実行する個数を制限しています。最大個数(デフォルトは8)になると、プロセス数が上限に達しているというエラーになります。
この設定例ではプロセス数が上限に達しているというエラーになった場合は無視するようにしています。その場合は入力ファイルが移動しないので、次のフォルダ監視で再処理されます。
C:\Homeの下に、以下のような構成でフォルダを作り、準備します。
フォルダ構成は以下の通りです。
以下のフォルダに解凍すると設定が適用されます。
C:\Users\ユーザー名\AppData\Roaming\TechnoStyle\eDocArrangement2
グローバルデータの内容は以下の通りです。トップフォルダを変更する場合は、以下の定義を変更してください。グローバルデータは、「共通設定」から変更できます。
| 名前 | 値 |
|---|---|
| TopFolder | C:\Home\eDocArrangement2\Demo\PDFからXDW変換 |
詳しい設定方法は、 設定例(共通)グローバルデータとログの設定 を参照して下さい。
| 実行ログファイル名 | {%GET_G(TopFolder)}\90_System\90_Log\Log.txt |
|---|---|
| エラーログファイル名 | {%GET_G(TopFolder)}\90_System\90_Log\ErrorLog.txt |
| 文字コード | SJIS |
| 方式 | 追加書き込み (日単位) |
PDFファイルをXDW文書に変換します。コンソールアプリ「createDocumentFromAppFile.exe」を呼び出して処理を実行します。
共通ログ設定の内容でログを出力する。
メイン画面のファイルリストを対象に繰り返し処理を行う。
ループ毎にユーザーデータをクリアする。
以下のコマンドを実行する。
{%GET_G(TopFolder)}\90_System\10_Tool\createDocumentFromAppFile\createDocumentFromAppFile.exe
-i "{%GET(FullPathFileName)}" -o "{%GET_G(TopFolder)}\20_変換済み\{%GET(FileNameWithoutExtension)}.xdw" -nusa -async -matw -pto 600 -saf "{%GET_G(TopFolder)}\30_処理済み\{%DATE(yyyy\\MM\\dd)}" -faf "{%GET_G(TopFolder)}\15_エラー" -slf "{%GET_G(TopFolder)}\90_System\90_Log\10_CommandLog\Log_{%DATE(yyyyMMdd)}.txt" -flf "{%GET_G(TopFolder)}\90_System\90_Log\10_CommandLog\ErrorLog_{%DATE(yyyyMMdd)}.txt" -wf "{%GET_G(TopFolder)}\90_System\20_Temp" -z "{%GET_G(TopFolder)}\90_System\20_Temp\result.txt"
| 名前 | 値 |
|---|
以下のマクロを実行する。
{%READ_FILE({%GET_G(TopFolder)}\90_System\20_Temp\result.txt,result,SJIS,LINE)}
#結果ファイルの1行目の終了コードを判定
{%IF({%GET_U(result,1)}!=0,
{%IF({%REGEX_CAPTURE((非同期プロセス数が上限に達しています),{%GET_U(result,2)})}!=,
#非同期プロセス数が上限に達していますの場合
,
#結果ファイルの2行目のエラーメッセージでエラーを発生させる
{%RAISE_ERROR({%GET_U(result,2)})}
)}
,)}
以下の条件を判定して処理を分岐する。
処理階層内のエラー回数が1回以上。
文書を以下の通り移動する。
| 移動元 | {%GET(FullPathFileName)} |
|---|---|
| 移動先 | {%GET_G(TopFolder)}\15_エラー |
移動先に同名の文書がある場合は、ファイル名に連番を付与する。
以下の動画をご覧ください。