1. 概要
本ソフトウェアは、画像に含まれる文字を認識してテキストファイルへ出力します。 あらかじめ座標を指定した範囲について文字を認識します。
1.1. サポートしている画像形式
サポートしている画像ファイル形式は以下の通りです。
画像 (拡張子) Windows>ファイル「プロパティ」での表示 PDF ※ PDF JBIG2形式 jpeg ( .jpeg, .jpg ) png ( .png ) Tiff LZW圧縮 ( .tif, .tiff ) LZW Tiff ZIP圧縮 ( .tif, .tiff ) – Tiff Packbits圧縮 ( .tif, .tiff ) Packbits Tiff CCITT T6圧縮 ( .tif, .tiff ) CCITT T6 Tiff CCITT T4JPEG圧縮 ( .tif, .tiff ) CCITT T4 Tiff 圧縮しない ( .tif, .tiff ) 圧縮しない
※PDFは中に含んでいる画像がサポートしていない形式の場合は対象外となります。
・サポートしていない画像形式
画像 (拡張子) Windows>ファイル「プロパティ」での表示 jpeg2000 ( .jp2 ) gif ( .gif ) bitmap ( .bmp ) Tiff JPEG圧縮 ( .tif, .tiff ) JPEG
1.2. 使用する用語
・帳票定義
OCRをかけ、データ化されたものから、必要なデータのみを抽出するための設定です。帳票の読み取りには、必ず設定する必要があります。
・学習モデル – 活字OCR用学習モデル
活字にOCRをかけ、データ化する際に使用するファイルです。手書き文字をデータ化することはできません。
– 手書き文字OCR用学習モデル
手書き文字にOCRをかけ、データ化する際に使用するファイルです。活字モデルと比較すると精度は劣りますが、活字文字もデータ化することが可能です。
・Enterprise版
非定型の帳票にOCRをかけ、データ化する際に適した機能です。手書き/活字の両モデルに対応しています。
・Standard版
定型の帳票のデータ化に適した機能です。手書き/活字の両モデルに対応しています。
・共通設定ファイル
OCRをかける際に、使用する設定ファイルです。フォルダパスの指定やデータ抽出のチューニングを行います。
・arex ファイル
AIRead独自の実行用ショートカットファイルです。AIRead FormEditorで作成・編集を行うことができます。
・AIRead FormEditor
Standard版の機能で帳票を読み取る際に使用する、帳票定義の作成・チューニングを行うためのGUIです。
・AIRead ControlPanel
共通設定ファイルの作成・チューニングを行うためのGUIです。ライセンスの登録・更新、ユーザ認証の設定もこちらのツールで行います。
・AIRead Viewer
AIRead の実行結果を確認する画面です。 AIRead Ruleeditor、AIRead FormEditor、専用のbat から実行した結果の使用することができます。
・AIREAD_HOME
AIRead が使用するシステム環境変数です。AIRead のインストール先が、AIREAD_HOME となります。インストール時に作成されるため、事前に設定する必要はありません。
2. 実行手順
2.1. 処理フロー
2.2. 実行方法(arexファイルを利用する場合)
AIRead独自の実行用ショートカットを使用して、OCR結果を出力します。 AIRead FormEditor(以下FormEditor)で作成したarex ファイルを実行することで、指定したフォルダへ画像を出力します。 以下のプログラムを起動することで、FormEditorでarexファイルの作成・編集ができます。
<AIReadインストールフォルダ>/FormEditor/AIReadFormEditor.exe
2.2.1. arexの起動条件の設定(座標指定OCRの場合)
座標指定で帳票を読み取りたい場合に使用する起動条件です。
No. 項目名 説明 1 読み取り方式 使用する読み取り方式を指定する座標指定の場合は、座標指定OCR を指定 2 フォームID 帳票の読み取り時に使用するフォーマット定義を指定する フォーマット定義の作成は、5.2. AIRead FormEditorで設定 を参照 3 共通設定ファイルパス 帳票の読み取り時に使用する共通設定ファイル 変更する場合は上部の「共通設定」から変更する 共通設定ファイルの詳細は、4. 共通設定 を参照 4 AIRead Viewerの起動 起動する:読み取り完了後にAIRead Viewerで読み取り結果を表示する CSVの出力は、AIRead Viewerから行うため、「読取結果出力フォルダ」は指定不可になる 起動しない:読み取り完了後に、「読取結果出力フォルダ」に指定したフォルダパスへ読み取り結果を出力する 5 読取画像の格納フォルダ 読み取り対象としたい画像を配置するフォルダパスを指定する 6 読取結果出力フォルダ 「AIRead Viewerの起動」が “起動しない” になっているときに読み取り結果を出力するフォルダパスを指定する
2.2.2. arexの起動条件の設定(仕分け付きOCRの場合)
フォーマット仕分け付で帳票読み取りを行う場合に使用する起動条件です。 仕分け付OCRについては、8. 仕分け付きOCR機能 を参照。
No. 項目名 説明 1 読み取り方式 使用する読み取り方式を指定する仕分け付読み取りの場合は、仕分け付OCR を指定 2 実行内容 OCRのみ:登録済みの仕分け設定を使用して、帳票読み取りを行う テンプレート登録のみ:テンプレート画像と仕訳け設定を最新の状態に登録する テンプレート登録とOCR:テンプレート画像と仕分け設定の登録後、登録された仕訳設定を使用して読み取りを行う 3 仕分け定義フォルダパス テンプレート画像と仕分け設定が配置されている仕分け定義フォルダまでのフォルダパスを指定する 4 共通設定ファイルパス 帳票の読み取り時に使用する共通設定ファイル 変更する場合は上部の「共通設定」から変更する 共通設定ファイルの詳細は、4. 共通設定 を参照 5 AIRead Viewerの起動 起動する:読み取り完了後にAIRead Viewerで読み取り結果を表示する CSVの出力は、AIRead Viewerから行うため、「読取結果出力フォルダ」は指定不可になる 起動しない:読み取り完了後に、「読取結果出力フォルダ」に指定したフォルダパスへ読み取り結果を出力する 6 読取画像の格納フォルダ 読み取り対象としたい画像を配置するフォルダパスを指定する 7 読取結果出力フォルダ 「AIRead Viewerの起動」が “起動しない” になっているときに読み取り結果を出力するフォルダパスを指定する
2.2.3. arexの起動条件の設定(全文OCRの場合)
帳票定義を使用せず、帳票全体を読み取る場合に使用する起動条件です。 全文OCRについては、4.4.4. 表検出付全文OCR を参照。
No. 項目名 説明 1 読み取り方式 使用する読み取り方式を指定する全文読み取りの場合は、全文OCR を指定 2 共通設定ファイルパス 帳票の読み取り時に使用する共通設定ファイルを指定する 共通設定ファイルの詳細は、4. 共通設定 を参照 3 読取画像の格納フォルダ 読み取り対象としたい画像を配置するフォルダパスを指定する 4 読取結果出力フォルダ 「AIRead Viewerの起動」が “起動しない” になっているときに読み取り結果を出力するフォルダパスを指定する
2.3. 実行方法(batファイルを利用する場合)
コマンドを使用し、OUTPUTフォルダへOCR結果を出力します。
以下のコマンドを実行してください。
run.bat は、Standard版(定型読み取り)を実行する際に使用するbatファイルです。
call “%AIREAD_HOME%\scripts\set_envs.bat” set MAIN_CLASS_NAME=co.jp.ariseinnovation.AIReadEE.AIReadEE “%AIREAD_JAVA%/java” -Xmx8192m -classpath “%CLASSPATH%” %MAIN_CLASS_NAME% -s [SettingFile] -C [フォーマット定義]
No. 引数 説明 1 -s [SettingFile] 共通設定ファイルを指定 2 -C [フォーマット定義] FormEditor で作成したフォーマット定義を指定 3 –input <フォルダパス> 読み取り対象としたい画像を配置するフォルダパスを指定 引数で指定したフォルダパスは共通設定の指定よりも優先される 4 –output <フォルダパス> 読み取り結果を出力したいフォルダパスを指定 引数で指定したフォルダパスは共通設定の指定よりも優先される
run_whole.bat は、作成した帳票定義を使用せず、帳票上の文字全文を取得する場合に使用するbatファイルです。
call “%AIREAD_HOME%\scripts\set_envs.bat” set MAIN_CLASS_NAME=co.jp.ariseinnovation.AIReadEE.AIReadEE “%AIREAD_JAVA%/java” -Xmx8192m -classpath “%CLASSPATH%” %MAIN_CLASS_NAME% -W -s [SettingFile]
No. 引数 説明 1 -W -s [SettingFile] 共通設定ファイルを指定
3. ユーザー認証機能
下記の各種GUI、実行ファイルに対して認証機能を付与し、実行ユーザーの制限を行うことができます。認証機能を有効にするには、ユーザーが1人以上登録されている必要があります。
・AIRead実行(arexファイル) ・ControlPanel ・FormEditor ・Viewer
3.1. ロールの設定
ユーザー認証は、ロールを作成し各ユーザー毎にロールに紐づけを行います。
3.1.1. AIRead ControlPanelの起動
<AIREAD_HOME>\ControlPanel\AIReadControlPanel.exe をダブルクリック、もしくはスタートメニューのショートカットから起動 します。
ControlPanel を起動し、下記のアイコンを選択してください。
3.1.2. 認証機能の設定
ロール画面上の設定ボタンを押下すると、AIRead 全体で認証を必要とするアプリの設定を行うことができます。 チェックボックスで選択されているアプリは、起動時にユーザー認証を求められます。 ユーザー認証を省略したいアプリケーションがある場合は、チェックを外してください。※管理者以外のユーザはロール画面は表示されません。
3.1.3. 実行権限の設定
General User(一般ユーザー)の編集ボタンを押下すると、各種アプリケーションの実行権限を付与することができます。 チェックボックスで選択されているアプリは、一般ユーザーでも実行が可能ですが、選択されていないアプリケーションは実行することが出来ません。
実行権限を持っていないユーザーが、実行権限の必要なアプリケーションを起動しようとすると、エラー画面が表示されます。
3.1.4. ユーザーの実行権限一覧
Administrator(管理者)とGeneral User(一般ユーザー)の実行権限は以下の通りです。
No. 対象アプリケーション Administrator 管理者 General User 一般ユーザー 1 AIRead ControlPanel ユーザ管理・ロール管理 常に利用可能 利用不可 ライセンス登録・共通設定の変更・パスワードの変更 常に利用可能 常に利用可能 2 AIReadの実行(arexファイル) 常に利用可能 利用可能 ※制限をかけて利用不可とすることも可能 3 AIRead FormEditor 常に利用可能 利用可能 ※制限をかけて利用不可とすることも可能 4 AIRead Viewer 常に利用可能 利用可能 ※制限をかけて利用不可とすることも可能
3.2. ユーザーの設定
ユーザーの設定を行う際は、ControlPanel上から下記のアイコンを選択してください。※管理者権限を持たないユーザーで認証すると、ユーザー画面は表示されません。
3.2.1. ユーザーの追加
ユーザーを追加する場合、ユーザー画面上の追加ボタンを押下します。※初回作成するユーザーのロールは、必ずAdministrator を選択してください。
No. 内容 説明 1 ユーザー名 認証機能使用時のユーザー名を入力する 2 パスワード 認証機能使用時のパスワードを入力する※パスワードは英大文字、英小文字、数字、記号(.!/'()[]+-=$#&@~)の内2種類以上を使用し、8~32文字の範囲で設定 3 パスワード再入力 パスワードに入力した文字列を再入力する 4 ロール ユーザーに紐づけるロールを選択する Administrator:管理者 General User:一般ユーザー 5 追加 入力した内容でユーザーを追加する 6 キャンセル 入力内容をキャンセルし、ユーザー追加画面を閉じる
3.2.2. ユーザーの管理
作成済みのユーザーの権限やパスワードを変更する場合、ユーザー毎の編集ボタンを押下する。
No. 内容 説明 1 ユーザー名 編集中のユーザー名が表示される 2 パスワードを編集する ユーザーのパスワードを変更する場合に選択する 3 パスワード ユーザーのパスワードを再設定する※パスワードは英大文字、英小文字、数字、記号(.!/'()[]+-=$#&@~)の内2種類以上を使用し、8~32文字の範囲で設定 4 パスワード再入力 パスワードに入力した文字列を再入力する 5 ロール ユーザーに紐づけるロールを選択する Administrator:管理者 General User:一般ユーザー 6 更新 入力した内容でユーザーを更新する 7 キャンセル 入力内容をキャンセルし、ユーザー編集画面を閉じる
3.2.3. パスワードの変更
一般ユーザーの実行権限をもつユーザーで、ControlPanel を起動するとパスワード変更ボタンが表示されます。
パスワードの変更ボタンを押下し、ポップアップしたパスワード変更画面でパスワードの変更を行ってください。※パスワードは英大文字、英小文字、数字、記号(.!/'()[]+-=$#&@~)の内2種類以上を使用し、8~32文字の範囲で設定する必要があります。
4. 共通設定
4.1. AIRead ControlPanelで設定
以下のプログラムを起動することで、AIRead ControlPanel(以下ControlPanel)にて共通設定ファイルを編集することができます。
<AIReadインストールフォルダ>/ControlPanel/AIReadControlPanel.exe
共通設定ファイル名は以下の通りです。 座標指定、ルール指定 :AIRead_setting.ini 全文OCR(定義なし):AIRead_setting_whole.ini
共通設定ファイルには“項目名=値”の書式で定義されます。
共通設定ファイルはUTF-8で保存する必要があります。
4.1.1. 基本設定
ファイルの入出力や抽出モードに関わる設定を行います。
No. 内容 項目名 書式 説明 1 フォーマットフォルダ PROFILE_CONFIG_DIR 文字列 フォーマット定義フォルダのパス 2 入力フォルダ INPUT 文字列 画像を取り込むフォルダパス 3 出力フォルダ OUTPUT 文字列 OCR結果を出力するフォルダパス 4 処理成功移動先 MOVE_SUCCESS_DIR 文字列 OCR処理に成功した画像を格納するフォルダパス 5 処理失敗移動先 MOVE_FAILED_DIR 文字列 OCR処理に失敗した画像を格納するフォルダパス 6 アウトプットと帳票識別の単位 FILE_IDENFICATION_TYPE 0, 1, 2 帳票を識別する単位 ・0:ページ単位でアウトプット、帳票識別 ページ単位で帳票を識別し、ページ単位で処理する ・1:ファイル単位でアウトプット、帳票識別は1ページ目のみ 1ページ目で帳票を識別し、1ファイルすべてのページを1つの帳票として処理する ・2:ファイル単位でアウトプット、帳票識別はページ単位 ページ単位で帳票を識別し、1ファイルすべてのページを1つの帳票として処理する 7 OCR成功時に傾きを補正した画像を出力する CORRECT_MOVED_FILE true, false チェック(true)の時、OCR成功時に成功フォルダ(MOVE_SUCCESS_DIR)に移動する画像を天地・傾き補正後画像にする (位置合わせ補正は行われない) 8 補正した画像の形式 MOVED_FILE_FORMAT PDF, JPEG CORRECT_MOVED_FILE が true の時に出力する画像のフォーマットを指定する (デフォルト JPEG) 「複数ページの帳票ファイルを1つの帳票として処理する」を指定している場合は常にPDF出力となる 9 アウトプットヘッダ情報の指定 HEADER_ITEM 文字列 アウトプットファイルへ出力するヘッダ情報の項目とその順番を指定可能 ※各項目の説明は6.1 共通 を参照 10 抽出モード COMPONENT_LEVEL MANUAL CELL 定義の仕様有無を選択 ・定義ありOCR ・定義なしOCR(全文OCR) 11 出力フォーマット OUTPUT_FORMAT CSV XML CSV4DB XMLWAGBY SIMPLE_CSV SIMPLE_SEPARATE_CSV SIMPLE_TXT SIMPLE_SEPARATE_TXT AIReadETL(v5.3.0~) OCR読取結果の出力形式を選択する<抽出モード=定義ありOCR> ・CSV ・CSV4DB(DB連携のしやすいCSVフォーマット) ・XML ・XMLWAGBY(Wagbyフォーマット) ・AIReadETL(v5.3.0~)<抽出モード=定義なしOCR (全文OCR)> ・SIMPLE_CSV (画像の見た目に近い出力) ・SIMPLE_SEPARATE_CSV (画像の見た目に近い出力、表ごとに1つのCSVを出力) ・SIMPLE_TXT (SIMPLE_CSVのタブ区切りになったもの) ・SIMPLE_SEPARATE_TXT (SIMPLE_SEPARATE_CSVのタブ区切りになったもの) ※SIMPLE_CSV(TXT)・SIMPLE_SEPARATE_CSV(TXT)については4.4.4 表検出付全文OCR を参照 12 ETLプロジェクト名(v5.3.0~) ETL_PROJECT 文字列 出力するETLのプロジェクト名を選択する(出力フォーマットがAIReadETLの場合) 13 出力文字コード OUTPUT_ENCODING UTF-8 Shift_JIS EUC-JP UTF-8with BOM 出力ファイルの文字コードを選択する (出力フォーマットがCSV、CSV4DBの場合) 14 CSV出力時の出力項目の指定 CSV_COLUMN_ITEM 文字列 CSVへ出力する項目とその順番を指定可能。 ※各出力項目の説明は6.2 CSV を参照 15 優先モデルフォルダ PRIORITY_MODEL_PATH 文字列 優先モデルフォルダとして指定するフォルダパス ※モデルは下記のフォルダ構成で配置すること※ [優先モデルフォルダ]\tessdata \[任意のモデル] 指定したフォルダ内のモデルを優先して使用し、指定されたモデルが存在しない場合、共通のモデルフォルダから使用する 個別設定と組み合わせることで、帳票ごとに優先モデルと共通モデルの使い分けができる 16 デバッグファイルを出力する IS_DEBUG true, false チェック(true)の時、DEBUG_PATHで設定されたフォルダへデバッグ情報を出力する 17 デバッグ出力先 DEBUG_PATH 文字列 デバッグファイルを出力するフォルダパス 18 出力ファイル名に日付時刻を付与する MOVED_FILE_NAME 0,1 チェック(1)の時、抽出処理完了後の出力ファイル名に日付時刻を付与する 19 手書き画像の出力先 HW_CUT_IMAGE_DIR 文字列 手書き項目/文字画像を出力するフォルダパス 20 手書き項目画像を出力する CREATE_HW_COMP_IMAGE true, false チェック(true)の時、手書きで座標指定した範囲の切取画像を出力する 21 活字項目画像を出力する CREATE_PR_COMP_IMAGE true, false チェック(true)の時、活字として読み取った範囲の切取画像を出力する (デフォルト false) 22 活字画像の出力先 PR_CUT_IMAGE_DIR 文字列 活字項目画像を出力するフォルダパス 23 表示用画像(PDF)を生成する CREATE_DISPLAY_IMAGE true, false チェック(true)の時、データサイズを減らしたPDFを生成する 天地補正・傾き補正後(位置合わせ無し)の画像がPDFに埋め込まれる 入力ファイルが複数ページの場合、FILE_IDENFICATION_TYPEに関係なく複数ページのPDFを生成する 24 表示用画像の出力フォルダ DISPLAY_IMAGE_DIR 文字列 生成した表示用PDFを出力するフォルダパス (デフォルト:指定なし、表示用画像(PDF)を生成する が有効のとき 指定必須) 25 表示用画像の品質 DISPLAY_IMAGE_QUALITY 1~100 生成する表示用PDFの品質を指定する 指定した値が低いほど画像品質は下がるが、データサイズも小さくなる (デフォルト 65) 26 保管用画像を生成する CREATE_PRESERVATION_IMAGE true, false チェック(true)の時、電子帳票保存法向けに保管用の画像を生成する 27 保管用画像出力フォルダ PRESERVATION_IMAGE_DIR 文字列 生成した電子帳票保存法向けの保管用画像を出力するフォルダパス (デフォルト:指定なし、保管用画像を生成する が有効のとき 指定必須) 「<」「>」「*」「?」「”」「|」「半角スペース」は使用不可 使用されていた場合は、自動的に除去される 任意の文字列以外に以下のタグも使用可能 <date>:システム日付(年月日の数字8桁 yyyymmdd) <time>:システム時間(時間秒ミリ秒の数字11桁 hhmmssfffff) <year>:システム日付(西暦の数字4桁 yyyy) <month>:システム日付(月の数字2桁 mm) <day>:システム日付(日付の数字2桁 dd) <item:項目名>:読み取りを行った際に、使用された帳票定義で指定されている項目名(v5.3.2~) (例えば、帳票定義で company_name と定義し、OCRにより実際の帳票から「アライズイノベーション株式会社」という文字列が取得されたとする。 この場合、保管用画像のファイル名の <item:company_name> の部分が「アライズイノベーション株式会社」に置換される) 28 保管用画像のファイル名 PRESERVATION_IMAGE_NAME 文字列 生成される電子帳票保存法向けの保管用画像のファイル名を指定する 「<」「>」「¥」「/」「:」「*」「?」「”」「|」「半角スペース」は使用不可 任意の文字列以外に以下のタグも使用可能 <date>:システム日付(年月日の数字8桁 yyyymmdd) <time>:システム時間(時間秒ミリ秒の数字11桁 hhmmssfffff) <year>:システム日付(西暦の数字4桁 yyyy) <month>:システム日付(月の数字2桁 mm) <day>:システム日付(日付の数字2桁 dd) <inputfile>:読み取った対象のファイルから拡張子を除いた文字列 <item:項目名>:読み取りを行った際に、使用された帳票定義で指定されている項目名 (例えば、帳票定義で company_name と定義し、OCRにより実際の帳票から「アライズイノベーション株式会社」という文字列が取得されたとする。 この場合、保管用画像のファイル名の <item:company_name> の部分が「アライズイノベーション株式会社」に置換される)
4.1.2. 文字認識
文字認識に影響するパラメータを設定します。
No. 内容 項目名 書式 説明 座標指定 1 OCR結果にスペースを含める EXPORT_SPACE true, false チェック(true)の時、OCR結果にスペースを含める (活字読み取り時のみ) 2 位置合わせ最大矩形の認識マージン FORMAT_MARGIN 0以上 位置合わせ時に大きな矩形を認識しない画像端(上下左右)からの範囲を指定する 単位はピクセル (デフォルト 15) 3 位置合わせ外接矩形の認識マージン FIX_TEXT_HEIGHT 0以上 位置合わせ時に外接矩形を認識しない画像端(上下左右)からの範囲を指定する 単位はピクセル (デフォルト 100) 4 活字のノイズ閾値 PRINT_NOISE_FILTERS -1~100 活字の認識で、項目中の最大文字高さに対して指定された閾値以下の文字をノイズとして除去する 例) 30 を指定 → 読み取り範囲内の最大文字に対し30%以下の高さの文字をノイズとみなして除去する (デフォルト -1:本機能は動作しない) ※小さい文字や記号がノイズとして削除される可能性有り 5 手書きノイズの閾値 (文字の高さ、複数文字指定時) HW_NOISE_FILTERS 文字列 手書き文字の認識で指定したモデルについて、項目中の最大文字高さに対して任意の割合以下の文字をノイズとして除去する 手書き文字の文字数を「複数」で設定した項目を対象とする [モデル名]:[閾値(%)]の形式で記載する カンマ区切りで複数指定可能 例) number:25,money:30 → 数値モデルは25%、通貨モデルは30%の高さの文字をノイズとみなして除去する ※小さい文字や記号がノイズとして削除される可能性があります 6 手書きノイズの閾値 (白画素の割合、1文字指定時) HW_WHITE_THRESHOLD 0~1.0 手書き項目に1文字指定をしているとき、 その項目画像を読取対象外(ノイズ)と判断する白ピクセルの割合と判断する閾値を指定する 例) 0.99 を指定 → 手書き項目が1文字指定のとき、項目内の白ピクセルの割合が99%以上であれば、項目内の記載をノイズと判断して除去する (デフォルト 0.975) 7 改行を出力する RECOGNIZE_NEWLINE true, false チェック(true)の時、読み取り項目内の改行を認識して\nとして出力する キーワード、キーワードの座標指定 8 【明細】同一レコード判定 EXTRACTION_RECORD_SEGMENT 0,1 同一レコードとみなす判定ロジックを選択。 ・0:罫線区切り(デフォルト) 罫線をまたいだ場合にレコードを区切る ・1:行区切り 横に並んでいる文字列を1行としてレコードを区切る 9 【明細】重複した明細を出力する EXTRACTION_OUTPUT_DUPLICATE_DETAILS 0,1 ・0:重複した明細を出力しない ・1:重複した明細を出力する 項目名、ページ番号、GID、RIDのすべてが一致する項目を重複とみなす 同じ明細のテーブルが横に並んでいる場合に1を指定する 全体OCR(キーワード、キーワードの座標指定、型指定) 10 使用するモデル OCR_ENGINE TESSERACT TENSORFLOW ONNX PYTORCH 使用するOCRエンジンを指定する ・TESSERACT:活字 ・TENSORFLOW:手書き(v5.0.0以前のモデルを使用する場合) ・ONNX:手書き(CPUを使用する場合に指定) ・PYTORCH:手書き(GPUを使用する場合に指定) 11 テキスト付きPDFでもOCRを実行する OCR_PDF_WITH_TEXT true, false チェックあり(true):テキスト付きPDFの場合でもOCRを実行する チェックなし(false):PDFのテキスト情報を使用して抽出する 12 文字検知ロジック USE_DL_STRING_DETECTION STRING_DETECTION_VERSION true, false 1,3 文字列検知ロジックを指定する ・文字検知v3:text_detection_v3を使用 USE_DL_STRING_DETECTION=true STRING_DETECTION_VERSION=3 ※別途allmodelをダウンロードする必要あり ・文字検知v2:text_detectionモデルを使用 USE_DL_STRING_DETECTION=true STRING_DETECTION_VERSION=1 ・文字検知v1:tesseractを使用 USE_DL_STRING_DETECTION=false 13 行間隔が狭い文字列の精度改善 STRING_DETECTION_SPLIT_LARGE_RECTANGLE true, false チェックあり(true):行間隔の狭い文字列に対して、改善した文字検知を行う チェックなし(false):従来の文字検知のまま処理を行う 14 OCR結果から除外する文字リスト BLACK_LIST_EXT 文字列 抽出処理時にキーワードおよび抽出する値から除外する文字を指定する 手書きモデル 15 手書き用OCRモデル HANDWRITE_LANG 文字列 指定された手書きモデルが存在しないときに使用するモデル名 “OCR_MODEL_PATH/tessdata/”以下に存在するフォルダ名 例)multi2_jpn 活字モデル 16 活字用OCRモデル OCR_LANG 文字列 活字OCRエンジンで利用するモデル名 OCRモデルフォルダに存在するファイルの拡張子”.traineddata”を除外したファイル名を指定する 例)Japanese.traineddata → Japanese 17 文字列の切取ロジック PAGE_SEG_MODE 4, 6 OCRエンジンの活字文字検知/分割アルゴリズムを指定する ・4 : 1行内の文字サイズが可変とみなして文字を検知 ・6 : 1行内の文字サイズが固定とみなして文字を検知 18 文字の多重認識を減らす処理を行う use_dup_char_reducer true, false 複数の同じ文字が連続で出力されてしまうとき、本設定を有効にすることで回避できる(活字のみ) ※文字間が近い場合、複数文字を1文字として出力してしまう副作用が起きる可能性がある ・チェックする(true) : 機能を有効にする ・チェックしない(false) : 機能を無効にする 19 対象文字種 reduce_target 0~4 「文字の多重認識を減らす処理を行う(use_dup_char_reducer)」の対象となる文字種を指定する ・0 : 数字 ・1 : 記号 ・2 : ひらがな ・3 : カタカナ ・4 : アルファベット カンマ区切りで複数指定可能 20 再読み込みの閾値 RESCAN_THRESHOLD 0~100 指定した値よりもコンポーネントのConf値が閾値より低い場合に読み直す(活字のみ) ※コンポーネント内の文字のConf値の平均値 21 1つの文字列とみなす文字間隔(高さのN倍) LINKED_ITEM_THRESHOLD 数値 1つの文字列とみなす文字の間隔を設定 値は文字の大きさ(高さ)に対する倍率
4.1.3. 画像処理
文字認識の前に実施する画像処理関連の設定を変更します。
No. 内容 項目名 書式 説明 1 傾き補正を行う IS_SLOPE_CORRECTION true, false チェック(true)の時、文字認識前に傾き補正を行う(35度まで) 2 回転補正を行う AUTO_ROTATION true, false チェック(true)の時、文字認識前に90/180/270度の画像回転補正を行う 3 回転補正のロジック ROTATION_SERVICE MOBILE_ONE 回転補正のロジックを指定 回転補正v1(指定なし):画像処理を使用した回転補正 回転補正v2(MOBILE_ONE):DeepLearningを使用した回転補正、v1より精度が良いが、処理時間が数秒長くなる 4 直線除去を行う最短の長さ LINE_REMOVAL_THRESHOLD 0以上の整数 直線とみなす長さのしきい値(ピクセル) 0の場合、文字の大きさから自動で設定する 5 直線除去時の文字高さに対する倍率 LINE_REMOVAL_MULTIPLE_BY_TEXT_HEGHT 0.1以上の数値 指定した値×文字高さの平均(ピクセル)が直線除去の対象となる 直線除去を行う最短の長さ の値が0の場合にのみ動作する 6 点線除去を行う最短の長さ HOUGH_THRESHOLD 0以上の整数 点線とみなす長さのしきい値(ピクセル) 7 点線の間隔(横) ERODE_W 0以上の整数 横の点線として検知する点の間隔の値(ピクセル) 点と点の間隔が広い場合は大きい値を設定する (デフォルト 12) 8 点線の間隔(縦) ERODE_H 0以上の整数 縦の点線として検知する点の間隔の値(ピクセル) 点と点の間隔が広い場合は大きい値を設定する (デフォルト 7) 9 罫線除去で欠けてしまった文字の復元処理を行う RESTORE_TEXT true, false チェック(true)の時、罫線除去時に欠けてしまう罫線と隣接した文字を復元する ※必ず復元できるわけではない ※副作用として文字にノイズがつく場合がある 10 二値化の閾値 THRESH_VALUE 0~255 文字認識前の画像の二値化(白黒化)のしきい値 0の場合、画像全体のヒストグラムから自動で設定する 詳細は4.4.1. 二値化の閾値 を参照 11 直線除去時の二値化の閾値 BINTHRESH_ON_LINE_REMOVAL 0~255 直線除去時の二値化パラメータのしきい値 0の場合、画像全体のヒストグラムから自動で設定する 12 短い罫線(横)除去の閾値 SHORT_LINE_THRESH_H -1以上 長い罫線に接している短い罫線(横)を検知・除去する閾値 罫線の長さ(ピクセル)を指定する -1 : 除去を行わない 0 : 除去を行わない(-1と同じ) 1以上 : この値を直線検知の閾値とする 13 短い罫線(縦)除去の閾値 SHORT_LINE_THRESH_V -1以上 長い罫線に接している短い罫線(縦)を検知・除去する閾値 罫線の長さ(ピクセル)を指定する -1 : 除去を行わない 0 : 除去を行わない(-1と同じ) 1以上 : この値を直線検知の閾値とする 14 短い点線も除去する USE_SHORT_DOTLINE_REMOVAL true, false チェック(true)の時、短い罫線除去時に点線も除去対象とする ※処理時間がA4画像1枚当たり2秒ほど増加する ※文字が除去される副作用が発生する可能性がある 15 細かいノイズ除去の閾値(幅) THIN_LINE_REMOVAL_THRESHOLD_W 0以上 指定した幅(ピクセル)より細かいノイズを除去する 値が大きいほど大きなサイズのノイズを除去する (デフォルト 0、推奨値 3) 詳細は4.4.2. 細かいノイズ除去 を参照 16 細かいノイズ除去の閾値(高さ) THIN_LINE_REMOVAL_THRESHOLD_H 0以上 指定した高さ(ピクセル)より細かいノイズを除去する 値が大きいほど大きなサイズのノイズを除去する (デフォルト 0、推奨値 3) 詳細は4.4.2. 細かいノイズ除去 を参照 17 細かいノイズ除去の縮小フィルタ(幅) ERODE_THIN_LINE_W 1以上 細かいノイズ除去の収縮処理のフィルターサイズ(幅) 値が大きいとより独立したノイズのみ除去する (デフォルト 12) 詳細は4.4.2. 細かいノイズ除去 を参照 18 細かいノイズ除去の縮小フィルタ(高さ) ERODE_THIN_LINE_H 1以上 細かいノイズ除去の収縮処理のフィルターサイズ(高さ) 値が大きいとより独立したノイズのみ除去する (デフォルト 7) 詳細は4.4.2. 細かいノイズ除去 を参照 19 TIFFを300DPIに変換してからOCRを実行する CONV_TIFF_DPI true, false チェック(true)の時、TIFFを300DPIに変換してからOCRを実行する TIFFで縦横のDPIが異なる場合に指定する 20 抽出する色 EXTRACTION_COLORS 文字列 抽出する色を指定する(指定した色以外を除去する) 複数色を指定する場合はカンマ区切りで記載する 例) EXTRACTION_COLORS=K,R 指定可能な色 ・K(黒) ・R(赤) ・Y(黄) ・G(緑) ・C(シアン) ・B(青) ・P(紫) 個別で指定する場合は、直接数値を指定 詳細は4.4.5. 色の抽出・除去 を参照 21 除去する色 REMOVAL_COLORS 文字列 除去する色を指定する 指定方法は色抽出(EXTRACTION_COLORS)と同様抽出する色と両方指定した場合は抽出を優先する 詳細は4.4.5. 色の抽出・除去 を参照 22 色抽出・除去を罫線除去の前に行う FILTER_COLOR_BEFORE_LINEREMOVAL true, false チェック(true)の時、罫線除去の前に色抽出・除去を行う 23 罫線を延長する長さ LINE_EXTENSION_LEN 0以上 検知した罫線を延長する 単位はピクセル (デフォルト 0) 24 矩形の丸い角を除去する閾値 ROUNDED_CORNER_THRESHOLD 0~100 半径が指定した値未満の丸い角を除去する 単位はピクセル 0の場合は除去されない (デフォルト 0) 詳細は4.4.3. 丸い角の除去 を参照 25 丸い角の除去範囲を拡張する長さ ROUNDED_CORNER_PADDING 0~100 丸い角を除去する際に、指定した値分の除去範囲を拡大する 単位はピクセル (デフォルト 10) 詳細は4.4.3. 丸い角の除去 を参照 26 ドットの除去(背景・点線)を行う REMOVE_DOT true, false チェック(true)の時、ドットの除去(背景、点線)を行う (デフォルト false) 27 除去したいドットの幅 DOTLINE_SIZE_W 0以上の整数 削除したい背景や点線のドットのサイズの幅をピクセルで指定する (デフォルト 3) 28 除去したいドットの高さ DOTLINE_SIZE_H 0以上の整数 削除したい背景や点線のドットのサイズの高さをピクセルで指定する (デフォルト 3) 29 罫線/点線削除の前にドットを削除 REMOVE_DOT_BEFORE_LINE true/false チェック(true)の時、罫線/点線削除の前にドットを削除する (デフォルト true) 30 小さい矩形を削除 REMOVE_SMALL_RECTANGLES true, false チェック(true)の時、小さい矩形の除去を行う 31 除去する矩形の最小面積 REMOVE_RECTANGLE_MIN_AREA_ THRESHOLD 0以上の整数 「小さい矩形を削除除去する 」がチェック(true)の時に除去する矩形の最小面積を指定する 32 除去する矩形の最大面積 REMOVE_RECTANGLE_MAX_AREA_ THRESHOLD 0以上の整数 「小さい矩形を削除除去する 」がチェック(true)の時に除去する矩形の最大面積を指定する 33 斜め線を除去 REMOVE_DIAGONAL_LINES true, false チェック(true)の時、矩形内の斜めの線を除去する
33~37のパラメータは普段は折り畳まれておりますが、全て表示を押下することで表示されるようになります。 ※パラメータ増加に伴い、使用頻度の低いパラメータがデフォルトで非表示になっています。
No. 内容 項目名 書式 説明 33 ノイズ除去を行う DE_NOISE true, false ノイズ除去処理の有無 チェック(true)の時、文字認識前にノイズ除去を行う 34 罫線除去を無効化する SKIP_LINE_REMOVE true, false チェック(true)の時、文字認識前の罫線除去を無効化する(罫線除去は行わない) 35 白黒反転処理を実施する黒の比率 BLACK_WHITE_THRESHOLD 0~100 二値化後に白黒を反転するしきい値(%) 設定した%より黒の割合が多い場合に白黒を反転する 36 シャープ補正値 SHARPEN_VALUE 0以上の少数 OCR実行前に画像をシャープ化する 画像がぼやけている場合などに利用すると効果的 0の場合は処理しない 37 ドット背景除去を行う(旧) REMOVE_DOTTED_BACKGROUND true, false チェック(true)の時、ドット背景除去を行う ※下位互換パラメータ
4.1.4. 後処理設定
読み取り完了後に行う処理全般を設定します。 作成された個別読取結果変換リストと読み取り項目との紐づけは、RuleEditor/FormEditor から行います。
No. 項目名 説明 1 個別読取結果変換リストの保存先 個別読取結果変換設定ファイルの保存先を指定する デフォルトは、<AIREAD_HOME>\OcrPostProcess 2 変換リスト名 選択中の個別読取結果変換設定ファイルが表示される 個別読取結果変換設定ファイルを追加する場合は、変換リスト名に入力した名前で追加される 3 変換リスト名一覧 作成済みの個別読取結果変換設定ファイルの一覧が表示される 4 変換設定追加ボタン 変換リストに入力した名称で個別読取結果変換設定ファイルを追加する 選択中の設定ファイル保存先に、同一の設定名の個別読取結果変換設定ファイルが存在する場合は追加不可 5 変換設定削除ボタン 選択中の個別読取結果変換設定ファイルを削除する 6 変換リスト 選択中の後個別読取結果変換設定ファイルの設定情報を表示する 7 読取後に実行するコマンドライン文字列 帳票の読み取り後に実行するコマンドライン文字列を設定する
4.1.4.1. 変換リストの設定
No. 項目名 説明 1 変換対象(正規表現) 変換対象の文字を指定する 変換対象の文字は正規表現で記載する 2 変換後の文字 変換対象の文字から変換する文字を指定する 変換後の文字は単語でも指定可能
4.1.4.2. 読取後に実行するコマンドライン文字列の設定
AIReadで帳票読み取りを行った後に、呼び出したいコマンドライン文字列を設定します。
例) 保管用画像を任意のフォルダへコピーするコマンドcopy /y “%AIREAD_PRESERVATION_FILE%” “任意のフォルダパス”
コマンドラインでは、AIRead独自の変数を使用することができます。 使用可能な変数と値については、下記を参照ください。
No. 環境変数名 内容 呼び出されるパスの例 1 AIREAD_ORIG_INPUT_FILE オリジナルの読取対象ファイルまでのフルパス C:\AIRead\debug\original\sample.pdf 2 AIREAD_PRESERVATION_FILE 保存用画像のファイルまでのフルパス※基本設定タブで「保管用画像を生成する」が有効となっていることが前提 無効になっている場合は空文字列(“”)が設定される C:\AIRead\preseve\20230320123456_アライズイノベーション_物品仕入れ_sample.pdf
4.1.5. 環境
ログ出力など環境に関する設定を変更します。
No. 内容 項目名 書式 説明 1 GPUを使用する DEVICE cpu gpu 文字認識処理でGPUを使用するかを指定する ・cpu:CPUを使用 ・gpu:GPUを使用 2 バッチサイズ OCR_BATCH_SIZE 整数 文字認識処理で一度に処理をする件数を指定する 数値が大きいほど処理速度が速くなるが、メモリの消費量が多くなる 3 ログ出力フォルダ LOGS_PATH 文字列 実行ログを出力するフォルダパス 4 ログ出力レベル LOGS_LEVEL 0~3 指定したレベルで以下の内容を出力する ・0 : DEBUG, INFO, WARNING, ERROR ・1 : INFO, WARNING, ERROR ・2 : WARNING, ERROR ・3 : ERROR 5 ログ1ファイルあたりの データサイズ LOG_ROTATION_SIZE 0~100 ログ1ファイルあたりの最大サイズ(MB) 0 の場合、プロセス単位でログを出力する 6 ログ全体のデータサイズ LOG_MAX_SIZE 0以上の整数 ログファイルを保存する最大容量(MB) 0 の場合、制限なし(削除しない) ※LOG_ROTATION_SIZEより大きい値を設定すること 7 Viewerのデータ保存期間 VIEWER_DATA_RETENTION_PERIOD 0以上の整数 Viewerに登録したデータの保存期間を指定する 保存期間を過ぎたデータはAIRead実行時に削除される 0は無期限
4.1.6. ファイル
共通設定ファイルファイルの新規作成、保存の操作ができます。
No. 項目名 説明 1 新規 新規で共通設定ファイルを作成する 2 開く 共通設定ファイルを指定して開く 3 上書き保存 編集中の設定を上書き保存する 4 名前を付けて保存 編集中の設定を別ファイルとして保存する 5 履歴 過去に保存した共通設定ファイルの履歴を表示する 選択することで対象ファイルを編集できる
4.2. 共通設定ファイルでのみ指定できる項目
No. 項目名 書式 説明 1 COMPONENT_LEVEL MANUAL ITEM CELL モードを指定する ・MANUAL : 座標指定、ルール指定 ・ITEM : 全文OCR ・CELL : 全文OCR(表検出付き) 2 AUTO_CROPS true, false trueの場合、周囲の余白を削除する 3 OCR_MODEL_PATH 文字列 OCRエンジンで利用するモデルのフォルダパス(tessdataが存在するフォルダ) 4 OCR_MODE 1 OCRエンジンのOCRアルゴリズムを指定する
4.3. 項目/文字切り取り画像の出力
手書き項目画像を出力する機能が有効(CREATE_HW_COMP_IMAGE=true)、もしくは手書き文字画像を出力する機能が有効(CREATE_HW_CHAR_IMAGE=true)の際は、手書き画像の出力先(HW_CUT_IMAGE_DIR)の指定されたディレクトリにそれぞれの手書き画像を出力します。
?指定した出力先(HW_CUT_IMAGE_DIR) ├ ─ ─ ?char(手書きのみ) │ ├ ? FileA.jpg_0_0.jpg │ ├ ? FileA.jpg_0_1.jpg │ ├ ? FileA.jpg_0_2.jpg │ ├ ⁝ │ └ ? FileA.jpg_3_7.jpg │ └ ─ ─ ?component(活字・手書き) ├ ? FileA.jpg_0.jpg ├ ? FileA.jpg_1.jpg ├ ? FileA.jpg_2.jpg └ ? FileA.jpg_3.jpg
項目(component)画像の数字は、同一入力ファイル中の連番です。 文字(char)画像の数字は、ファイル名で紐づく、項目画像ごとの連番です。
4.4. ユースケース
4.4.1. 二値化の閾値
OCRは画像を白と黒だけに変換(二値化)した状態で行います。各ピクセルの明るさ(黒0~255白)に対して、黒と白の境界とする値が二値化の閾値です。閾値は0~255を設定します。 二値化の閾値が低いと元の画像で濃い色のみが二値化で黒くなり、高いと薄い色でも黒くなります。 また、閾値を0とした場合は画像全体の明るさを基に自動で閾値を判定します。それによって目的の文字が消えてしまうなどあった場合は閾値を直接調整してください。
二値化の閾値の設定によって、下記画像のように変化します。
4.4.2. 細かいノイズ除去
細かいノイズ除去の閾値では、除去対象とするノイズの幅・高さを指定します。 どちらかのパラメータの対象となる場合は除去対象となります。
ControlPanel項目名 共通設定ファイル項目名 推奨値 細かいノイズ除去の閾値(幅) THIN_LINE_REMOVAL_THRESHOLD_W 3 細かいノイズ除去の閾値(高さ) THIN_LINE_REMOVAL_THRESHOLD_H 3
細かいノイズ除去の縮小フィルタは、近隣の文字・ノイズを結合して除去対象となるのを防ぎます。 結合する文字・ノイズ間の距離(ピクセル)を指定します。
ControlPanel項目名 共通設定ファイル項目名 推奨値 細かいノイズ除去の縮小フィルタ(幅) ERODE_THIN_LINE_W 12 細かいノイズ除去の縮小フィルタ(高さ) ERODE_THIN_LINE_H 7
4.4.3. 丸い角の除去
帳票によっては丸い角の矩形が存在し、直線除去では角が残ってしまい誤読の原因となる場合があります。 そういった場合に、下記のパラメータを設定することで丸い角の除去を行います。
ControlPanel項目名 共通設定ファイル項目名 推奨値 矩形の丸い角を除去する ROUNDED_CORNER_THRESHOLD 30 丸い角の除去範囲を拡張する長さ ROUNDED_CORNER_PADDING 10
4.4.4. 表検出付全文OCR
コントロールパネルの抽出モードの設定で「キーワード指定(表検出付)」を指定した状態で全文OCRを実行すると、認識した罫線を基に表を検出し、表の各セルに対してOCRを行います。 この際、表の各セルのOCR結果は表の行・列の形に再現可能な情報が付与され構造化されます。ETL等で後続処理に表の情報を渡したい場合などにご利用ください。
なお、構造化情報の利用に応じて出力形式を選択可能です。 ・付与された構造化情報含め出力したい場合: CSV形式 ・構造化した表の形で出力したい場合: SIMPLE_CSV / SIMPLE_SEPARATE_CSV形式 ※v2.3.1からタブ区切りのSIMPLE_TXT / SIMPLE_SEPARATE_TXT形式も追加されました
※表が段組みになっている場合には正しく構造化されません。 行と列が揃っている表にのみ有効です。
4.4.5. 色の抽出・除去
帳票上の印影や背景の色がOCRに影響し、正しく読み取りを行えない場合があります。 OCRを行う前に、必要な文字の色のみ抽出、もしくは余計な色の除去を行って調整します。 色の指定はHSV色空間で範囲指定します。
4.4.5.1. HSV色空間について
要素 指定範囲 説明 H 色相 0~179 具体的な色を定義する要素 色が環状で表現するため、0°と179°で同じ色となる S 彩度 0~255 色相で定義された色の鮮やかさ・濃さを表す要素 彩度が255で最も鮮やかとなり、減少に合わせて色が薄くなり、0で灰色になる V 明度 0~255 色相で定義された色の明るさ・暗さを表す要素 明度が255で最も明るく(白)、明度の減少に合わせて暗くなり、0で黒になる
4.4.5.2. 色の指定方法(GUI)
No. 項目名 説明 1 指定した色 カラーパレット、もしくはスポイトで対象とした色が表示される 2 色の選択ボタン カラーパレットを開き、対象とする色を指定する 3 スポイトボタン スポイト画面を開き、クリックした場所の色を抽出して対象とする 4 色相 対象とした色の色相の表示、または色相を直接入力する 5 彩度 対象とした色の彩度の表示、または彩度を直接入力する 6 明度 対象とした色の明度の表示、または明度を直接入力する 7 ±(指定幅) 対象とした色の色相、彩度、明度に対して、指定した数値分の幅を上下に持たせる 指定された数値分の幅は、from-to の範囲となる 8 色の対象範囲(from) 対象とした色から±で指定した数値分をマイナスして表示する 9 色の対象範囲(to) 対象とした色から±で指定した数値分をプラスして表示する 10 確定ボタン 指定した色の範囲をAIRead ContorlPanel に反映させる 11 キャンセルボタン 編集内容を反映させずに、AIRead ContorlPanel へ戻る
例)赤い色の範囲を指定する場合(GUI)
対象の色の値に対して幅を持たせることで、近い色も対象とすることができます。
4.4.5.3. 色の指定方法(テキスト)
テキストで設定を行う場合、対象としたい色の色相、彩度、明度の順で”:”(コロン)で区切り、色の指定を行います。 色相が0°、彩度、明度が200を指定する際は、下記の指定となります。
0 : 200 : 200 – 0 : 200 : 200
色相に前後の幅を持たせ、さらに明るい色も対象としたい場合は、下記のような指定を行います。
-15 : 200 : 200 – 15 : 200 : 255
色相(-15 – 15) 明度(200 – 255) 0から±15の値 明度200より明るい色を取得するため、55プラスした値
※彩度を変更しない場合は、同じ値とします。
例)赤い色の範囲を指定する場合(テキスト) 純粋な赤色は、下記のように表現できます。
純粋な赤色の表現
実際は印刷等の条件により赤色の色合いは異なるため、範囲に幅を持たせることで色を対象とすることが可能です。 例)赤色を含むピンクからオレンジ色の範囲
※色相 -10 は 170 と同義
5. 帳票定義
読取位置、活字or手書き、項目名などを定義します。
5.1. 帳票定義フォルダの構成
帳票定義フォルダは以下の構成にする必要があります。
AIRead_conf/ ———(フォーマット定義フォルダ) └ [フォーマットID]/ ├ AIRead_format.ini ——— 定義ファイル ├ AIRead_setting.ini ——— 個別設定ファイル └(template.png) ——— テンプレート画像※
※テンプレート画像はチェックマークの読み取りをする場合に必要です
5.2. AIRead FormEditorで設定
以下のプログラムを起動することで、AIRead FormEditor(以下FormEditor)でフォーマット定義ファイルを編集できます。
<AIReadインストールフォルダ>/FormEditor/AIReadFormEditor.exe
5.2.1. グループの作成・選択
5.2.1.1. グループを作成する
グループを作成 を選択するとダイアログが表示されます。 ダイアログ上でフォーマット定義を保存するフォルダ名を指定し、任意の名称でグループを作成します。
5.2.1.2. グループを選択する
グループを開く を選択すると、フォルダ選択のダイアログが開かれます。 ダイアログから、作成済みのフォーマット定義を保存するフォルダを選択してください。
5.2.2. フォーマット定義の追加
フォームを追加 を選択すると、ダイアログが表示されます。 ダイアログ上で、任意のフォーマット定義名(フォーム名)の指定と定義のテンプレート(下地)とする画像の登録を行います。
No. 項目名 説明 1 フォーム名 追加するフォーマット定義名 2 登録画像 フォーマット定義で使用するテンプレート画像
5.2.3. フォーマット定義の自動作成
フォームの追加時に選択した画像のフォーマット定義を自動作成することができます。 フォーマット定義の自動作成を行う場合は、定義自動作成 にチェックを入れます。
5.2.3.1. 定義自動作成
No. 項目名 説明 1 フォーム名 追加するフォーマット定義名 2 登録画像(記入例) フォーマット定義で使用するテンプレート画像 記入済みの画像を指定する 3 テンプレート画像(未記入例) 定義自動作成で使用する画像 未記入の画像を指定する 4 作成ルール 定義自動作成時に使用する作成ルールを指定する 指定可能な作成ルールは下記3パターンから選択 -テンプレート画像内の全ての矩形を検知し、項目として定義する -テンプレート画像内から、登録画像が空白の項目を除く矩形を検知し、項目として定義する -テンプレート画像と登録画像で差分のある矩形、および空白の矩形を検知し、項目として定義す る 5 ずれ修正(px) ずれ修正を行える大きさを指定する値 値はピクセルで指定 定義自動作成時に登録画像と補正画像を比較して、ずれ修正を行う ずれ修正は上下左右で一番差のすくないところに修正を行う 6 空白項目判定閾値 記載済みの項目か空白項目かを判定するための閾値 指定した値が、黒ピクセルの総数を項目自体(セル)の面積で割った割合を超えていれば、記入済み項目として判定する 記入済み判定:空白項目判定閾値 ≧ 黒ピクセルの総数 / セルの面積 空白判定:空白項目判定閾値 ≦ 黒ピクセルの総数 / セルの面積
5.2.3.2. 画像内の全ての矩形を検知して、項目として自動定義する場合
画像上の青枠で表示された項目を読み取り項目として、自動定義されます。
5.2.3.3. 画像内の空白項目を除いて、項目を自動定義する場合
画像上の青枠で表示された項目を読み取り項目として、自動定義されます。
5.2.3.4. テンプレート画像と登録画像で差分のある矩形、および空白の矩形を検知して項目を自動定義する場合
画像上の青枠で表示された項目を読み取り項目として、自動定義されます。
5.2.4. フォーマット定義の操作
5.2.4.1. フォーマット定義を選択する
フォーマット定義名を選択すると、定義済みの設定を確認・編集できます。
5.2.4.2. フォーマット定義をコピーする
任意のフォーマット定義名上でマウスを右クリックするとメニューが表示されます。
メニューから コピー を選択するとダイアログが表示されます。
新たに任意のフォーマット定義名を入力し コピー を押下すると、フォーマット定義が複製されます。
5.2.4.3. フォーマット定義を保存する
保存 を押下すると、編集済みのフォーマット定義が保存されます。
5.2.5. 共通設定ファイルの指定
AIReadの実行、個別読取結果変換リストの紐づけ、個別設定時に使用する共通設定ファイルを指定します。 「共通設定」ボタンを押すと、ファイル選択ダイアログを表示します。
「参照」ボタンから使用する共通設定ファイルを選択します。
5.2.6. フォーマットの定義方法
5.2.6.1. 位置合せの定義
解像度等の違いにより、テンプレート画像をもとに設定したフォーマット定義と実際の画像でおきる位置ずれを補正します。 帳票内の矩形やタイミングマークを自動認識し、画像を拡大・縮小、位置合わせ後に読み取りを行います。
No. 項目名 説明 1 位置合せ 位置合せ指定画面を表示する 2 位置合せ方法 (1) 位置合わせなし 位置合わせを行わない (2) 特徴点で位置合わせ 画像の特徴(矩形、文字、ロゴなど)を基準として位置を合わせる 特徴点検出アルゴリズムを選択(v5.3.0~) ・AKAZE(推奨) ・SIFT (3) 大きな矩形で位置を合わせる 画像に含まれる一番大きな矩形を認識し位置合わせの基準として設定する 設定手順: (ア) 認識 ボタンを押下する (イ) 位置合わせの基準となる最大矩形が検知される(数秒かかる) (4) 外接矩形を自動検知し位置を合わせる 画像内の外側にある文字や罫線から矩形を認識し位置合わせの基準として設定する (ア) 認識 ボタンを押下する (イ) 外接矩形に合わせて位置合わせの基準が検知される(数秒かかる) (5) 四隅のタイミングマークで位置を合わせる (ア) 認識 ボタンを押下する (イ) タイミングマークに合わせて位置合わせの基準が検知される(数秒かかる) (6) (旧)大きな矩形で位置を合わせる 画像に含まれる一番大きな矩形を認識し位置合わせの基準として設定する (Ver. 4.1.0 以前のエンジン) 設定手順: (ア) 認識 ボタンを押下する (イ) 位置合わせの基準となる最大矩形が検知される(数秒かかる) (7) (旧)外接矩形を自動検知し位置を合わせる 画像内の外側にある文字や罫線から矩形を認識し位置合わせの基準として設定する (Ver. 4.1.0 以前のエンジン) (ア) 認識 ボタンを押下する (イ) 外接矩形に合わせて位置合わせの基準が検知される(数秒かかる)
(2) 特徴点で位置合わせ
(3) 大きな矩形で位置を合わせる
(4) 外接矩形を自動検知し位置を合わせる
(5) 四隅のタイミングマークで位置を合わせる
(6) (旧)大きな矩形で位置を合わせる
基本的な動作は「(2) 大きな矩形で位置を合わせる」と同じです。
(7) (旧)外接矩形を自動検知し位置を合わせる
基本的な動作は「(3) (旧)外接矩形を自動検知し位置を合わせる」と同じです。
位置合わせを行う際には、共通設定ファイルが必要となります。 「共通設定ファイル」ボタンで指定した共通設定ファイルが存在しないと、「認識」ボタンは押下できません。
5.2.6.2. 読み取り範囲の設定
帳票上の読み取り範囲、読み取り方法、項目名を設定します。
No. 項目名 説明 1 モード切替 「選択モード」と「作成モード」を切り替える ・作成:読取範囲を新規で作成する ・選択:設定済みの項目を選択して修正する 2 元に戻す・やり直し 操作を1つ戻す(やり直す) 3 下にコピー・右にコピー 選択中の項目を下(右)にコピーする 項目名、テーブル名、レコードIDの末尾が半角数字の場合は1加算される(オートフィル) 4 画像変更 テンプレート画像を変更する 5 個別設定の呼出 開いているフォーマット定義専用の個別設定画面を起動する5.2.9. 個別設定 を参照 6 左・右に90度回転 表示中の画像を左(右)に90度回転する 7 項目名 読み取り結果ファイルに出力する項目名 設定された順番にCSVファイルに出力される 8 モデル 「活字」、「手書き」、「チェックマーク」、「丸囲み」、「バーコード」、「画像抽出」のいずれかを表示 「手書き」の場合は指定した言語も表示される 9 テーブル 表など同一テーブルとして扱いたいときに指定するテーブル名 10 レコード 表などで同一行として扱いたいときに指定するレコードID 11 移動・削除 選択中の項目を上下に移動・削除する 12 編集 選択中の作成済みの読み取り範囲の設定画面を開く 読み取り範囲を複数選択している場合は、一括変更が可能
一括変更時の設定は、変更しない からチェックを外すことで編集が可能になります。
5.2.7. 読取定義の設定
「作成モード」で読み取り範囲を指定した場合、および読取項目をダブルクリックしたときに開きます。
5.2.7.1. 読み取り方法が座標指定
No. 項目名 説明 1 項目名 読み取り結果ファイルに出力する項目名 設定された順番にCSVファイルに出力される 2 テーブル 表など同一テーブルとして扱いたいときに指定するテーブル名 3 レコード 表などで同一行として扱いたいときに指定するレコードID 4 読み取り方法 「座標指定」を選択する 5 使用するモデル 「活字」または「手書き」を選択する 「手書き」の場合は「言語」、「文字数」または「行数」の指定が可能 6 言語 使用するモデルが「手書き」のときに指定が可能 読み取り範囲で使用する手書き学習モデルを指定する 【言語一覧】 ・日本語 :数字、ローマ字、記号、カタカナ、ひらがな、常用漢字を学習したモデル ・名前 :カタカナ、ひらがな、人名漢字、常用漢字の一部を学習したモデル ・住所 :数字、ローマ字、カタカナ、ひらがな、住所漢字を学習したモデル ・カタカナ:カタカナを学習したモデル ・英語 :数字、ローマ字、記号を学習したモデル ・数字 :数字を学習したモデル ・通貨 :数字、記号($、¥、マイナス、カンマ、ピリオド)を学習したモデル ・数値・電話番号:数字、記号(マイナス、カンマ、括弧、括弧閉じ)を学習したモデル 設定なしの場合は共通設定の「手書き用OCRモデル」で設定したモデルを使用する 7 個別読取結果変換 AIRead ControlPanel で作成した個別読取結果変換リストと読み取り項目を紐づける ※個別読取結果変換の設定方法は、4.1.4. 後処理設定 に記載 8-1 文字数 使用するモデルが「手書き」のときに指定が可能 読み取り範囲の文字数が「複数」か「1文字」かを指定する言語項目が「日本語」「名前」「カタカナ」「英語」「数字」 「数値・電話番号」の場合は複数文字に固定される 8-2 行数 使用するモデルが「手書き」のときに指定が可能 読み取り範囲の文字数が「1行」か「複数行」かを指定する言語項目が「日本語」「名前」「カタカナ」「英語」「数字」 「数値・電話番号」 の場合のみ指定が可能 8-3 行判定の閾値 行を分割するための横方向の画素数の平均値(0~255、初期値 248) 9 区切り線の数 読み取り範囲内にある桁や文字の区切り線(点線)を除去するための本数を指定する 指定された数分の罫線除去を行う(区切り線が等間隔に並んでいる前提 ) ※「手書き」で「文字数」が「1文字」の場合は指定できない 10-1 ずれ修正 ずれ修正を「する」、「しない」を指定する 10-2 基準 ずれ修正の基準を「セル」か「文字列」から選択する ・セル :読み取り範囲に最も近いセル(矩形)に読み取り位置を修正する ・文字列:読み取り範囲と重なる文字列を対象に読み取り位置を修正する 11 対象 (基準が「セル」の時) ずれ修正の対象となるセルに合わせる修正方向を「左」、「右」、「上」、「下」で指定する 複数選択した場合は、複数方向に位置修正を行う ※仕様の詳細は、5.4.3.1. ずれ修正(セルに合わせる場合)について に記載 12 方法 (基準が「文字列」の時) ずれ修正の対象となる文字列に対して行う修正の方法を「移動」か「拡張」で指定する ※仕様の詳細は、5.4.3.2. ずれ修正(文字列に合わせる場合)について に記載 13 X 読み取り範囲の左上のX座標(ピクセル) 14 Y 読み取り範囲の左上のY座標(ピクセル) 15 幅 読み取り範囲の幅(ピクセル) 16 高さ 読み取り範囲の高さ(ピクセル) 17 決定 読取定義の設定を保存しダイアログを閉じる 18 キャンセル 読取定義の設定を保存せずダイアログを閉じる 19 ▲ 読取定義の設定を保存しひとつ前の読取定義を開く 20 ▼ 読取定義の設定を保存しひとつ後の読取定義を開く
5.2.7.2. 読み取り方法が 座標指定(全文OCR)
No. 項目名 説明 1 項目名 読み取り結果ファイルに出力する項目名 設定された順番にCSVファイルに出力される 2 テーブル 表など同一テーブルとして扱いたいときに指定するテーブル名 3 レコード 表などで同一行として扱いたいときに指定するレコードID 4 読み取り方法 「座標指定(全文OCR)」を選択する 5 個別読取結果変換 AIRead ControlPanel で作成した個別読取結果変換リストと読み取り項目を紐づける ※個別読取結果変換の設定方法は、4.1.4. 後処理設定 に記載 6 抽出条件 指定した座標に対しての抽出条件を指定する ・座標内の一部にかかるコンポーネントを抽出する ・座標内に完全に収まるコンポーネントを抽出する 7 抽出対象の文字列 文字列の間隔が空いている場合にすべて抽出するか一部のみ抽出するかを指定する ・コンポーネントを結合し出力する ・最も面積の大きなコンポーネントのみを出力する 8 X 読み取り範囲の左上のX座標(ピクセル) 9 Y 読み取り範囲の左上のY座標(ピクセル) 10 幅 読み取り範囲の幅(ピクセル) 11 高さ 読み取り範囲の高さ(ピクセル) 12 決定 読取定義の設定を保存しダイアログを閉じる 13 キャンセル 読取定義の設定を保存せずダイアログを閉じる 14 ▲ 読取定義の設定を保存しひとつ前の読取定義を開く 15 ▼ 読取定義の設定を保存しひとつ後の読取定義を開く
5.2.7.3. 読み取り方法が キーワード
この機能はAIRead Standard、Stand-alone版では使用できません。
No. 項目名 説明 1 項目名 読み取り結果ファイルに出力する項目名 設定された順番にCSVファイルに出力される 2 テーブル 表など同一テーブルとして扱いたいときに指定するテーブル名 3 レコード 指定不可 4 読み取り方法 「キーワード」を選択する 5 キーワード 取得したい値のキーワード文字列を記載する キーワードはセミコロン(;)区切りで複数設定できる ※「正規表現」にチェックを入れると正規表現で記述可能 6 方向 キーワードに対して取得する値の方向を選択する 「右」「下」「左」「上」「右 and 下」の指定が可能 7 個別読取結果変換 AIRead ControlPanel で作成した個別読取結果変換リストと読み取り項目を紐づける ※個別読取結果変換の設定方法は、4.1.4. 後処理設定 に記載 8 抽出する値の数 抽出する値の数を指定する 0は制限なし 9 マージンの自動拡張 「する」を選択した場合、キーワードのマージンを自動拡張する マージンの範囲と幅・高さが重なっている値を抽出する 10 マージン拡張 キーワードのマージンを指定した値だけ拡張する 単位はピクセル 「右」「下」「左」「上」をそれぞれ指定できる マージンの自動拡張が有効の場合でもこちらが優先 11 キーワードと値の距離 キーワードと値の距離 単位はピクセル 指定した値より離れている場合は抽出対象外とする 0の場合は制限なし 12 部分一致で検索 「する」を選択した場合、文字列中の文字もキーワードとして検索する 13 正規表現 記載した場合、正規表現にマッチする値のみ抽出する 14 キーワード検索で許容する文字の距離 キーワード一致判定で何文字の違いを許容するかの値 ※キーワードの文字数がこの値より少ない場合は無効 15 矩形に囲まれていない文字列の抽出 「抽出しない」を選択した場合、矩形に囲まれていない文字列は抽出しない 16 明細でこの項目は必須 有効の場合、指定した項目に値のないレコードは出力しない
5.2.7.4. 読み取り方法が 型指定
この機能はAIRead Standard、Stand-alone版では使用できません。
No. 項目名 説明 1 項目名 読み取り結果ファイルに出力する項目名 設定された順番にCSVファイルに出力される 2 テーブル 表など同一テーブルとして扱いたいときに指定するテーブル名 3 レコード 表などで同一行として扱いたいときに指定するレコードID 4 読み取り方法 「型指定」を選択する 5 正規表現 正規表現にマッチする値のみ抽出する 6 個別読取結果変換 AIRead ControlPanel で作成した個別読取結果変換リストと読み取り項目を紐づける ※個別読取結果変換の設定方法は、4.1.4. 後処理設定 に記載
5.2.7.5. 読み取り方法が キーワード座標指定
指定した範囲にキーワードが存在するとみなして抽出します。
この機能はAIRead Standard、Stand-alone版では使用できません。
No. 項目名 説明 1 項目名 読み取り結果ファイルに出力する項目名 設定された順番にCSVファイルに出力される 2 テーブル 表など同一テーブルとして扱いたいときに指定するテーブル名 3 レコード 指定不可 4 読み取り方法 「キーワード座標指定」を選択する 5 方向 キーワードに対して取得する値の方向を選択する 「右」「下」「左」「上」「右 or 下」の指定が可能 6 個別読取結果変換 AIRead ControlPanel で作成した個別読取結果変換リストと読み取り項目を紐づける ※個別読取結果変換の設定方法は、4.1.4. 後処理設定 に記載 7 X キーワードとみなす範囲の左上のX座標(ピクセル) 8 Y キーワードとみなす範囲の左上のY座標(ピクセル) 9 幅 キーワードとみなす範囲の幅(ピクセル) 10 高さ キーワードとみなす範囲の高さ(ピクセル) 11 抽出する値の数 抽出する値の数を指定する 0は制限なし 12 キーワードと値の距離 キーワードと値の距離 単位はピクセル 指定した値より離れている場合は抽出対象外とする 0の場合は制限なし 13 正規表現 記載した場合、正規表現にマッチする値のみ抽出する 14 明細でこの項目は必須 有効の場合、指定した項目に値のないレコードは出力しない
5.2.7.6. 読み取り方法が チェック マーク
No. 項目名 説明 1 項目名 読み取り結果ファイルに出力する項目名 設定された順番にCSVファイルに出力される 2 テーブル 表など同一テーブルとして扱いたいときに指定するテーブル名 3 レコード 表などで同一行として扱いたいときに指定するレコードID 4 読み取り方法 「チェックマーク」を選択する 5 読み取り対象 「チェックマーク」または「丸囲み」を選択する 【読み取り対象一覧】 ・チェックマーク:レ点の有無を判定する ・丸囲み:丸囲みや塗りつぶしを判定する テンプレートの画像と読取画像を比較し、読み取り範囲の黒色が「6. 閾値」で指定した割合以上のときにチェックがされたと判定する 6 出力方法 「標準」もしくは「個別指定」を選択する ・標準:結果を「true」「false」で出力する ・個別指定:結果を入力した任意の値で出力する 7 閾値 テンプレート画像に対する黒領域の割合(パーセント) ※「5. 読み取り対象」が丸囲みの時のみ設定 8 X 読み取り範囲の左上のX座標(ピクセル) 9 Y 読み取り範囲の左上のY座標(ピクセル) 10 幅 読み取り範囲の幅(ピクセル) 11 高さ 読み取り範囲の高さ(ピクセル) 12 決定 読取定義の設定を保存しダイアログを閉じる 13 キャンセル 読取定義の設定を保存せずダイアログを閉じる 14 ▲ 読取定義の設定を保存しひとつ前の読取定義を開く 15 ▼ 読取定義の設定を保存しひとつ後の読取定義を開く
5.2.7.7. 「読み取り方法」が バーコード
No. 項目 説明 1 項目名 読み取り結果ファイルに出力する項目名 設定された順番にCSVファイルに出力される 2 テーブル 表など同一テーブルとして扱いたいときに指定するテーブル名 3 レコード 表などで同一行として扱いたいときに指定するレコードID 4 読み取り方法 「バーコード」を選択する 5 種類 バーコード形式を選択する ※対応している形式:NW-7、Code128、Code39(v5.3.1~) 6 X 読み取り範囲の左上のX座標(ピクセル) 7 Y 読み取り範囲の左上のY座標(ピクセル) 8 幅 読み取り範囲の幅(ピクセル) 9 高さ 読み取り範囲の高さ(ピクセル) 10 決定 読取定義の設定を保存しダイアログを閉じる 11 キャンセル 読取定義の設定を保存せずダイアログを閉じる 12 ▲ 読取定義の設定を保存しひとつ前の読取定義を開く 13 ▼ 読取定義の設定を保存しひとつ後の読取定義を開く
5.2.7.8. 「読み取り方法」が QRコード
No. 項目 説明 1 項目名 読み取り結果ファイルに出力する項目名 設定された順番にCSVファイルに出力される 2 テーブル 表など同一テーブルとして扱いたいときに指定するテーブル名 3 レコード 表などで同一行として扱いたいときに指定するレコードID 4 読み取り方法 「QRコード」を選択する 5 QRコードの数 読み取り範囲内で認識させたいQRコードの数を指定する 6 X 読み取り範囲の左上のX座標(ピクセル) 7 Y 読み取り範囲の左上のY座標(ピクセル) 8 幅 読み取り範囲の幅(ピクセル) 9 高さ 読み取り範囲の高さ(ピクセル) 10 決定 読取定義の設定を保存しダイアログを閉じる 11 キャンセル 読取定義の設定を保存せずダイアログを閉じる 12 ▲ 読取定義の設定を保存しひとつ前の読取定義を開く 13 ▼ 読取定義の設定を保存しひとつ後の読取定義を開く
5.2.7.9. 「読み取り方法」が 画像抽出
抽出したい画像の設定は、あらかじめ以下のようなフォルダ構成を作成する。 画像グループの作成は、5.2.8. SubFormの設定 を参照
?AIRead_conf(フォーマット定義のグループフォルダ) ├ ─ ─ ?form_id(フォーマット定義名) │ ├ ? AIRead_format.ini │ ├ ? AIRead_setting.ini │ └? template.png │ └ ─ ─ ?conf(固定フォルダ) └? subimage(固定フォルダ) ├─?group1(画像グループID) │ ├─?sub_form1(画像ID) │ │ ├ ? AIRead_format.ini │ │ └? template.png │ │ │ └─?sub_form2(画像ID) │ │ ├ ? AIRead_format.ini │ │ └? template.png │ ⁝ │ ├─?group2(画像グループID) ⁝ ├─?sub_form3(画像ID) │ ├ ? AIRead_format.ini │ └? template.png ⁝
それぞれの sub_formn フォルダに画像マッチングさせたい画像ファイルを「template.png」というファイル名で保存する。
FormEditor では以下のように登録される。抽出画像ごとに読み取り範囲を設定する。
No. 項目 説明 1 項目名 読み取り結果ファイルに出力する項目名 2 テーブル 設定不可 3 レコード 設定不可 4 読み取り方法 「画像抽出」を選択する 5 画像グループID 抽出させたい画像のグループIDを選択する 前述のフォルダ構成の group1/group2 に相当する ※使用されるフォーム名は指定されたグループIDから自動判別される 6 X 読み取り範囲の左上のX座標(ピクセル) 7 Y 読み取り範囲の左上のY座標(ピクセル) 8 幅 読み取り範囲の幅(ピクセル) 9 高さ 読み取り範囲の高さ(ピクセル) 10 決定 読取定義の設定を保存しダイアログを閉じる 11 キャンセル 読取定義の設定を保存せずダイアログを閉じる 12 ▲ 読取定義の設定を保存しひとつ前の読取定義を開く 13 ▼ 読取定義の設定を保存しひとつ後の読取定義を開く
5.2.7.10. 「読み取り方法」が 固定値
No. 項目 説明 1 項目名 読み取り結果ファイルに出力する項目名 2 テーブル 表など同一テーブルとして扱いたいときに指定するテーブル名 3 レコード 表などで同一行として扱いたいときに指定するレコードID 4 読み取り方法 「固定値」を選択する 5 固定値 出力させたい値を直接入力する ※固定値が空でも保存可能 6 決定 読取定義の設定を保存しダイアログを閉じる 7 キャンセル 読取定義の設定を保存せずダイアログを閉じる 8 ▲ 読取定義の設定を保存しひとつ前の読取定義を開く 9 ▼ 読取定義の設定を保存しひとつ後の読取定義を開く
5.2.7.11. 使用できない項目名
以下は予約語のため、項目名には使用できません。
Image Image_jshfilename modifyDate processDate result original original_jshfilename form_id Image_for_display
5.2.8. SubFormの設定
画像抽出を行う場合に指定するSubForm を追加します。
5.2.8.1. SubFormの追加
「SubFormの追加」ボタンを押下することで、SubFormの追加画面を呼び出します。
No. 項目 説明 1 サブフォームグループ名 画像抽出を行う際に指定する画像グループを設定する 2 サブフォーム名 画像抽出を行う際に使用される定義名を設定する 3 登録画像 画像抽出を行う時に使用する読み取り用の画像を設定する
5.2.8.2. SubFormの定義
作成されたサブフォーム上で、読み取り範囲の指定を行います。
5.2.8.3. 「読み取り方法」が 座標指定
No. 項目名 説明 1 項目名 読み取り結果ファイルに出力する項目名 設定された順番にCSVファイルに出力される 2 テーブル 表など同一テーブルとして扱いたいときに指定するテーブル名 3 レコード 表などで同一行として扱いたいときに指定するレコードID 4 読み取り方法 「座標指定」を選択する 5 使用するモデル 「活字」のみ選択可能 6 個別読取結果変換 AIRead ContorolPanel で作成した個別読取結果変換リストと読み取り項目を紐づける ※個別読取結果変換の設定方法は、4.1.4. 後処理設定 に記載 7 X 読み取り範囲の左上のX座標(ピクセル) 8 Y 読み取り範囲の左上のY座標(ピクセル) 9 幅 読み取り範囲の幅(ピクセル) 10 高さ 読み取り範囲の高さ(ピクセル) 11 決定 読取定義の設定を保存しダイアログを閉じる 12 キャンセル 読取定義の設定を保存せずダイアログを閉じる 13 ▲ 読取定義の設定を保存しひとつ前の読取定義を開く 14 ▼ 読取定義の設定を保存しひとつ後の読取定義を開く
5.2.8.4. 「読み取り方法」が 固定値
No. 項目名 説明 1 項目名 読み取り結果ファイルに出力する項目名 設定された順番にCSVファイルに出力される 2 テーブル 表など同一テーブルとして扱いたいときに指定するテーブル名 3 レコード 表などで同一行として扱いたいときに指定するレコードID 4 読み取り方法 「固定値」を選択する 5 固定値 出力させたい値を直接入力する ※固定値が空でも保存可能 6 決定 読取定義の設定を保存しダイアログを閉じる 7 キャンセル 読取定義の設定を保存せずダイアログを閉じる 8 ▲ 読取定義の設定を保存しひとつ前の読取定義を開く 9 ▼ 読取定義の設定を保存しひとつ後の読取定義を開く
5.2.8.5. 使用できない項目名
以下は予約語のため、項目名には使用できません。
Image Image_jshfilename modifyDate processDate result original original_jshfilename form_id Image_for_display
5.2.8.6. SubFormをコピーする
任意のサブフォーム名上でマウスを右クリックするとメニューが表示されます。
メニューから コピー を選択するとダイアログが表示されます。
新たに任意のサブフォーム名を入力し コピー を押下すると、サブフォームが複製されます。 異なるサブフォームグループとして、複製を行いたい場合は、複製時に別のサブフォームグループ名を入力してください。
5.2.8.7. デフォルトのSubFormを指定する
任意のサブフォーム名上でマウスを右クリックするとメニューが表示されます。 メニューから デフォルトに指定 を選択すると、選択したサブフォームがデフォルトのサブフォームとなります。
画像抽出を行う際に、どのサブフォームとも一致しない、もしくは登録外のサブフォームであった場合、デフォルトに指定したサブフォームが使用されるようになります。
5.2.9. 個別設定
フォーマット定義ごとに個別でOCR設定の定義を行います。 「個別設定の呼出」ボタン(右上の歯車のアイコン)を押下することで、個別設定用のAIRead ControlPanel 画面が表示されます。5.2.5. 共通設定ファイルの指定 で指定した共通設定ファイルの各OCR設定を引き継いで呼び出します。
指定した共通設定ファイルが存在しない場合、共通設定ファイル指定ダイアログが表示されます。
「個別設定に使う」にチェックのついたパラメータは、AIRead実行時に共通設定ファイルのパラメータを上書きして実行されます。 ただし、「入力フォルダ」や「抽出モードの指定」等一部のパラメータは置き換えできません。
設定内容については、4. 共通設定 を参照して下さい。
5.2.9.1. 設定方法
新規で個別設定を行う場合、すべての個別設定は無効となっており設定値が編集できません。 個別設定に使用したい設定項目の右側にある、個別設定に使うチェックボックス(□ )をクリックし、設定値を編集してください。 AIRead on Cloudで有効な設定は☁マーク(□ )がついた項目のみとなります。
設定の編集が完了したら、保存してください。個別設定が反映されます。
保存が完了したら、右上の×ボタンで画面を閉じてください。
5.2.10. AIReadの実行
作成したフォーマット定義でAIReadを実行します。
No. 項目名 説明 1 AIRead実行 AIRead実行設定ダイアログを開く ※AIRead OCRエンジンがインストールされていない環境では、AIRead実行ボタンは非表示となる 2 画像ファイル名 AIReadを実行する画像ファイルを指定する 3 実行 AIReadの実行を開始する 4 キャンセル ダイアログを閉じる
AIRead の実行の際、5.2.5. 共通設定ファイルの指定 で指定した共通設定ファイルを呼び出します。 指定した共通設定ファイルが存在しない場合、共通設定ファイル指定ダイアログが表示されます。
5.3. AIRead Viewerで結果を確認
実行後、AIRead Viewerが実行結果一覧画面を表示されます。 表示された実行結果一覧画面より、確認・編集を行うファイルを選択し、実行結果確認画面を表示します。
5.3.1. 実行結果一覧画面
No. 項目名 説明 1 ファイル名 読み取ったファイル名を表示する 2 ページ番号 読み取ったファイルのページ数を表示する 3 グループ フォーマット定義のグループを表示する 4 FormID 読み取りに使用したフォーマット定義名を表示する 5 読取り日時 読み取りを実行した日時を表示する 6 更新日時 最終更新日時を表示する 7 ステータス 実行結果の状態を表示する ・読取完了 :読み取りが終了 ・編集中 :実行結果確認画面で全てのページが確定されていない ・確定済 :実行結果確認画面で確定処理を実施済み ・CSV出力済 :データ出力ボタンでCSV出力を実施済み ・読取失敗 :読み取りが失敗 ※AIRead自体が起動できない、異常終了の場合は一覧に表示されない 8 編集ボタン 対象の実行結果確認画面を表示する(該当行をダブルクリックでも表示可能) 9 更新ボタン 実行結果一覧を最新の状態へ更新する 10 削除ボタン チェックボックスで選択した実行結果を削除する 11 データ出力ボタン チェックボックスで選択した実行結果をCSV出力する 12 絞り込み条件 条件を指定し、実行結果一覧画面に表示する実行結果を絞り込む 13 Viewer設定ボタン 表示フォントサイズ、信頼値の表示色などを設定する
5.3.2. 絞り込み条件
以下の条件を入力することによって、読取結果の絞り込み検索ができます。
No. 項目名 説明 1 ファイル名 読み取ったファイル名を絞り込み条件にする 2 FormID 実行時に使用した定義情報のFormIDを絞り込み条件にする 3 登録日付 実行時の日付を絞り込み条件にする 4 ステータス 実行結果のステータスを絞り込み条件にする 5 更新ボタン 指定した条件で絞り込みを行う
5.3.3. Viewer設定
No. 項目名 説明 1 読取枠を透明にする プレビュー画像の読取枠の表示を水色表示から透明にする チェック有り:有効(透明) チェック無し:無効(水色) 2 直前の拡大率で画像を開く 実行結果確認画面のプレビュー画像を前回の拡大率で開く チェック有り:前回の拡大率で開く チェック無し:画像全体が表示される拡大率で開く 3 フォントサイズ 実行結果確認画面のOCR結果で使用される文字のフォントサイズを変更する 4 リスト表示範囲 実行結果確認画面で表示されるOCR結果を変更する Page:表示されているページのOCR結果を表示する All :実行された全てのページのOCR結果を表示する 5 読取結果の 信頼値のしきい値 実行結果確認画面のOCR結果の背景色を信頼値で変更する しきい値は任意の数字に設定できる 背景色が白:OCR結果の信頼度が100~99% 背景色が黄:OCR結果の信頼度が98~80% 背景色が赤:OCR結果の信頼度が79%以下 6 1ページの表示件数 1ページに何件表示するかを指定する 7 決定ボタン 設定内容を保存し、画面を閉じる 8 キャンセルボタン 設定内容を保存せず、画面を閉じる
5.3.4. 実行結果確認画面
No. 項目名 説明 1 プレビュー画像 読み取りが行われた画像を表示 各読み取り領域をマウスでポイントすると、読み取り結果の該当項目を強調する 2 拡大縮小ボタン 帳票画像の拡大縮小操作に使用 3 ページ変更ボタン 表示する確認画面変更に使用 複数ページの帳票ファイルを1つの帳票として処理した時のみ使用 4 OCR結果(リスト) 項目名と読み取った値(編集可能)のリスト一覧表示 項目をマウスでクリックすると、プレビュー画像の該当位置を強調 5 OCR結果(明細) 項目名と読み取った値(編集可能)の明細一覧表示 項目をマウスでクリックすると、プレビュー画像の該当位置を強調 6 ファイル名 読み取ったファイル名を表示する(マウスオーバーでファイル名をすべて表示) 7 FormID 読み取りに使用したフォーマット定義名を表示する 8 ステータス 実行結果の状態を表示する 9 処理日時 読み取りを実行した日時を表示する 10 前・次ボタン 実行結果一覧画面の前後の実行結果へ移動する 11 保存し確定・確定解除ボタン 編集後の各項目の値を保存しステータスを”確定済み”へ変更する また、”確定済み”、”CSV出力済み”のステータスを”確定済み”へ変更する 12 保存ボタン 編集後の各項目の値を保存する ※編集後の値はViewer内部に保持され、このボタンから保存先の指定は行わない 13 キャンセルボタン 編集内容を保存せず、実行結果一覧画面へ戻る
読取失敗の帳票はフォームをロードすることで項目の編集が可能です。
5.3.5. データの出力
データ出力ボタンを押下すると、データ出力用のダイアログが表示されます。 このダイアログ上で、任意の場所にCSV/PDFファイルを保存することができます。
No. 項目名 説明 1 出力先 実行結果の保存先を指定する 「*」「?」「”」「|」は使用不可 2 命名規則 出力するCSV/PDFファイルの規則を指定する 「*」「?」「”」「|」は使用不可 <date>:出力時の実行日付8桁(yyyymmdd)をファイル名に表記する <time>:出力時の実行時間8桁(hhmmssms)をファイル名に表記する <year>:出力時の実行年(西暦の数字4桁 yyyy)をファイル名に表記する <month>:出力時の実行月(月の数字2桁 mm)をファイル名に表記する <day>:出力時の実行日(日付の数字2桁 dd)をファイル名に表記する <item:項目名>:読み取り結果に含まれる項目名を指定することで、読み取った値をファイル名に表記する ※<item:項目名>の「項目名」は以下の項目名も指定可能 Image, Image_jshfilename, modifyDate, processDate, result, form_id, group_name 項目の内容は6.1. 共通 を参照 ※「/」を入れることでフォルダの指定も可能 例:<year>/csv_<date><time> と指定すると年ごとに別のフォルダに出力する 3 出力形式 実行結果の保存形式をCSV(カンマ区切り) 、 CSV(独自形式) 、PDFから設定する ※CSVカンマ区切りの場合、ヘッダ部と明細部のCSVファイルが出力されるため、zip圧縮で出力される ※PDFの場合は、読み取った画像がPDFとして出力される 4 ラベル行 ラベル行(1行目のヘッダ行)出力の要否を指定する 5 page列 ページ列(1列目のページ列)出力の要否を指定する 6 文字コード 出力するCSVファイルの文字コードを、S-JIS、UTF-8、UTF-8(BOM付き)から選択する 7 出力単位 「複数ページの帳票ファイルを1つの帳票として処理する」が設定された帳票が含まれる場合のみ表示される ファイル:ファイル単位で結果をまとめる(複数ページ1出力) ページ :ページ単位で結果をまとめる(1ページ1出力) 8 ヘッダー設定 CSV出力を行う際に、出力するヘッダ情報を選択画面を開く ※各種ヘッダの詳細は 6.1. 共通 に記載 9 データ出力ボタン 指定された設定で実行結果を保存する 10 キャンセルボタン データ出力用ダイアログを閉じる
5.3.6. 出力形式
FormEditorからの実行結果を出力する形式は2種類あります。
5.3.6.1. CSV(カンマ区切り)
1行目にヘッダ情報、2行目以降にデータ情報が出力される、一般的なCSV形式です。ヘッダ、明細それぞれでCSVファイルが出力されます。
CSVファイル名は、下記のルールに従って作成されます。
・テーブルの設定がない項目(ヘッダ項目)
[入力ファイル名].csv
・テーブルの設定がある項目(明細項目)
[入力ファイル名]_[テーブル名].csv
※ファイル名に使用できない文字(\/:*?”<>|)がテーブル名に含まれる場合、その文字は除外されます
明細データは、FormEditorの読み取り定義で指定した設定が、下記のルールに従ってまとめられます。
ファイル:テーブル 行 :レコード 列 :項目名
ヘッダ項目の出力 ( [入力ファイル名].csv)
“Image”,”Image_jshfilename”,”modifyDate”,”processDate”,”result”,”form_id”,”tok_cd” “sample.jpg”,”C: \Result\20200325_174313_487\sample.jpg”,”2020-02-06T16:28:52″,”2020-03-25T17:43:34″,”true”,”order”,”100”
※固定で”Image”,”Image_jshfilename”,”modifyDate”,”processDate”,”result”,”form_id”が出力されます。これらの項目には5.1 共通 を参照ください。
明細項目の出力 ([入力ファイル名]_[テーブル名].csv
“Itemcd”,”Amount”,”Wrapping” “123”,”100″,”30″ “456”,”50″,”10″
5.3.6.2. CSV(独自形式)
6.2. CSV を参照ください。
5.4. フォーマット定義ファイル
帳票の位置を合わせるための情報、出力ファイルに記載する情報、OCRで読み取る位置の情報はフォーマット定義ファイルで設定します。 ファイルはタブ区切りで記載します。 1列目のセクションIDの値によって、2列目以降の記載方法が異なります。
項目名 書式 説明 セクションID 0 位置合わせ情報 1 出力情報(固定値) 2 座標指定OCR情報 3 チェックマーク情報(画像差分で判定) 4 チェックマーク情報(✔の形で判定) 5 画像抽出 6 バーコード 7 キーワード、型指定、キーワード座標指定
※位置合わせ情報は省略可です。省略した場合、絶対座標で抽出します。
ファイル名:AIRead_format.ini
フォーマット定義ファイルイメージ:
ずれ修正なしの場合
0 3307 4676 300 1745 2645 1745 300 4295 1 0 id order 2 0 307 688 510 170 0 0 tok_cd 2 0 307 951 1450 170 0 0 Tel 2 0 307 1207 200 170 0 0 Month 2 0 620 1207 200 170 0 0 Day 2 0 938 1207 85 170 0 0 haikb 2 0 1350 1207 85 170 0 0 timekb 2 0 detail 0 407 1745 627 170 1 0 Itemcd0 2 0 detail 0 2015 1745 623 170 1:number 0 Amount0 2 0 detail 0 2687 1745 314 170 1 0 Wrapping0 2 0 detail 1 407 1915 627 170 1 0 Itemcd1 2 0 detail 1 2015 1915 623 170 1:number 0 Amount1 2 0 detail 1 2687 1915 314 170 1 0 Wrapping1 2 0 detail 2 407 2085 627 170 1 0 Itemcd2 2 0 detail 2 2015 2085 623 170 1:number 0 Amount2 2 0 detail 2 2687 2085 314 170 1 0 Wrapping2 2 0 detail 3 407 2255 627 170 1 0 Itemcd3 2 0 detail 3 2015 2255 623 170 1:number 0 Amount3 2 0 detail 3 2687 2255 314 170 1 0 Wrapping3 2 0 detail 4 407 2425 627 170 1 0 Itemcd4 2 0 detail 4 2015 2425 623 170 1:number 0 Amount4 2 0 detail 4 2687 2425 314 170 1 0 Wrapping4 2 0 detail 5 407 2595 627 170 1 0 Itemcd5 2 0 detail 5 2015 2595 623 170 1:number 0 Amount5 2 0 detail 5 2687 2595 314 170 1 0 Wrapping5
ずれ修正ありの場合
1 -1 id order 2 -1 307 688 510 170 0 0 tok_cd 0 1 1 1 1 0 2 -1 307 951 1450 170 0 0 Tel 0 1 1 1 1 1 2 -1 307 1207 200 170 0 0 Month 2 -1 620 1207 200 170 0 0 Day 2 -1 938 1207 85 170 0 0 haikb 2 -1 1350 1207 85 170 0 0 timekb 2 -1 detail 0 407 1745 627 170 1 1 Itemcd 1 1 1 1 1 0 2 -1 detail 0 2015 1745 623 170 1:number 0 Amount 1 1 1 1 1 0 2 -1 detail 0 2687 1745 314 170 1 1 Wrapping 1 1 1 1 1 0 2 -1 detail 1 407 1915 627 170 1 0 Itemcd 1 1 1 1 1 0 2 -1 detail 1 2015 1915 623 170 1:number 0 Amount 1 1 1 1 1 0 2 -1 detail 1 2687 1915 314 170 1 0 Wrapping 1 1 1 1 1 0 2 -1 detail 2 407 2085 627 170 1 0 Itemcd 1 1 1 1 1 0 2 -1 detail 2 2015 2085 623 170 1:number 0 Amount 1 1 1 1 1 0 2 -1 detail 2 2687 2085 314 170 1 0 Wrapping 1 1 1 1 1 0 2 -1 detail 3 407 2255 627 170 1 0 Itemcd 1 1 1 1 1 0 2 -1 detail 3 2015 2255 623 170 1:number 0 Amount 1 1 1 1 1 0 2 -1 detail 3 2687 2255 314 170 1 0 Wrapping 1 1 1 1 1 0 2 -1 detail 4 407 2425 627 170 1 0 Itemcd 1 1 1 1 1 0 2 -1 detail 4 2015 2425 623 170 1:number 0 Amount 1 1 1 1 1 0 2 -1 detail 4 2687 2425 314 170 1 0 Wrapping 1 1 1 1 1 0 2 -1 detail 5 407 2595 627 170 1 0 Itemcd 1 1 1 1 1 0 2 -1 detail 5 2015 2595 623 170 1:number 0 Amount 1 1 1 1 1 0 2 -1 detail 5 2687 2595 314 170 1 0 Wrapping 1 1 1 1 1 0
キーワード、型指定、キーワード座標指定がある場合
※キーワード指定はAIRead Standard、Stand-alone版では使用できません。
1 -1 company_name 北新宿株式会社 7 -1 0 1 invoice_total 0 0 0 0 0 1 合計;請求金額 RD 0 0 0 7 -1 0 1 invoice_subtotal 0 0 0 0 0 1 小計 R 0 0 0 7 -1 0 1 invoice_number 0 0 0 0 0 1 請求書番号:;請求書No. R 1 1 0 7 -1 2 invoice_date \d{4}[/.年]\d{1,2}[/.月]\d{1,2}日? 7 -1 detail 0 0 item_num 0 0 0 0 0 商品コード;製品番号 D 1 0 0 7 -1 detail 0 0 item_name 0 0 0 0 0 商品名;製品名 D 0 0 1 7 -1 detail 0 0 item_quantity 0 0 0 0 0 1 数量;量 D 0 1 1 7 -1 detail 0 0 item_unitprice 0 0 0 0 0 単価 D 0 0 0 7 -1 detail 0 0 item_amount 0 0 0 0 0 1 金額;金額(税抜) D 0 0 0 7 -1 0 1 bank_name 0 0 0 0 0 金融機関名;銀行名 R 0 0 0 7 -1 0 1 bank_branch 0 0 0 0 0 支店名 R 0 0 0 7 -1 0 1 bank_accttyp 0 0 0 0 0 1 種別;口座種別 R 0 0 0 7 -1 0 1 bank_acctnum 0 0 0 0 0 口座番号 R 1 0 0 7 -1 0 1 payment_date 0 0 0 0 0 1 お支払期日;支払い期日: R 1 1 0
5.4.1. 位置合わせ情報
帳票の中で一番大きな矩形を基準に位置を合わせます。 ベースとなる3点(左上・右上・左下)の位置を定義します。
No. 項目名 書式 必須 説明 1 セクションID 0 必須 2 width 整数 必須 ベースとなる画像サイズの幅 3 height 整数 必須 ベースとなる画像サイズの高さ 4 x1 整数 必須 ベースとなる矩形の左上の点のx座標 5 y1 整数 必須 ベースとなる矩形の左上の点のy座標 6 x2 整数 必須 ベースとなる矩形の右上の点のx座標 7 y2 整数 必須 ベースとなる矩形の右上の点のy座標 8 x3 整数 必須 ベースとなる矩形の左下の点のx座標 9 y3 整数 必須 ベースとなる矩形の左下の点のy座標
※位置合わせ情報は省略可です。省略した場合、位置合わせは行われず絶対座標で抽出します。
■位置合わせイメージ
画像内の最大の矩形を検知し、左上・右上・左下の3点を基点に位置を合わせます。
5.4.2. 出力情報(固定値)
No. 項目名 書式 必須 説明 1 セクションID 1 必須 2 シーケンス番号 整数 (使用しない) 3 項目名 文字列 必須 出力情報に記載する項目名 4 値 文字列 必須 出力する文字列 5 テーブルID 文字列 テーブルID(明細・表の名前)を指定 アウトプット時に使用 6 レコードID 整数 レコードID(明細の行番号)を指定 アウトプット時に使用
5.4.3. 出力情報(座標指定)
No. 項目名 書式 必須 説明 1 セクションID 2 必須 2 シーケンス番号 整数 (使用しない) 3 テーブルID 文字列 テーブルID(明細・表の名前)を指定 アウトプット時に使用 4 レコードID 整数 レコードID(明細の行番号)を指定 アウトプット時に使用 5 x 整数 必須 読取範囲の基準となる座標(左上の点)のx座標 6 y 整数 必須 読取範囲の基点となる座標(左上の点)のy座標 7 width 整数 必須 読取範囲の幅 8 height 整数 必須 読取範囲の高さ 9 type 0, 1 必須 0 : 活字 1 : 手書き 手書きはコロン(:)区切りで項目ごとにOCRモデルを指定する 指定がない場合、ControlPanelの手書き用OCRモデルを使用する 指定例)1:number 10 length 0以上の整数 必須 typeが 0(活字)の場合 0 : 特別な処理を行わない 2以上 : 指定された数 -1本の区切り罫線を除去する typeが 1(手書き)の場合 0 : 特別な処理を行わない 1 : 指定した範囲の文字を1文字として認識する 2以上 : 指定された数 -1本の区切り罫線を除去する 11 フィールドID 文字列 必須 項目名 12 ずれ修正 0, 1 0:文字列でのずれ修正 1:セルでのずれ修正 13 修正対象(左) 0, 1 ずれ修正が1(セル)の場合のみ有効 0:セルの左辺を基準としたずれ修正をしない 1:セルの左辺を基準としたずれ修正を行う 14 修正対象(右) 0, 1 ずれ修正が1(セル)の場合のみ有効 0:セルの上辺を基準としたずれ修正をしない 1:セルの上辺を基準としたずれ修正を行う 15 修正対象(上) 0, 1 ずれ修正が1(セル)の場合のみ有効 0:セルの上辺を基準としたずれ修正をしない 1:セルの上辺を基準としたずれ修正を行う 16 修正対象(下) 0, 1 ずれ修正が1(セル)の場合のみ有効 0:セルの底辺を基準としたずれ修正をしない 1:セルの底辺を基準としたずれ修正を行う 17 修正方法 0, 1 ずれ修正が0(文字列)の場合のみ有効 0:文字列を基準として読取位置を移動する 1:文字列を基準として読取位置の拡張をする 18 個別読取結果変換リスト 文字列 個別読取結果変換リストを指定する
※修正対象(右)、修正対象(左)、修正対象(上)、修正対象(下) は併用可能
5.4.3.1. ずれ修正(セルに合わせる場合)について
セルに合わせるずれ修正を行う場合、下記のルールで行われます。
<合わせる対象>
読み取り範囲に対し、以下の 2つの条件を満たすセルが合わせる対象となります。 1. 読取範囲に対し、セルの面積が30%以上重なっている こと 2. 条件1.を満たすセルのうち、読み取り範囲に対して重なっている面積が最大 であること
<例外>
修正後のセルの高さが元の読み取り範囲の高さの1.2倍を超える場合、ずれ修正は行われません。 ※本機能は軽微な位置ずれを補正するための機能であり、過度なずれ修正は行わなれません
<修正対象(左右上下)について>
修正の対象の選択によって、修正結果が下記の例のように変わります。
ずれ修正の修正対象(左、右)が有効の場合
ずれ修正の修正対象(左右上下)が有効の場合
5.4.3.2. ずれ修正(文字列に合わせる場合)について
文字列に合わせるずれ修正を行う場合、下記のルールで行われます。
<合わせる対象>
読み取り範囲に対し、面積が30%以上重なっている文字列 が合わせる対象となります。
<修正方法:移動について>
修正方法に「移動」を指定した場合、読み取り範囲(矩形の形)は変更せず合わせる対象の文字列が入るように読み取り位置を移動させます。
※重なっている文字列の範囲より読み取り範囲が小さい場合は修正しません。
ずれ修正の方法が文字列を基準とした移動の場合
<修正方法:拡張について>
修正方法に「拡張」を選択した場合、読み取り範囲に重なる全文字列が包含できるように読み取り範囲を拡張します。
ずれ修正の方法が文字列を基準とした拡張の場合
5.4.4. 出力情報(チェックマーク)
No. 項目名 書式 必須 説明 1 セクションID 3 または 4 必須 3 : テンプレート画像との差分で判定 4 : レ点で判定 2 シーケンス番号 (使用しない) 3 テーブルID 文字列 テーブルID(明細・表の名前)を指定 アウトプット時に使用 4 レコードID 整数 レコードID(明細の行番号)を指定 アウトプット時に使用 5 x 整数 必須 読取範囲の基準となる座標(左上の点)のx座標 6 y 整数 必須 読取範囲の基点となる座標(左上の点)のy座標 7 width 整数 必須 読取範囲の幅 8 height 整数 必須 読取範囲の高さ 9 type 0 必須 10 length 0~1000 必須 (セクションID=3のときのみ) テンプレート領域に対する黒領域の割合(%) 11 フィールドID 文字列 必須 項目名
5.4.5. 出力情報(バーコード)
No. 項目名 書式 必須 説明 1 セクションID 6 必須 2 シーケンス番号 (使用しない) 3 テーブルID 文字列 テーブルID(明細・表の名前)を指定 4 レコードID 整数 レコードID(明細の行番号)を指定 5 x 整数 必須 読取範囲の基準となる座標(左上の点)のx座標 6 y 整数 必須 読取範囲の基点となる座標(左上の点)のy座標 7 width 整数 必須 読取範囲の幅 8 height 整数 必須 読取範囲の高さ 9 type 文字列 バーコードの形式を指定 (未指定の場合 NW7) 10 length (使用しない) 11 ItemName 文字列 必須 項目名
5.4.6. 出力情報(画像抽出)
No. 項目名 書式 必須 説明 1 セクションID 5 必須 2 シーケンス番号 (使用しない) 3 SubImageGroupID 文字列 必須 サブ画像のグループ名 4 レコードID (使用しない) 5 x 整数 必須 読取範囲の基準となる座標(左上の点)のx座標 6 y 整数 必須 読取範囲の基点となる座標(左上の点)のy座標 7 width 整数 必須 読取範囲の幅 8 height 整数 必須 読取範囲の高さ 9 type (使用しない) 10 length (使用しない) 11 項目名 文字列 必須 項目名
5.4.7. 出力情報(キーワード)
※キーワード指定はAIRead Standard、Stand-alone版では使用できません。
No. 項目名 書式 必須 説明 1 セクションID 7 必須 2 シーケンス番号 (使用しない) 3 テーブルID 文字列 テーブルID(明細・表の名前)を指定 4 レコードID (使用しない) 5 x (使用しない) 6 y (使用しない) 7 width (使用しない) 8 height (使用しない) 9 type 0 必須 0を指定すると「キーワード」 10 length 整数 必須 抽出する値の数 0は制限なし 11 項目名 文字列 必須 項目名 12 マージン拡張(左) 整数 指定した値分(ピクセル)、左にマージンを拡張する 13 マージン拡張(上) 整数 指定した値分(ピクセル)、上にマージンを拡張する 14 マージン拡張(右) 整数 指定した値分(ピクセル)、右にマージンを拡張する 15 マージン拡張(下) 整数 指定した値分(ピクセル)、下にマージンを拡張する 16 キーワードと値の距離 整数 キーワードと値の距離、指定した値より離れている場合は抽出対象外とする 0の場合は制限なし 17 マージンの自動拡張 0, 1 0:自動拡張なし 1:キーワードが矩形内にあるときキーワードの幅、高さを矩形に自動拡張 18 個別読取結果変換リスト 文字列 個別読取結果変換リストを指定する 19 キーワード 文字列 必須 取得したい値のキーワード文字列を記載する キーワードはセミコロン(;)区切りで複数設定できる 20 方向 U, D, L, R, RD 必須 U:上、D:下、L:左、R:右、RD:右または下 21 正規表現 文字列 記載した場合、正規表現にマッチする値のみ抽出する 22 許容する文字の距離 整数 キーワード一致判定で何文字の誤読を許容するかの値 キーワードの文字数がこの値より少ない場合は無効 23 キーワードの部分一致 0, 1 0:キーワード検索はコンポーネントと完全一致で判定 1:部分一致で判定 24 明細でこの項目は必須 0, 1 0:指定した項目に値がなくても出力する 1:指定した項目に値のないレコードは出力しない
5.4.8. 出力情報(型指定)
※型指定はAIRead Standard、Stand-alone版では使用できません。
No. 項目名 書式 必須 説明 1 セクションID 7 必須 2 シーケンス番号 (使用しない) 3 テーブルID 文字列 テーブルID(明細・表の名前)を指定 4 レコードID レコードID(明細の行番号)を指定 5 x (使用しない) 6 y (使用しない) 7 width (使用しない) 8 height (使用しない) 9 type 1 必須 1を指定すると「型指定」 10 length 整数 必須 抽出する値の数 0は制限なし 11 項目名 文字列 必須 項目名 12 マージン拡張(左) (使用しない) 13 マージン拡張(上) (使用しない) 14 マージン拡張(右) (使用しない) 15 マージン拡張(下) (使用しない) 16 キーワードと値の距離 (使用しない) 17 マージンの自動拡張 (使用しない) 18 個別読取結果変換リスト 文字列 個別読取結果変換リストを指定する 19 キーワード (使用しない) 20 方向 (使用しない) 21 正規表現 文字列 必須 正規表現にマッチする値のみ抽出する 22 許容する文字の距離 (使用しない) 23 キーワードの部分一致 (使用しない) 24 明細でこの項目は必須 (使用しない)
5.4.9. 出力情報(キーワード座標指定)
※キーワード座標指定はAIRead Standard、Stand-alone版では使用できません。
No. 項目名 書式 必須 説明 1 セクションID 7 必須 2 シーケンス番号 (使用しない) 3 テーブルID 文字列 テーブルID(明細・表の名前)を指定 4 レコードID (使用しない) 5 x 整数 必須 キーワードとみなす範囲の左上のx座標(ピクセル) 6 y 整数 必須 キーワードとみなす範囲の左上のy座標(ピクセル) 7 width 整数 必須 キーワードとみなす範囲の幅(ピクセル) 8 height 整数 必須 キーワードとみなす範囲の高さ(ピクセル) 9 type 2 必須 0を指定すると「キーワード座標指定」 10 length 整数 必須 抽出する値の数 0は制限なし 11 項目名 文字列 必須 項目名 12 マージン拡張(左) (使用しない) 13 マージン拡張(上) (使用しない) 14 マージン拡張(右) (使用しない) 15 マージン拡張(下) (使用しない) 16 キーワードと値の距離 整数 キーワードと値の距離、指定した値より離れている場合は抽出対象外とする 0の場合は制限なし 17 マージンの自動拡張 (使用しない) 18 個別読取結果変換リスト 文字列 個別読取結果変換リストを指定する 19 キーワード (使用しない) 20 方向 U, D, L, R, RD 必須 U:上、D:下、L:左、R:右、RD:右または下 21 正規表現 文字列 記載した場合、正規表現にマッチする値のみ抽出する 22 許容する文字の距離 (使用しない) 23 キーワードの部分一致 (使用しない) 24 明細でこの項目は必須 0, 1 0:指定した項目に値がなくても出力する 1:指定した項目に値のないレコードは出力しない
6. 出力
OCRの結果をOUTPUTフォルダへ出力します。
6.1. 共通
すべての形式で出力される項目です。
No. 項目名 説明 1 Image ファイル名(複数ページファイルの場合はページ分割後) 2 Image_jshfilename ファイルパス(処理成功/失敗移動先) 3 modifyDate インプットファイルの更新日時 yyyy-MM-ddThh:mm:ss 4 processDate 処理完了日時 yyyy-MM-ddThh:mm:ss 5 result true:処理成功 false:処理失敗 6 original inputファイル名 7 original_jshfilename inputファイルパス(デバッグフォルダ内へ移動) 8 Image_for_display 表示用画像の絶対パス 表示用画像の生成時に自動でヘッダ項目に追加される 複数ページ画像が入力の場合、最終ページのCSVにのみ記載される(表示用画像は複数ページ画像が入力の場合、常に複数ページPDFを生成するため) 9 form_id 使用したフォームの名称 10 group_name 使用したフォーム定義のグループ名 11 file_idenfication_type アウトプットと帳票識別の単位 12 image_width 画像の幅(ピクセル)、ページ単位で出力 13 image_height 画像の高さ(ピクセル)、ページ単位で出力
※共通設定ファイルにて出力する項目の変更が可能です。
デフォルト:HEADER_ITEM= Image, Image_jshfilename, modifyDate, processDate, result, form_id
6.2. CSV
AIRead独自のCSV形式で出力されます。
No. 項目名 説明 1 ItemName 項目名 2 Page 該当のメタデータが出現するページの番号(0 開始) 3 GID フォーマット定義ファイルで指定したグループID 4 RID フォーマット定義ファイルで指定したレコードID 5 Value 取得した値 6 conf 文字認識の信頼度 値が大きいほど正解している可能性が高い(MAX100) ※チェックマークの場合はテンプレート領域に対する黒領域の割合(数値) 7 x 抽出範囲の左上の点のx座標(ピクセル) 8 y 抽出範囲の左上の点のy座標(ピクセル) 9 w 抽出範囲の幅(ピクセル) 10 h 抽出範囲の高さ(ピクセル) 11 ImagePath コンポーネント画像のパス CREATE_HW_COMP_IMAGE=falseの場合の値はnull 12 TableName 明細名(座標指定ではGIDと同じ値が自動的に出力されます)
※共通設定ファイルにて出力する項目の変更が可能です。
デフォルト:CSV_COLUMN_ITEM=ItemName,Page,GID,RID, Value,conf,x,y,w,h
“ItemName”,”Page”,”GID”,”RID”,”Value”,”conf”,”x”,”y”,”w”,”h” “Image”,”-1″,”-1″,”-1″,”sample1.jpg”,”-1″,”-1″,”-1″,”-1″,”-1″ “Image_jshfilename”,”-1″,”-1″,”-1″,”C:\AIRead\success\sample1.jpg”,”-1″,”-1″,”-1″,”-1″,”-1″ “modifyDate”,”-1″,”-1″,”-1″,”2018-08-16T18:10:27″,”-1″,”-1″,”-1″,”-1″,”-1″ “processDate”,”-1″,”-1″,”-1″,”2018-08-25T00:28:27″,”-1″,”-1″,”-1″,”-1″,”-1″ “result”,”-1″,”-1″,”-1″,”true”,”-1″,”-1″,”-1″,”-1″,”-1″ “id”,”0″,””,”-1″,”order”,”100″,”-1″,”-1″,”-1″,”-1″ “tok_cd”,”0″,””,”-1″,”100″,”97″,”307″,”688″,”510″,”170″ “Tel”,”0″,””,”-1″,”03-2345-6789″,”95″,”307″,”951″,”1450″,”170″ “Month”,”0″,””,”-1″,”10″,”97″,”307″,”1207″,”200″,”170″ “Day”,”0″,””,”-1″,”31″,”99″,”620″,”1207″,”200″,”170″ “haikb”,”0″,””,”-1″,”1″,”99″,”938″,”1207″,”85″,”170″ “timekb”,”0″,””,”-1″,”3″,”99″,”1350″,”1207″,”85″,”170″ “Itemcd0″,”0″,”detail”,”0″,”123″,”100″,”407″,”1745″,”627″,”170″ “Amount0″,”0″,”detail”,”0″,”30″,”100″,”2015″,”1745″,”623″,”170″ “Wrapping0″,”0″,”detail”,”0″,”20″,”100″,”2687″,”1745″,”314″,”170″
6.3. CSV4DB
一般的なカンマ区切りのCSV形式です。 1ページ1行で出力します。
OUTPUT_FORMAT: CSV4DB
出力イメージ:ヘッダー
“page”,”id”,”tok_cd”,”Tel”,”Month”,”Day”,”haikb”,”timekb” “0”,”order”,”1 00″,”03 – 2345 – 6789″,”1 0″,”3 1″,”1″,”3″ “1”,”order”,”1 00″,”03 – 2345 – 6789″,”1 0″,”3 1″,”1″,”3″ “2”,”order”,”1 00″,”03 – 2345 – 6789″,”1 0″,”3 1″,”1″,”3″
“page”,”Itemcd”,”Amount”,”Wrapping” “0”,”123″,”30″,”20″ “0”,”678″,”150″,”70″ “0”,”543″,”80″,”100″ “0”,”234″,”95″,”30″ “0”,””,””,”” “0”,””,””,”” “0”,””,””,”” “0”,””,””,”” “0”,””,””,”” “0”,””,””,”” “0”,””,””,”” “0”,””,””,”” “0”,””,””,”” “0”,””,””,”” “0”,””,””,”” “1”,”123″,”30″,”20″ “1”,”678″,”150″,”70″ “1”,”543″,”80″,”100″ “1”,”234″,”95″,”30″ “1”,””,””,”” “1”,””,””,”” “1”,””,””,”” “1”,””,””,”” “1”,””,””,”” “1”,””,””,”” “1”,””,””,”” “1”,””,””,”” “1”,””,””,”” “1”,””,””,”” “1”,””,””,”” “2”,”123″,”30″,”20″ “2”,”678″,”150″,”70″ “2”,”543″,”80″,”100″ “2”,”234″,”95″,”30″ “2”,””,””,”” “2”,””,””,”” “2”,””,””,”” “2”,””,””,”” “2”,””,””,”” “2”,””,””,”” “2”,””,””,”” “2”,””,””,”” “2”,””,””,”” “2”,””,””,”” “2”,””,””,”””page”,”id”,”tok_cd”,”Tel”,”Month”,”Day”,”haikb”,”timekb” “0”,”order”,”1 00″,”03 – 2345 – 6789″,”1 0″,”3 1″,”1″,”3″ “1”,”order”,”1 00″,”03 – 2345 – 6789″,”1 0″,”3 1″,”1″,”3″ “2”,”order”,”1 00″,”03 – 2345 – 6789″,”1 0″,”3 1″,”1″,”3″
6.4. XML
XML形式で出力します。
No. 項目名 説明 1 field 2 id 項目名 3 conf 文字認識の信頼度 値が大きいほど正解している可能性が高い(MAX100) ※チェックマークを指定している場合はテンプレート領域に対する黒領域の割合(数値) 4 x 抽出範囲の左上の点のx座標(ピクセル) 5 y 抽出範囲の左上の点のy座標(ピクセル) 6 width 抽出範囲の幅(ピクセル) 7 hight 抽出範囲の高さ(ピクセル) 8 value 取得した値
<?xml version=”1.0″ encoding=”UTF-8″ standalone=”no”?> <order> <Image>sample1.jpg</Image> <Image_jshfilename>C:/AIRead/success/sample1.jpg</Image_jshfilename> <modifyDate>2018-08-16T18:10:28</modifyDate> <processDate>2018-10-22T20:51:21</processDate> <result>true</result>
<id>order</id> <field conf=”98″ height=”170″ id=”tok_cd” width=”510″ x=”307″ y=”688″> <value>100</value> </field> <field conf=”97″ height=”170″ id=”Tel” width=”1450″ x=”307″ y=”951″> <value>03-2345-6789</value> </field> <field conf=”99″ height=”170″ id=”Month” width=”200″ x=”307″ y=”1207″> <value>10</value> </field> <field conf=”100″ height=”170″ id=”Day” width=”200″ x=”620″ y=”1207″> <value/> </field> <field conf=”100″ height=”170″ id=”haikb” width=”85″ x=”938″ y=”1207″> <value/> </field> <field conf=”100″ height=”170″ id=”timekb” width=”85″ x=”1350″ y=”1207″> <value/> </field> <detail> <row id=”0″> <field conf=”99″ height=”170″ id=”Itemcd0″ width=”627″ x=”407″ y=”1745″> <value>123</value> </field> <field conf=”99″ height=”170″ id=”Amount0″ width=”623″ x=”2015″ y=”1745″> <value>30</value> </field> <field conf=”99″ height=”170″ id=”Wrapping0″ width=”314″ x=”2687″ y=”1745″> <value>20</value> </field> </row>
6.5. XML for WAGBY
AIRead Screen Designer (Wagby)との連携が可能なXML形式で出力します。 ※”Wagby”とはノンプログラミングでWeb業務アプリケーションを開発できるツールです。
OUTPUT_FORMAT: XMLWAGBY
項目:
No. 項目名 説明 1 [ItemName]_conf 文字認識の信頼度 値が大きいほど正解している可能性が高い(MAX100) ※チェックマークの場合はテンプレート領域に対する黒領域の割合(数値)
<?xml version=”1.0″ encoding=”UTF-8″ standalone=”no”?> <order> <Image>sample1.jpg</Image> <Image_jshfilename>C:/AIRead/success/sample1.jpg</Image_jshfilename> <modifyDate>2018-08-16T18:10:28</modifyDate> <processDate>2018-10-22T21:00:08</processDate> <result>true</result> <id>order</id> <id_conf>100</id_conf> <tok_cd>100</tok_cd> <tok_cd_conf>98</tok_cd_conf> <Tel>03-2345-6789</Tel> <Tel_conf>97</Tel_conf> <Month>10</Month> <Month_conf>99</Month_conf> <Day/> <haikb/> <timekb/> <detail> <Itemcd0>123</Itemcd0> <Itemcd0_conf>99</Itemcd0_conf> <Amount0>30</Amount0> <Amount0_conf>99</Amount0_conf> <Wrapping0>20</Wrapping0> <Wrapping0_conf>99</Wrapping0_conf> </detail>
7. AIRead Viewer付OCR機能
batで実行した出力結果をAIRead Viewer(以下 Viewer)で結果を確認しながら、修正を行うことができます。
7.1. Viewer付OCR 実行batファイル
実行結果をViewerで表示する際は、<AIReadインストールフォルダ>\run_with_viewer.bat でOCRを実行します。
7.2. Viewer付OCRの実行
引数を指定し、run_with_viewer.bat をダブルクリックで実行します。 Viewer付OCRの実行時は、引数の指定先を変更してください。
7.2.1. run_with_viewer.bat
call “%AIREAD_HOME%\scripts\set_envs.bat” “%AIREAD_HOME%/Viewer/OcrExecuter/OcrExecuter.exe” -kw –formatfile [フォーマット定義ファイル] –imagefile [画像ファイルパス] –settingfile [SettingFile]
No. 引数 説明 1 –formatfile [フォーマット定義ファイル] OCR時に抽出を行うフォーマット定義ファイルのパスを指定 2-1 –imagefile [画像ファイルパス] 読み取り対象の画像のファイルパスを指定 2-2 –imagedir [画像フォルダパス] 読み取り対象の画像が格納されたフォルダのパスを指定 3 –settingfile [SettingFile] 共通設定ファイルを指定
※–imagefile と –imagedir はどちらか一方を指定します
7.3. Viewer上での確認
5.3. AIRead Viewerで結果を確認 を参照ください。
7.4. サーバ上の読み取り結果を複数のクライアント端末から編集
サーバ上にインストールされたAIRead で読み取った結果を複数のクライアント端末から編集することができます。
前提条件 サーバ上の読み取り結果が配置されたフォルダは、各クライアント端末と共有されている必要があります。 サーバの実行環境、各クライアント端末には、AIRead v3.1.0.0 以降のバージョンのインストールも必須です。
7.4.1. 操作手順
AIRead をインストールしたクライアント端末のスタートメニューにある、AIRead のショートカットリンクを開きます。
AIRead Viewer のショートカットリンクを右クリックし、詳細 > ファイルの場所 を開きます。
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\AIRead が表示されます。
AIRead Viewer のショートカットを右クリックし、プロパティを表示してください。
プロパティに表示されているリンク先を変更してください。
<AIREAD_HOME>\Viewer\AIReadViewer\AIReadViewer.exe –language ja-JP –dataDir サーバ上のViewer用結果が配置されたフォルダ
複数端末からサーバ上の結果を編集する際には、排他制御がかかります。
8. 仕分け付きOCR機能
8.1. 仕分けの概要
仕分ける基準を以下のどちらかを選択して使用することができます。 ・画像仕分け:画像の特徴量が近いフォームに仕分ける ・キーワード仕分け:設定したキーワードが画像内に含まれるフォームに仕分ける
8.1.1. 処理の流れ
入力画像が複数ページであれば、ページごとに分割
画像がTIFFであれば、DPI変換 ※「TIFFを300DPIに変換してからOCRを実行する」を設定している場合
画像の回転補正 ※「回転補正を行う」を設定している場合
3.の画像で画像 or キーワード仕分け
判定に成功したら、仕分けられたフォームの帳票定義を使ってOCRを行う
判定に失敗した場合、失敗フォルダに入力画像を移動する
8.1.2. 画像仕分けについて
画像仕分けは 2段階 に分かれております。 1段階目では大まかな仕分け を行います。 画像全体から特徴的な箇所(特徴点)を抽出し、各テンプレート画像と入力画像を比較して最も特徴点の数がマッチした画像を持つグループに判定します。
2段階目では詳細仕分け を行います。 グループ内の画像に対して色または指定領域のみでの画像比較を行います。
色 での判定は、画像の見た目はほとんど似ているが色違いの帳票を判別したい場合に使います。指定領域での画像比較 は、特定の場所に会社のロゴ等判別しやすい箇所がある場合に使います。 なお、下図のグループ2-詳細1のように、グループに属する画像が1つしかない場合は詳細な判定は行わずに判定結果が確定します。
8.2. 仕分け定義フォルダの構成
仕分けの定義は仕分け定義フォルダで行います。 仕分け定義フォルダは以下の通りに構成します。 仕分け定義フォルダはフォーム定義のグループのフォルダの中に配置します。 フォルダのパスには日本語を含まないでください。
AIRead_conf/ ——— フォーム定義フォルダ └ClassifyDir/ ——— 1. 仕分け定義フォルダ ├option.csv (固定名) ——— 2. 仕分け定義ファイル ├setting.ini (固定名) ——— 3. 仕分け設定ファイル └Templates/ (固定名) ——— 4. テンプレートフォルダ └1/ ——— 5. 大まかな仕分けフォルダ └1/ ——— 6. 詳細仕分けフォルダ └ template.jpg (固定名) ——— 7. テンプレート画像 └2/ └ template.jpg(固定名) └2/ └1/ └ template.jpg (固定名) :
No. 名称 説明 1 仕分け定義フォルダ 仕分け定義を格納するフォルダ 半角英数字、(ハイフン)、_(アンダースコア)、.(ピリオド)、#(シャープ)、&(アンパサンド)で指定可能 2 仕分け定義ファイル テンプレート画像に紐づく仕分け定義を記載したファイル(csv形式) 3 仕分け設定ファイル 仕分けに使用する設定を記載する 4 テンプレートフォルダ テンプレート画像を格納するフォルダ 5 大まかな仕分けフォルダ 大まかな仕分けのグループを表すフォルダ 数字で1,2…と順につける 6 詳細仕分けフォルダ 詳細仕分けの画像を配置するフォルダ 数字で1,2…と順につける 7 テンプレート画像 入力画像と比較するテンプレート画像 ファイルの名前は template から始まるように名称固定
8.3. AIRead FormEditor で仕分け定義を設定
8.3.1. FormEditor の起動
<AIREAD_HOME>\FormEditor\AIReadFormEditor.exe をダブルクリック、もしくはスタートメニューのショートカットから起動 します。
FormEditor を起動してグループを開いてください。
仕分け定義 を押下すると以下の画面が表示されます。
8.3.2. 仕分け定義の操作
8.3.2.1. 仕分け設定(画像仕分け)
画像仕分けを選択している状態で設定 を押下すると、以下の設定変更ダイアログを表示します。
<定義項目>
No. 名称 説明 1 フォーム フォーム定義で定義した帳票の名称 2 詳細仕分けグループ 画像の色や一部分の特徴で仕分けをする場合に指定 詳細は「8.3.3.2. 詳細仕分けの設定」を参照 3 連続 チェックあり:複数ページ帳票を読み取ってかつ仕分けに失敗した場合、前のページの仕分け結果を採用する
<設定>
No. 名称 説明 1 最大特徴点数 画像の比較に使用する特徴的な点を検出する数の最大値 多くすると仕分け精度が上がる傾向にある一方、処理時間が増加する 2 特徴点のマッチング回数閾値 入力画像とテンプレート画像が似ていると判断するのに最低限必要な特徴点のマッチ数 全てのテンプレート画像に対して特徴点のマッチ数がこの値に達しない場合、判定失敗となる この値を上げると厳密な判定ができるが、判定失敗になる画像が増えやすくなる 3 画像間サイズ差閾値 入力画像とテンプレート画像のピクセルでの面積を比較し、その差がこの値より大きい場合そのテンプレート画像との比較をスキップする -1を指定した場合、このスキップ処理は行われない
8.3.2.2. 仕分け設定(キーワード仕分け)
キーワード仕分けを選択している状態で設定 を押下すると、以下の設定変更ダイアログを表示します。
<定義項目>
No. 名称 説明 1 フォーム フォーム定義で定義した帳票の名称 2 キーワード 仕分けで使用する帳票内のキーワード(文字列)を指定 3 連続 チェックあり:複数ページ帳票を読み取ってかつ仕分けに失敗した場合、前のページの仕分け結果を採用する
<設定>
No. 名称 説明 1 仕分けで読み取りをしたい範囲 方向(T:上、B:下、R:右、L:左)と割合で指定 例)T,20,L,50 → 上から20%、かつ左から50%の範囲 範囲を絞ることで処理時間を削減できる 2 仕分け失敗時の挙動 仕分け失敗時の挙動を以下から選択 ・仕分けに失敗したらfalse ・仕分けに失敗したら指定したフォームで抽出 3 仕分け失敗時に使用するフォーム 仕分けに失敗したら使用するフォームを指定 仕分け失敗時の挙動で「仕分けに失敗したら指定したフォームで抽出」を指定した場合のみ
8.3.2.3. 仕分け定義の保存
保存 を押下すると、編集済みの仕分け定義が保存されます。 仕分け定義を変更した場合は、必ず保存してください。
8.3.3. 画像仕分けの設定
8.3.3.1. 大まかな仕分けの設定
画像仕分け を選択します。 仕分け対象としたいフォームにチェックをいれてください。 詳細仕分けが不要な場合はこれで設定完了です。
8.3.3.2. 詳細仕分けの設定
詳細仕分けには、色 もしくは、指定領域での画像比較 での仕分けができます。詳細仕分けグループ を追加してください。
フォームに詳細仕分けグループ をセットします。 詳細仕分けをしたいフォームに同じグループを設定してください。
No. 項目名 説明 1 詳細仕分けの方法 詳細仕分けを指定しない 詳細仕分けは行わない グループに属する定義情報が1つしかない場合は詳細な仕分けは不要 色で詳細仕分けをする グループに属する定義情報が2つ以上ある場合に、色の類似度合いで判定を行う方法 領域で詳細仕分けを行う グループに属する定義情報が2つ以上ある場合、指定した領域に絞って判定を行う方法 2 フォームID 選択中の定義情報が表示される 3 X Y W H 領域で詳細仕分けを行う を選択した場合に、指定した領域の座標 X:指定した領域の左上のX座標(ピクセル) Y:指定した領域の左上のY座標(ピクセル) W:指定した領域の幅(ピクセル) H:指定した領域の高さ(ピクセル)
8.3.3.3. 色で詳細仕分けを行う場合
レイアウトは似ているが色が異なる帳票を仕分けたい場合は、色で詳細仕分けをする を選択します。
8.3.3.4. 指定した領域で詳細仕分けを行う場合
レイアウトが似ていて一部異なる 帳票があるときは、領域で詳細仕分けを行う を選択します。
領域で詳細仕分けを行う を選択した状態で、画像上の任意の場所をドラッグすると、領域の指定を行うことができます。
8.3.4. キーワード仕分けの設定
キーワード仕分け を選択します。 仕分け対象としたいフォームにチェックをいれ、画像に存在する文字列をキーワードとして設定してください。
・半角スペースで区切るとAND条件、セミコロン(;)で区切るとOR条件でキーワードを検索して識別します。 例1)「請求 西新宿株式会社」と設定した場合、画像内に請求と西新宿株式会社を両方 含んでいれば識別される。 例2)「請求;西新宿株式会社」と設定した場合、画像内に請求と西新宿株式会社のどちらか があれば識別される。
・複数のフォームのキーワードが検知された場合、キーワードの文字数が多いフォームを採用します。
8.3.5. 仕分けの実行
画像の仕分けのみを行う場合は、仕分け実行 を押下すると仕分け実行ダイアログが表示されます。 ダイアログ上から、対象の画像を指定して仕分け実行します。
No. 名称 説明 1 画像ファイル名 仕分け対象の画像を指定する 2 ページ番号 仕分け対象の画像が複数枚つづりのPDF/TIFF である場合は、対象とするページを選択する 3 仕分け実行 指定した画像を対象に、仕分けの判定を行う 4 仕分け結果 仕分け実行 ボタンで実行した仕分け結果が表示される
8.3.6. 仕分け付OCRの実行
画像の仕分け付でAIReadの実行を行う場合は、AIRead ボタンを押下すると実行ダイアログが表示されます。 ダイアログ上から、対象の画像を指定して仕分け付のOCRを実行します。
正常に実行が完了すると、AIRead Viewerが起動します。 Viewer の詳細については、5.3. AIReadViewerで結果を確認 を参照ください。
8.4. 直接仕分け定義を設定
8.4.1. 仕分け定義ファイルの編集
仕分け設定ファイルを直接編集する場合は、テキストエディタで<AIREAD_HOME>\ClassifyDir\option.csv で編集します。
1,1,S,order,1,0,10,10,50,50 1,2,S,order2,1,0,10,10,50,50 2,1,S,Invoice,0,0,,,,
画像仕分け
1,1,S,Invoice1,,1,0,0,0,0,請求 1,2,S,Invoice2,,1,0,0,0,0,請求 西新宿株式会社
キーワード仕分け
・文字エンコード:UTF-8 ・改行コード:LF
CSV中の各列の意味は下記の通りです。
No. 名称 説明 1 グループ番号 大まかな仕分けのグループ番号 大まかな仕分けフォルダ名を指定する 2 詳細番号 詳細仕分けの番号 詳細仕分けフォルダ名を指定する 3 抽出モード 抽出モードの設定 S : 座標指定 W : 表検出付全文OCR 4 フォーマットID OCR時に使用するフォーマットID 5 色判定フラグ 詳細仕分けに色の類似度合いを使用するかのフラグ 0 : 使用しない(デフォルト) 1 : 使用する ※同一グループ内では同一の設定にしてください 6 領域指定フラグ 詳細仕分けで画像の注目する領域を絞ったマッチングを行うかのフラグ 0 : 行わない(デフォルト) 1 : 行う ※同一グループ内では同一の設定にしてください ※色判定と同時に使うことはできません(両方設定されていた場合、色判定のみ行います) 7 指定領域始点X 領域指定の左上のX座標(左上原点、単位はピクセル) 8 指定領域始点Y 領域指定の左上のY座標(左上原点、単位はピクセル) 9 指定領域横幅 領域指定の横幅(単位はピクセル) 10 指定領域縦幅 領域指定の縦幅(単位はピクセル) 11 キーワード 識別するためのキーワードを指定 半角スペースで区切るとAND条件、セミコロン(;)で区切るとOR条件でキーワードを検索して識別する ※キーワード仕分けのみ
8.4.2. 仕分け設定ファイルの編集
仕分け設定ファイルを直接編集する場合は、テキストエディタでClassifyDir\setting.ini を編集します。
・文字エンコード:UTF-8 ・改行コード:LF
classificationType=IMAGE_FEATURE maxFeatures=2000 matchCtTh=50 sizeDiffTh=-1 keywordRect=
各項目の意味は下記の通りです。
No. 項目名 書式 説明 1 classificationType IMAGE_FEATURE KEYWORD 仕分けの方法を指定する IMAGE_FEATURE:画像仕分け KEYWORD:キーワード仕分け 2 maxFeatures 1以上の整数値 画像の比較に使用する特徴的な点を検出する数 多くすると仕分け精度が上がる傾向にある一方、処理時間が増加する (デフォルト:2000) 3 matchCtTh 0以上の整数値 大まかな仕分け時に、入力画像とテンプレート画像が似ていると判断するのに最低限必要な特徴点のマッチ数 全てのテンプレート画像に対して特徴点のマッチ数がこの値に達しない場合、判定失敗となる この値を上げると厳密な判定ができるが、判定失敗になる画像が増えやすくなる (デフォルト:50) 4 sizeDiffTh -1以上の整数値 テンプレート画像と入力画像のピクセルでの面積を比較し、その差がこの値より大きい場合そのテンプレート画像との比較をスキップする -1を指定した場合、このスキップ処理は行われない (デフォルト:-1) 5 keywordRect 文字列 仕分けで読み取りをしたい範囲を方向(T:上、B:下、R:右、L:左)と割合で以下の形式で指定する [方向], [画像全体に対する割合],… 例)T,20,L,50 → 上から20%、かつ左から50%の範囲 範囲を絞ることで処理時間を削減できる 6 defaultProfileMode 0,1 仕分け失敗時の挙動を指定する 0:仕分けに失敗したらfalse 1:仕分けに失敗したら指定したフォームで抽出 7 defaultFormID 文字列 仕分け失敗時に使用するフォームを指定する
8.5. batからの仕分け付OCR実行
bat を用いて、仕分け付きのOCRの実行を行う場合は、仕分けの登録と実行の2段階で行います。
8.5.1. 仕分け登録
配置されたテンプレート画像の登録は、下記のコマンドで行います。
call “%AIREAD_HOME%\scripts\set_envs.bat” set MAIN_CLASS_NAME=co.jp.ariseinnovation.AIReadEE.AIReadEE “%AIREAD_JAVA%/java” -Xmx8192m -classpath %CLASSPATH% %MAIN_CLASS_NAME% -s [SettingFile] -R [仕分け定義フォルダ]
オプション: バッチの中身は引数で書き換えることができます。
No. 引数 説明 1 -s [SettingFile] 共通設定ファイルを指定 2 -R [仕分け定義フォルダ] 仕分け定義が格納されたフォルダを指定
※run_register.bat はサンプル帳票の実行ファイルです。ダブルクリックで実行できます。
8.5.2. 仕分け付きOCRの実行
仕分け付きOCRの実行は、下記のコマンドで行います。
call “%AIREAD_HOME%\scripts\set_envs.bat” set MAIN_CLASS_NAME=co.jp.ariseinnovation.AIReadEE.AIReadEE “%AIREAD_JAVA%/java” -Xmx8192m -classpath %CLASSPATH% %MAIN_CLASS_NAME% -s [SettingFile] -A [仕分け定義フォルダ]
オプション: バッチの中身は引数で書き換えることができます。
No. 引数 説明 1 -s [SettingFile] 共通設定ファイルを指定 2 -A [仕分け定義フォルダ] 仕分けに使用するフォルダを指定
※run_assort.bat はサンプル帳票の実行ファイルです。ダブルクリックで実行できます。
8.5.3. 仕分けのみの実行
仕分けのみの実行は、下記のコマンドで行います。
call “%AIREAD_HOME%\scripts\set_envs.bat” set MAIN_CLASS_NAME=co.jp.ariseinnovation.AIReadEE.AIReadEE “%AIREAD_JAVA%/java” -Xmx8192m -classpath %CLASSPATH% %MAIN_CLASS_NAME% -s [SettingFile] -a [仕分け定義フォルダ]
オプション: バッチの中身は引数で書き換えることができます。
No. 引数 説明 1 -s [SettingFile] 共通設定ファイルを指定 2 -a [仕分け定義フォルダ] 仕分けに使用するフォルダを指定
9. AIReadETL (v5.3.0~)
ETLとは、E xtract、T ransform、L oad の頭文字を取ったもので、複数のソースシステムからデータを「抽出」し、抽出したデータを「変換」、変換されたデータを「書き出し・格納」して活用しやすくします。
AIReadETLは、AIRead独自CSVをinputとし、要望のCSVに変換する機能です。
9.1. ETLフォルダの構成
ETLフォルダは以下の構成にする必要があります。
ETLProject/ ———(ETLフォルダ) └ [プロジェクトID]/ ├ header.txt ——— 出力ヘッダリストファイル ├ InputHeader.txt ——— 入力ヘッダリストファイル ├ job.json ——— ジョブファイル └ setting.ini ——— 設定ファイル
9.2. データ加工処理(ETL)を作成
FormEditorのETLタブからETLを作成・編集できます。
9.2.1. 新規プロジェクトを作成する
新規プロジェクトを選択し、任意のプロジェクト名を入力します。
9.2.2. ロジック画面
ETLの入力値、出力値、コマンドを設定します。
No. 項目 説明 1 入力:ヘッダー ヘッダーの入力値 AIReadで読み取ったヘッダー項目から活用したい項目を追加する 2 入力:明細 明細の入力値 AIReadで読み取った明細項目から活用したい項目を追加する 3 入力:変数 変数に値をセットできる 4 出力:ヘッダー ヘッダーの出力値 ヘッダー項目の変換・加工後の出力値を設定 5 出力:明細 明細の出力値 明細項目の変換・加工後の出力値を設定 6 ロジック 変換処理の設定 入力、出力、コマンドを選択し入力値→出力値を要望の形にするための設定 詳細は9.2.3. ロジックの追加
9.2.3. ロジックの追加
白背景部分を右クリックし新規作成を選択します。
ロジックのプルダウンを選択するとコマンドが表示されます。
コマンド各種
・master
内容 項目名 値 必須 説明 ロジック command master 〇 別のCSVファイルからリストを取得 ※使用できるCSVの仕様 ・区切り文字:,(カンマ) ・クオート:ダブルクォーテーションあり・なしに対応 ・改行コード:LF、CRLF、CR ・項目内のダブルクォーテーション:ダブルクォーテーションで囲まれた項目内のダブルクォーテーションは、2つ重ねる(””)ことでエスケープされます。 例)”テーブル(””木製””)” → テーブル(”木製”) マスタ名 valueName 文字列 〇 リストの名称を指定 マスタファイル filePath ファイルパス 〇 CSVのファイルパス マスタファイルの文字コード (v5.3.2~) option 文字列の配列 マスタファイルの文字コードを指定可能 ・UTF-8 ・Shift-jis
・value
内容 項目名 値 必須 説明 ロジック command value 〇 値をセットするコマンド 入力 項目名 value 文字列 fromを指定 しない場合〇 input CSVの項目名を指定するとその項目の値をセットする (fromが指定されている場合は不要) 出力 項目名 id 文字列 〇 値をセットする項目名 マスタ名 from 文字列 マスタから取得する場合に使用、 masterで指定したvalueを指定(<>で囲む) キーの列番号 keyColumn 数値 fromを指定 する場合〇 masterで検索キーとする項目の列番号を指定 キー文字列 keyName (fromを指定しない場合) itemName, value パラメータで指定されたinputCSVの項目の値をセットする キー文字列 keyName (fromを指定する場合) 文字列 fromを指定 する場合〇 検索キーとする文字列 値の列番号 valueColumn 数値 fromを指定 する場合〇 masterでセットする項目の列番号を指定 フィルタ where 詳細は条件:where 対象とする項目をフィルタリングする
・order
内容 項目名 値 必須 説明 ロジック command order 〇 明細に出力する基準とする項目を作成する 入力 項目名 value 正規表現 〇 対象とする項目を指定 キー文字列 keyName itemName, value 対象とする文字列を項目名か値かで指定 (現在、項目名のみ対応) フィルタ where 詳細は条件:where 対象とする項目をフィルタリングする
・fixed
内容 項目名 値 必須 説明 ロジック command fixed 〇 固定値をセット 出力項目名 id 文字列 〇 セットする項目名 値 value 文字 〇 セットする値
・join
内容 項目名 値 必須 説明 ロジック command join 〇 項目の値を結合する 出力項目名 id 文字列 〇 セットする項目名 値 value 正規表現 〇 結合する値を指定 キー文字列 keyName itemName, value 〇 regexの対象とする文字列を項目名か値かで指定 文字の一部を取得(正規表現) regex 正規表現 〇 結合する値をキャプチャする フィルタ where 詳細は条件:where 結合の対象とする項目をフィルタリングする
・date
内容 項目名 値 必須 説明 ロジック command date 〇 日付を取得してセットするコマンド 処理 operator now, convert(v5.3.2~) 〇 now(処理日時を取得): 処理時刻を取得してセット convert(日付変換): idで指定した項目の日付フォーマットを変換する 入力フォーマット (v5.3.2~) type (例) yyyy年MM月dd日 operator=convertの場合 変換前の日付フォーマットを指定 出力項目名 id 文字列 〇 セットする項目名 出力フォーマット value (例) yyyy/MM/dd 〇 出力フォーマット、自由に指定可能 <対応しているフォーマットパターン> yy yyyy:西暦年 M MM:月 D DDD:年に対する日 d dd:月に対する日 w:年に対する週 W:月に対する週 E:曜日(英語、省略形) F:月に対する曜日の回数 a:AM/PM h hh:時(12時間制) H HH:時(24時間制) m mm:分 s ss:秒 S SSS:ミリ秒
・calc
内容 項目名 値 必須 説明 ロジック command calc 〇 計算した結果をセットするコマンド 出力項目名 id 文字列 〇 セットする項目名 演算子 operator add 〇 add:valueにセットした値を加算する 値 value 数値 〇 この値で計算
・replace
内容 項目名 値 必須 説明 ロジック command replace 〇 項目の値を変換する 出力項目名 id 文字列 〇 処理対象のアウトプット項目名 変換リスト名 filePath 文字列 〇 変換ルールを記載したtsvのファイルパス 条件 ifstate 詳細は条件:ifstate 条件がすべてtrueの場合に処理をする
条件
・where
インプットCSVデータのうち、where条件がtrueのデータのみを対象とするフィルタリング処理 whereの処理内容は3つの配列要素で定義でき、配列要素をつなげることで複数処理を実行可能
operator 説明 配列要素① 配列要素② 配列要素③ eq equal to(==) “eq” 左オペランド(数値、文字列ともに可) 右オペランド(数値、文字列ともに可) ne not equal to(!=) “ne” 左オペランド(数値、文字列ともに可) 右オペランド(数値、文字列ともに可) le less than or equal to(<=) “le” 左オペランド(数値のみ可) 右オペランド(数値のみ可) ge greater than or equal to(>=) “ge” 左オペランド(数値のみ可) 右オペランド(数値のみ可) match 正規表現にマッチしている場合はtrue “match” 正規表現 対象文字列
・ifstate
ジョブコマンド実行対象のヘッダ/明細項目のうち、ifstate条件がtrueの項目のみを実行対象とするフィルタリング処理 ifstateの処理内容は3つの配列要素で定義でき、配列要素をつなげることで複数処理を実行可能
operator 説明 配列要素① 配列要素② 配列要素③ eq equal to(==) “eq” 左オペランド(数値、文字列ともに可) 右オペランド(数値、文字列ともに可) ne not equal to(!=) “ne” 左オペランド(数値、文字列ともに可) 右オペランド(数値、文字列ともに可) le less than or equal to(<=) “le” 左オペランド(数値のみ可) 右オペランド(数値のみ可) ge greater than or equal to(>=) “ge” 左オペランド(数値のみ可) 右オペランド(数値のみ可) match 正規表現にマッチしている場合はtrue “match” 正規表現 対象文字列
変数
ETL機能では、あらかじめ定義された「予約済み変数」を利用して、データの値を動的に参照したり加工したりできます。 一部の項目では、変数名を <> で囲んで入力することで、その変数の値を呼び出すことができます。 (例)<year>年<month>月分_データ → 2026年03月分_データ
・予約済み変数一覧 項目によって利用できる変数が異なります。以下の表を参照してください。
項目 変数名 説明 インプットCSVのValue value コマンドのどの項目で使用するかによって意味が異なる ①CSVデータ各行のValue ②主キーのValue ③対象idを用いてvalueコマンドで設定したCSVデータ行のValue ④whereフィルタで抽出したCSVデータ行のValue インプットCSVのItemName itemName コマンドのどの項目で使用するかによって意味が異なる ①CSVデータ各行のItemName ②主キーのItemName ③対象idを用いてvalueコマンドで設定したCSVデータ行のItemName ④whereフィルタで抽出したCSVデータ行のItemName アウトプットCSVの行番号 rowNumber アウトプットCSVのヘッダ行を除いた値行の行番号。番号は1から採番される。 実行日付 year, month, day AIReadETL実行日付。フォーマットは以下の通り year:0 – 現在(2026) month:01 – 12 day:01 – 31 インプットCSVヘッダ form_id, result など インプットCSVの行の中でpage=-1に該当する項目を変数として扱える ItemNameを変数名、Valueを変数に格納された値とする
9.2.4. 設定画面
設定タブで出力時の設定をします。
内容 項目名 説明 出力形式 OUTPUT_MODE ・1つの明細を1行で出力 ・ヘッダとすべての明細を1行で出力 明細件数 DETAIL_ROW_NUMBER 出力する明細の件数を指定 出力CSV文字コード OUTPUT_CHARACTER_CODE ・UTF-8 ・SJIS アウトプットCSVのファイル名 (v5.3.2~) OUTPUT_FILE_NAME 出力するCSVファイルの規則を指定する 「*」「?」「”」「|」は使用不可 <date>:出力時の実行日付8桁(yyyymmdd)をファイル名に表記する <time>:出力時の実行時間8桁(hhmmssms)をファイル名に表記する <year>:出力時の実行年(西暦の数字4桁 yyyy)をファイル名に表記する <month>:出力時の実行月(月の数字2桁 mm)をファイル名に表記する <day>:出力時の実行日(日付の数字2桁 dd)をファイル名に表記する <item:項目名>:読み取り結果に含まれる項目名を指定することで、読み取った値をファイル名に表記する ※<item:項目名>の「項目名」は以下の項目名も指定可能 Image, Image_jshfilename, modifyDate, processDate, result, form_id, group_name 項目の内容は6.1. 共通 を参照 ※「/」を入れることでフォルダの指定も可能 例:/csv_ と指定すると年ごとに別のフォルダに出力する
ETL設定後はかならず左下の保存ボタンを押して、設定を保存してください。
9.3. AIReadETLの実行
AIReadETLを実行する際は、まずControlPanelで以下の設定をします。 (個別で設定したい場合は個別設定画面で設定をしてください。)
・出力フォーマット:「AIReadETL」を選択 ・ETLプロジェクト名:実行したいプロジェクト名を選択
設定後は必ず保存ボタンを押して、設定を保存してください。
設定後、以下のどれかの実行方法で実行します。 実行するタイミングや、作業の目的に合わせていずれかの方法を選択してください
9.3.1. 実行方法(arexファイルを利用する場合)
AIReadを実行して読取から変換までを行い、アウトプットが変換後のCSVになります。 実行方法は以下をご参照ください。
2.2. 実行方法(arexファイルを利用する場合)
9.3.2. 実行方法(batファイルを利用する場合)
AIReadまたはViewerで出力したAIRead独自形式のCSVを入力として、変換したCSVを作成します。
コマンドを使用し、実行結果を出力します。 以下のコマンドを実行してください。
・run_ETL.bat
“%AIREAD_JAVA%/java” -Dfile.encoding=UTF-8 -jar “%AIREAD_HOME%/lib/AIReadETL-1.5-SNAPSHOT.jar” -input <ファイル/フォルダパス> -output <フォルダパス> -setting <設定ファイルパス>
・起動コマンド
引数 必須 説明 -i(-input) 〇 inputとするCSVファイル/フォルダ <前提条件> ・形式:CSV(AIRead独自形式) ・文字コード:UTF-8 -o(-output) 〇 outputのcsvを出力するフォルダ -s(-setting) 〇 ETLプロジェクトの設定ファイルパス
9.4. サンプル
ETLのサンプルプロジェクトです。 下記よりzipファイルをダウンロードできます。AIReadETL_sample.zip
内容物 ・AIRead_conf ——– フォーマット定義フォルダ ・ETLProject ——– ETLプロジェクトサンプルフォルダ ・input ——– input画像ファイル ・outputCSV ——– 各出力CSVイメージ ・readme.txt ——– ETLプロジェクトサンプルの詳細
ダウンロード後、「AIRead_conf」と「ETLProject」の2つのフォルダーをご自身のAIReadインストールフォルダ直下に置いてください。 ※置く際は既存のフォルダをリネームし、退避して置くか、中身を既存のフォルダに移してください。
サンプル1(Invoice1)
・明細の行数分だけ行を出力、ヘッダ項目はすべて同じものを出力(設定タブ) ・請求日付は処理日時を出力(date1)
・出力CSVイメージ
“合計金額”,”請求日時”,”商品名”,”数量”,”単価” “\1,573,456″,”20251216″,”応接テーブル”,”2″,”\59,800″ “\1,573,456″,”20251216″,”事務机”,”14″,”\14,800″ “\1,573,456″,”20251216″,”椅子”,”14″,”\36,800″ “\1,573,456″,”20251216″,”キャビネツト”,”10″,”\59,800″ “\1,573,456″,”20251216″,”電子レンジ”,”2″,”\19,800″ “\1,573,456″,”20251216″,”冷蔵庫”,”2″,”\89,000″
サンプル2(Invoice1-1line)
・ETLの処理はケース1と同様 ・出力する明細の件数を指定し、ヘッダとすべての明細を1行で出力(設定タブ)
・出力CSVイメージ
“合計金額”,”請求日時”,”商品名1″,”数量1″,”単価1″,”商品名2″,”数量2″,”単価2″,”商品名3″,”数量3″,”単価3″,”商品名4″,”数量4″,”単価4″,”商品名5″,”数量5″,”単価5″,”商品名6″,”数量6″,”単価6″,”商品名7″,”数量7″,”単価7″,”商品名8″,”数量8″,”単価8″,”商品名9″,”数量9″,”単価9″,”商品名10″,”数量10″,”単価10″ “\1,573,456″,”20260225″,”応接テーブル”,”2″,”\59,800″,”事務机”,”14″,”\14,800″,”椅子”,”14″,”\36,800″,”キャビネット”,”10″,”\59,800″,”電子レンジ”,”2″,”\19,800″,”冷蔵庫”,”2″,”\89,000″,””,””,””,””,””,””,””,””,””,””,””,””
サンプル3(Invoice1-master)
・別のCSVファイルからリストを取得する(master1) ・マスタの1列目の値が「item_num」の値と一致したマスタの行2列目の値を明細に出力する(value3)
・master CSVイメージ
10845,table 22563,desk 00562,chair 41523,cabinet 20783,microwave oven 30856,refrigerator
・出力CSVイメージ
“税込合計”,”税抜合計”,”処理日時”,”商品名”,”数量” “\1,573,456″,”\1,657,600″,”20260225″,”table”,”2″ “\1,573,456″,”\1,657,600″,”20260225″,”desk”,”14″ “\1,573,456″,”\1,657,600″,”20260225″,”chair”,”14″ “\1,573,456″,”\1,657,600″,”20260225″,”cabinet”,”10″ “\1,573,456″,”\1,657,600″,”20260225″,”microwave oven”,”2″ “\1,573,456″,”\1,657,600″,”20260225″,”refrigerator”,”2″
サンプル4(Invoice3-order)
・「帳票種別」の値を変数として設定し、出力項目に使用(変数:docFormat) ・項目名が「数量_(.+)」の()内の値を変数として設定し、入力項目、出力項目に使用(変数:label) ・「数量_*」という項目に値が入っているものだけを明細に出力する(order1) ・変換リスト「number」の変換ルールを適用して出力する(replace) ※AIReadインストールフォルダがデフォルトである前提のサンプルです。それ以外の場合は変換リストを再設定してください。 ・固定値を出力(fixed)
・出力CSVイメージ
“御請求書No.”,”出力日時”,”請求先”,”担当者”,”承認者”,”商品名”,”数量”,”最大数量”,”単価”,”金額” “No.000266″,”2026/02/25″,”株式会社東京”,”山田太朗”,”鈴木一朗”,”応接テーブル”,”3″,”(100)”,”59,800″,”\179,400″ “No.000266″,”2026/02/25″,”株式会社東京”,”山田太朗”,”鈴木一朗”,”事務机”,”14″,”(100)”,”14,800″,”\207,200″ “No.000266″,”2026/02/25″,”株式会社東京”,”山田太朗”,”鈴木一朗”,”椅子”,”14″,”(100)”,”36,800″,”\515,200″ “No.000266″,”2026/02/25″,”株式会社東京”,”山田太朗”,”鈴木一朗”,”冷蔵庫”,”2″,”(100)”,”89,000″,”\178,000″ “No.000266″,”2026/02/25″,”株式会社東京”,”山田太朗”,”鈴木一朗”,”モニター”,”28″,”(100)”,”24,800″,”\694,400″ “No.000266″,”2026/02/25″,”株式会社東京”,”山田太朗”,”鈴木一朗”,”デスクトップPC”,”14″,”(100)”,”119,800″,”\1,677,200″ “No.000266″,”2026/02/25″,”株式会社東京”,”山田太朗”,”鈴木一朗”,”プロジェクター”,”2″,”(100)”,”39,800″,”\79,600″ “No.000266″,”2026/02/25″,”株式会社東京”,”山田太朗”,”鈴木一朗”,”ホワイトボード”,”4″,”(100)”,”15,980″,”\63,920″