3.3. フォーマット定義ファイル
帳票の位置を合わせるための情報、出力ファイルに記載する情報、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 |
3.3.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点を基点に位置を合わせます。
3.3.2. 出力情報(固定値)
No. | 項目名 | 書式 | 必須 | 説明 |
---|---|---|---|---|
1 | セクションID | 1 | 必須 | |
2 | シーケンス番号 | 整数 | (使用しない) | |
3 | 項目名 | 文字列 | 必須 | 出力情報に記載する項目名 |
4 | 値 | 文字列 | 必須 | 出力する文字列 |
5 | グループID | 文字列 | グループID(明細・表の名前)を指定 アウトプット時に使用 | |
6 | レコードID | 整数 | レコードID(明細の行番号)を指定 アウトプット時に使用 |
3.3.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 | 個別読取結果変換リスト | 文字列 | 個別読取結果変換リストを指定する |
※修正対象(右)、修正対象(左)、修正対象(上)、修正対象(下) は併用可能
3.3.3.1. ずれ修正(セルに合わせる場合)について
セルに合わせるずれ修正を行う場合、下記のルールで行われます。
<合わせる対象>
読み取り範囲に対し、以下の 2つの条件を満たすセルが合わせる対象となります。
1. 読取範囲に対し、セルの面積が30%以上重なっていること
2. 条件1.を満たすセルのうち、読み取り範囲に対して重なっている面積が最大であること
<例外>
修正後のセルの高さが元の読み取り範囲の高さの1.2倍を超える場合、ずれ修正は行われません。
※本機能は軽微な位置ずれを補正するための機能であり、過度なずれ修正は行わなれません
<修正対象(左右上下)について>
修正の対象の選択によって、修正結果が下記の例のように変わります。
ずれ修正の修正対象(左、右)が有効の場合
ずれ修正の修正対象(左右上下)が有効の場合
3.3.3.2. ずれ修正(文字列に合わせる場合)について
文字列に合わせるずれ修正を行う場合、下記のルールで行われます。
<合わせる対象>
読み取り範囲に対し、面積が30%以上重なっている文字列が合わせる対象となります。
<修正方法:移動について>
修正方法に「移動」を指定した場合、読み取り範囲(矩形の形)は変更せず合わせる対象の文字列が入るように読み取り位置を移動させます。
※重なっている文字列の範囲より読み取り範囲が小さい場合は修正しません。
ずれ修正の方法が文字列を基準とした移動の場合
<修正方法:拡張について>
修正方法に「拡張」を選択した場合、読み取り範囲に重なる全文字列が包含できるように読み取り範囲を拡張します。
ずれ修正の方法が文字列を基準とした拡張の場合
3.3.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 | 文字列 | 必須 | 項目名 |
3.3.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 | 文字列 | 必須 | 項目名 |
3.3.6. 出力情報(キーワード)
※キーワード指定は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:指定した項目に値のないレコードは出力しない |
3.3.7. 出力情報(型指定)
※型指定は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 | 明細でこの項目は必須 | (使用しない) |
3.3.8. 出力情報(キーワード座標指定)
※キーワード座標指定は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:指定した項目に値のないレコードは出力しない |