テキスト抽出支援ツールは、PDFファイルとDocuWorks文書(XDW)からテキスト抽出を行う設定を作成するための支援ツールです。(DocuWorks文書は Version 2.7.0から)

eDocArrangement2のメイン画面のツールメニューからテキスト抽出支援ツールを作成(HTMLを出力)することができます。

HTMLファイルになっていますのでブラウザーで開いて使用します。

画面は以下のようになっており、ページのイメージ画像と検出可能なテキストが赤枠で表示されます。

操作方法

以下の動画は売上日と取引先コードを抽出してカスタムプロパティに設定するマクロを生成するまでの手順です。

以下のマクロが生成されます。

#PDFファイルをオープン
{%PDF_OPEN({%GET(FullPathFileName)})}
# 座標領域を設定
{%SET_U(領域指定,Page,All,売上日,X,17.03)}
{%SET_U(領域指定,Page,All,売上日,Y,27.26)}
{%SET_U(領域指定,Page,All,売上日,BottomRightX,53.4)}
{%SET_U(領域指定,Page,All,売上日,BottomRightY,34.42)}
{%SET_U(領域指定,Page,All,取引先コード,X,83.39)}
{%SET_U(領域指定,Page,All,取引先コード,Y,27.84)}
{%SET_U(領域指定,Page,All,取引先コード,BottomRightX,95)}
{%SET_U(領域指定,Page,All,取引先コード,BottomRightY,33.65)}
# 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, )})}
{%PDF_SET_DOCUMENT_ATTRIBUTE(取引先コード,{%GET_U(属性,取引先コード)})}
#クローズ
{%PDF_CLOSE()}

この帳票では売上日が「売上日:2025年5月1日」のようになっていますので、マクロを以下のように「売上日:」の後ろの文字を売上日にセットするように変更します。

# テキストを取得
{%SET_U(属性,売上日,{%JOIN(抽出データ,Pages,1,Rect,売上日,Texts, )})}
{%PDF_SET_DOCUMENT_ATTRIBUTE(売上日,{%GET_U(属性,売上日)})}

↓

# テキストを取得
{%SET_U(属性,売上日,{%JOIN(抽出データ,Pages,1,Rect,売上日,Texts, )})}
#売上日:の後の値を取得
{%SET_U(属性,売上日,{%REGEX_CAPTURE(売上日:(.+),{%GET_U(属性,売上日)})})}
{%PDF_SET_DOCUMENT_ATTRIBUTE(売上日,{%GET_U(属性,売上日)})}

編集したマクロをeDocArrangement2のマクロ実行の処理にペーストするだだけでテキスト抽出と属性設定の処理が作成できます。

DocuWorks文書(XDW)から作成した場合

DocuWorks文書(XDW)から作成したテキスト抽出支援ツールは、PDFの場合と同じ画面で、次の点が異なります。(Version 2.7.0から)

  • 赤枠のテキストのまとまりは、XDWテキスト抽出(DW_EXTRACT_TEXT)と同じです。

  • 生成されるマクロは、DW_EXTRACT_TEXT と DW_SET_DOCUMENT_ATTRIBUTE を使います。「XDW文書オープン処理名」の欄に、XDW文書オープンの処理名を入力します(空のときは {%DW_GET(OpenName)})。

  • PDFのようなオープン・クローズのマクロは生成されません。XDW文書オープンの処理でオープンした文書に対して実行します。文書属性を残すには、XDW文書クローズの処理で文書を保存してください。

マクロ DW_CREATE_TOOL でも作成できます。

# 座標領域を設定
{%SET_U(領域指定,Page,All,売上日,X,17.03)}
{%SET_U(領域指定,Page,All,売上日,Y,27.26)}
{%SET_U(領域指定,Page,All,売上日,BottomRightX,53.4)}
{%SET_U(領域指定,Page,All,売上日,BottomRightY,34.42)}
# XDWテキスト抽出
{%DW_EXTRACT_TEXT({%DW_GET(OpenName)},1,抽出データ,領域指定)}
# テキストを取得
{%SET_U(属性,売上日,{%JOIN(抽出データ,Pages,1,Rect,売上日,Texts, )})}
{%DW_SET_DOCUMENT_ATTRIBUTE({%DW_GET(OpenName)},売上日,{%GET_U(属性,売上日)})}
#文書属性を残すには、XDW文書クローズの処理で文書を保存してください。

OCRで作成した場合

テキスト抽出支援ツール作成の画面で、「読み方」を「OCR (画像から読む)」にすると、ページを画像にして深層学習 OCR(PaddleOCR)で読み取ったテキストのまとまりが赤枠で表示されます。スキャンしたイメージのPDF・DocuWorks文書(XDW)からも作成できます。(Version 2.7.0から)

  • 「解像度」は、OCR で読み取る解像度です(200・300・400 dpi。既定は 300 dpi)。文字が小さい文書は、大きくすると読み取れることがあります。

  • 「表認識」をチェックすると、表の罫線を見つけ、罫線で囲まれたセルを1つずつ読み取ります(PDF_OCR_TEXT・DW_OCR_TEXT の OCRオプション Tables)。表のセルの文字は、セルごとのまとまりになります。読み取りの時間は約2倍になります。(Version 2.7.1から)

  • 赤枠のテキストのまとまりは、PDF OCRテキスト抽出(PDF_OCR_TEXT)・XDW OCRテキスト抽出(DW_OCR_TEXT)と同じです。

  • 生成されるマクロは、OCRの設定(ツールを作成したときと同じ解像度。表認識をチェックした場合は表認識も)と PDF_OCR_TEXT・DW_OCR_TEXT を使います。ほかの部分は、テキストで読み取った場合と同じです。

  • 「方式」は、OCR では選べません(OCR のテキストのまとまりは、常に改善版の作り方です)。

  • OCR で作成するには、64 ビットの Windows が必要です(深層学習 OCR について)。読み取りには、1ページ(A4・300dpi)で1~2秒ほどかかります。

マクロ PDF_CREATE_OCR_TOOL・DW_CREATE_OCR_TOOL でも作成できます。DocuWorks文書(XDW)を OCR で読み取ったツールが生成するマクロの例です。

# 座標領域を設定
{%SET_U(領域指定,Page,All,売上日,X,17.03)}
{%SET_U(領域指定,Page,All,売上日,Y,27.26)}
{%SET_U(領域指定,Page,All,売上日,BottomRightX,53.4)}
{%SET_U(領域指定,Page,All,売上日,BottomRightY,34.42)}
# OCRの設定 (テキスト抽出支援ツールを作ったときと同じ解像度で読む)
{%SET_U(OCR設定,Dpi,300)}
# XDW OCRテキスト抽出
{%DW_OCR_TEXT({%DW_GET(OpenName)},1,抽出データ,領域指定,OCR設定)}
# テキストを取得
{%SET_U(属性,売上日,{%JOIN(抽出データ,Pages,1,Rect,売上日,Texts, )})}
{%DW_SET_DOCUMENT_ATTRIBUTE({%DW_GET(OpenName)},売上日,{%GET_U(属性,売上日)})}
#文書属性を残すには、XDW文書クローズの処理で文書を保存してください。