xml:space="preserve">
注文書 9 申し込み書 プラン A
設定例

PDFのテキスト抽出と属性設定2

概要

監視フォルダに格納されたPDFファイルからテキスト抽出を行い特定の文字を取得後、PDFのカスタムプロパティに設定します。

10_入力
図面サンプル.pdf
テキスト抽出と

属性設定
20_出力
決裁申請書_20181113_伊藤博文.xdw

テキスト抽出支援ツール を使用することで簡単にテキスト抽出の設定が作成できます。帳票の種類が複数あっても、帳票毎の取得マクロを作成すれば対応できます。

設定を作成すれば、大量のPDFファイルを対象にすべて属性設定をすることが可能なので、電子帳簿保存法の対応も短時間で対応できます。

取引先名、請求金額、請求日を取得して CSVファイルに出力 してExcelファイルにインポートすれば、検索が可能になります。

設定作成と処理の実行

以下の動画をご覧ください。(4:40から処理の実行デモが始まります。)

設定の前準備

C:\Homeの下に、以下のような構成でフォルダを作り、準備します。

フォルダ構成のダウンロード

PDFのテキスト抽出と属性設定2_フォルダ構成.zip

Cドライブのルートに解凍してください。

フォルダ構成は以下の通りです。

  • C:\Home\eDocArrangement2\Demo\PDFのテキスト抽出と属性設定2
    • 10_入力
    • 20_出力
    • 90_System
      • 10_Tool
        • 請求書サンプル(横).pdf
      • 90_Log

設定ファイル

以下のリンクから完成した設定をダウンロードしていただくことができます。

eDocArrangement2 設定ファイルのダウンロード

PDFのテキスト抽出と属性設定2_設定.zip

以下のフォルダに解凍すると設定が適用されます。

C:\Users\ユーザー名\AppData\Roaming\TechnoStyle\eDocArrangement2

グローバルデータ

グローバルデータとログの設定(共通設定)

グローバルデータの内容は以下の通りです。

名前
TopFolder
C:\Home\eDocArrangement2\Demo\PDFのテキスト抽出と属性設定2
SystemFolder
{%GET_G(TopFolder)}\90_System

バッチ設定

バッチ設定一覧

PDFテキスト抽出と属性設定

ログ設定

共通ログ設定の内容でログを出力する。

ファイルの繰り返し1

Loop File

メイン画面のファイルリストを対象に繰り返し処理を行う。

ループ毎にユーザーデータをクリアする。

テキスト抽出と属性設定

Macro Execute

以下のマクロを実行する。

#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()}

ファイル移動1

Move File

文書を以下の通り移動する。

移動元 {%GET(FullPathFileName)}
移動先 {%GET_G(TopFolder)}\20_出力

移動先に同名の文書がある場合は、ファイル名に連番を付与する。

コピー後に削除を行う。