3.3. フォーマット定義ファイル

帳票の位置を合わせるための情報、出力ファイルに記載する情報、OCRで読み取る位置の情報はフォーマット定義ファイルで設定します。
ファイルはタブ区切りで記載します。
1列目のセクションIDの値によって、2列目以降の記載方法が異なります。

項目名書式説明
セクションID0位置合わせ情報
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

キーワード、型指定、キーワード座標指定がある場合

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セクションID0必須 
2width整数必須ベースとなる画像サイズの幅
3height整数必須ベースとなる画像サイズの高さ
4x1整数必須ベースとなる矩形の左上の点のx座標
5y1整数必須ベースとなる矩形の左上の点のy座標
6x2整数必須ベースとなる矩形の右上の点のx座標
7y2整数必須ベースとなる矩形の右上の点のy座標
8x3整数必須ベースとなる矩形の左下の点のx座標
9y3整数必須ベースとなる矩形の左下の点のy座標

※位置合わせ情報は省略可です。省略した場合、位置合わせは行われず絶対座標で抽出します。

■位置合わせイメージ

画像内の最大の矩形を検知し、左上・右上・左下の3点を基点に位置を合わせます。

3.3.2. 出力情報(固定値)

No.項目名書式必須説明
1セクションID1必須 
2シーケンス番号整数 (使用しない)
3項目名文字列必須出力情報に記載する項目名
4文字列必須出力する文字列
5グループID文字列グループID(明細・表の名前)を指定
アウトプット時に使用
6レコードID整数レコードID(明細の行番号)を指定
アウトプット時に使用

3.3.3. 出力情報(座標指定)

No.項目名書式必須説明
1セクションID2必須 
2シーケンス番号整数 (使用しない)
3グループID文字列 グループID(明細・表の名前)を指定
アウトプット時に使用
4レコードID整数 レコードID(明細の行番号)を指定
アウトプット時に使用
5x整数必須読取範囲の基準となる座標(左上の点)のx座標
6y整数必須読取範囲の基点となる座標(左上の点)のy座標
7width整数必須読取範囲の幅
8height整数必須読取範囲の高さ
9type0, 1必須0 : 活字
1 : 手書き
手書きはコロン(:)区切りで項目ごとにOCRモデルを指定する
指定がない場合、ControlPanelの手書き用OCRモデルを使用する
指定例)1:number
10length0以上の整数必須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セクションID3 または 4必須3 : テンプレート画像との差分で判定
4 : レ点で判定
2シーケンス番号 (使用しない)
3グループID文字列 グループID(明細・表の名前)を指定
アウトプット時に使用
4レコードID整数 レコードID(明細の行番号)を指定
アウトプット時に使用
5x整数必須読取範囲の基準となる座標(左上の点)のx座標
6y整数必須読取範囲の基点となる座標(左上の点)のy座標
7width整数必須読取範囲の幅
8height整数必須読取範囲の高さ
9type0必須 
10length0~1000必須(セクションID=3のときのみ)
テンプレート領域に対する黒領域の割合(%)
11フィールドID文字列必須項目名

3.3.5. 出力情報(バーコード)

No.項目名書式必須説明
1セクションID6必須
2シーケンス番号(使用しない)
3グループID文字列グループID(明細・表の名前)を指定
4レコードID整数レコードID(明細の行番号)を指定
5x整数必須読取範囲の基準となる座標(左上の点)のx座標
6y整数必須読取範囲の基点となる座標(左上の点)のy座標
7width整数必須読取範囲の幅
8height整数必須読取範囲の高さ
9type文字列バーコードの形式を指定
(未指定の場合 NW7)
10length(使用しない)
11ItemName文字列必須項目名

3.3.6. 出力情報(キーワード)

No.項目名書式必須説明
1セクションID7必須
2シーケンス番号(使用しない)
3グループID文字列グループID(明細・表の名前)を指定
4レコードID(使用しない)
5x(使用しない)
6y(使用しない)
7width(使用しない)
8height(使用しない)
9type0必須0を指定すると「キーワード」
10length整数必須抽出する値の数
0は制限なし
11項目名文字列必須項目名
12マージン拡張(左)整数指定した値分(ピクセル)、左にマージンを拡張する
13マージン拡張(上)整数指定した値分(ピクセル)、上にマージンを拡張する
14マージン拡張(右)整数指定した値分(ピクセル)、右にマージンを拡張する
15マージン拡張(下)整数指定した値分(ピクセル)、下にマージンを拡張する
16キーワードと値の距離整数キーワードと値の距離、指定した値より離れている場合は抽出対象外とする
0の場合は制限なし
17マージンの自動拡張0, 10:自動拡張なし
1:キーワードが矩形内にあるときキーワードの幅、高さを矩形に自動拡張
18個別読取結果変換リスト文字列個別読取結果変換リストを指定する
19キーワード文字列必須取得したい値のキーワード文字列を記載する
キーワードはセミコロン(;)区切りで複数設定できる
20方向U, D, L, R, RD必須U:上、D:下、L:左、R:右、RD:右または下
21正規表現文字列記載した場合、正規表現にマッチする値のみ抽出する
22許容する文字の距離整数キーワード一致判定で何文字の誤読を許容するかの値
キーワードの文字数がこの値より少ない場合は無効
23キーワードの部分一致0, 10:キーワード検索はコンポーネントと完全一致で判定
1:部分一致で判定
24明細でこの項目は必須0, 10:指定した項目に値がなくても出力する
1:指定した項目に値のないレコードは出力しない

3.3.7. 出力情報(型指定)

No.項目名書式必須説明
1セクションID7必須
2シーケンス番号(使用しない)
3グループID文字列グループID(明細・表の名前)を指定
4レコードIDレコードID(明細の行番号)を指定
5x(使用しない)
6y(使用しない)
7width(使用しない)
8height(使用しない)
9type1必須1を指定すると「型指定」
10length整数必須抽出する値の数
0は制限なし
11項目名文字列必須項目名
12マージン拡張(左)(使用しない)
13マージン拡張(上)(使用しない)
14マージン拡張(右)(使用しない)
15マージン拡張(下)(使用しない)
16キーワードと値の距離(使用しない)
17マージンの自動拡張(使用しない)
18個別読取結果変換リスト文字列個別読取結果変換リストを指定する
19キーワード(使用しない)
20方向(使用しない)
21正規表現文字列必須正規表現にマッチする値のみ抽出する
22許容する文字の距離(使用しない)
23キーワードの部分一致(使用しない)
24明細でこの項目は必須(使用しない)

3.3.8. 出力情報(キーワード座標指定)

No.項目名書式必須説明
1セクションID7必須
2シーケンス番号(使用しない)
3グループID文字列グループID(明細・表の名前)を指定
4レコードID(使用しない)
5x整数必須キーワードとみなす範囲の左上のx座標(ピクセル)
6y整数必須キーワードとみなす範囲の左上のy座標(ピクセル)
7width整数必須キーワードとみなす範囲の幅(ピクセル)
8height整数必須キーワードとみなす範囲の高さ(ピクセル)
9type2必須0を指定すると「キーワード座標指定」
10length整数必須抽出する値の数
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, 10:指定した項目に値がなくても出力する
1:指定した項目に値のないレコードは出力しない