監視フォルダに格納されたPDFファイルからテキスト抽出を行い特定の文字を取得後、PDFのカスタムプロパティに設定します。
テキスト抽出支援ツール を使用することで簡単にテキスト抽出の設定が作成できます。帳票の種類が複数あっても、帳票毎の取得マクロを作成すれば対応できます。
設定を作成すれば、大量のPDFファイルを対象にすべて属性設定をすることが可能なので、電子帳簿保存法の対応も短時間で対応できます。
取引先名、請求金額、請求日を取得して CSVファイルに出力 してExcelファイルにインポートすれば、検索が可能になります。
以下の動画をご覧ください。(4:40から処理の実行デモが始まります。)
C:\Homeの下に、以下のような構成でフォルダを作り、準備します。
フォルダ構成は以下の通りです。
以下のフォルダに解凍すると設定が適用されます。
C:\Users\ユーザー名\AppData\Roaming\TechnoStyle\eDocArrangement2
グローバルデータの内容は以下の通りです。
名前 | 値 |
---|---|
TopFolder |
C:\Home\eDocArrangement2\Demo\PDFのテキスト抽出と属性設定2 |
SystemFolder |
{%GET_G(TopFolder)}\90_System |
共通ログ設定の内容でログを出力する。
メイン画面のファイルリストを対象に繰り返し処理を行う。
ループ毎にユーザーデータをクリアする。
以下のマクロを実行する。
#PDFファイルをオープン {%PDF_OPEN({%GET(FullPathFileName)})} # 座標領域を設定 {%SET_U(領域指定,Page,All,取引先名,X,21.31)} {%SET_U(領域指定,Page,All,取引先名,Y,55.94)} {%SET_U(領域指定,Page,All,取引先名,BottomRightX,30.95)} {%SET_U(領域指定,Page,All,取引先名,BottomRightY,62.99)} {%SET_U(領域指定,Page,All,請求金額,X,139.9)} {%SET_U(領域指定,Page,All,請求金額,Y,69.47)} {%SET_U(領域指定,Page,All,請求金額,BottomRightX,168.25)} {%SET_U(領域指定,Page,All,請求金額,BottomRightY,74.47)} {%SET_U(領域指定,Page,All,請求日,X,244.41)} {%SET_U(領域指定,Page,All,請求日,Y,12.58)} {%SET_U(領域指定,Page,All,請求日,BottomRightX,262.02)} {%SET_U(領域指定,Page,All,請求日,BottomRightY,18.14)} # PDFテキスト抽出 {%PDF_EXTRACT_TEXT(1,抽出データ,領域指定)} # テキストを取得 {%SET_U(属性,取引先名,{%JOIN(抽出データ,Pages,1,Rect,取引先名,Texts, )})} {%PDF_SET_DOCUMENT_ATTRIBUTE(取引先名,{%GET_U(属性,取引先名)})} {%SET_U(属性,請求金額,{%JOIN(抽出データ,Pages,1,Rect,請求金額,Texts, )})} #カンマを削除 {%SET_U(属性,請求金額,{%REPLACE({%GET_U(属性,請求金額)},|,,)})} {%PDF_SET_DOCUMENT_ATTRIBUTE(請求金額,{%GET_U(属性,請求金額)})} {%SET_U(属性,請求日,{%JOIN(抽出データ,Pages,1,Rect,請求日,Texts, )})} {%PDF_SET_DOCUMENT_ATTRIBUTE(請求日,{%GET_U(属性,請求日)})} #クローズ {%PDF_CLOSE()}
文書を以下の通り移動する。
移動元 | {%GET(FullPathFileName)} |
---|---|
移動先 | {%GET_G(TopFolder)}\20_出力 |
移動先に同名の文書がある場合は、ファイル名に連番を付与する。
コピー後に削除を行う。