##ラベルのない項目や、ラベルを誤読してしまう項目を取得したい場合
IQ Botは基本的にはラベルと値の位置関係をベースに取得項目のマッピングを設定していきますが、実際に業務で使う帳票の全項目に必ずラベルがあるとは限りません。
例えば請求書の請求元社名や住所などは、ラベルなしに書かれている場合がほとんどです。
また、画質の粗い帳票で、ラベル部分に背景色が濃く入っている場合など、ラベルの誤読が発生し、しかも誤読のパターンが予測できないという場合もあります。
このような項目をIQ Botで取得する方法は2通りあります。
###対処方法①:仮のラベルを指定する
対処方法その1は、取得したい項目との位置関係が決まっている文字列を仮のラベルとして指定するというやりかたです。
例えば以下の図は、「請求書」というタイトルの文字を社名をとるための仮のラベルとして指定している例です。
####仮のラベルを指定する場合の注意事項
仮のラベルを指定する場合、とりたい項目との位置関係が決まっていて、かつ、安定的にとれる文字列をラベルとして選択することが重要です。
たとえば上記の図で、「請求書」という文字から見て、社名の書かれてくる場所が必ず選択された範囲の中に入ってくるとわかっている場合は、「請求書」をラベルとしてOKです。
ですが、たとえば社名の上に書いてある住所の行数によって社名の位置が上下するような場合はどうでしょうか。
これはつまり、住所の行数によって「請求書」の文字と社名の位置関係が変わってしまうということです。
そのような場合は、たとえば社名のすぐ上にある「TEL」の文字をラベルとして使う方が妥当です。
###対処方法②:固定座標的に指定する
対処方法その2は、項目を固定座標的に取得するやりかたです。
以下のように、ラベルを指定せず単純に「フィールド値」の範囲だけを指定すると、指定した範囲を固定座標的に取得することができます。
……えっ?! ラベルの指定って必須じゃないんですか???
じゃあ、他の項目もラベル指定しないで値の場所だけ指定すれば楽じゃん!!!
……と思った方は、下記の注意事項をよく読んでください。
####固定座標的に指定する場合の注意事項
上記の「ラベルを指定しない」やりかたで値の場所を選択すると、それはつまり「画像の中で、値として選択した範囲の場所を固定座標で取得する」という意味合いになります。
固定座標という言い方がわかりにくければ、「固定された場所」と言い換えてもいいです。
スキャンのときに位置がずれてしまったりしても、あくまで画像上の固定の位置から項目を取ってこようとするので、この点には注意が必要です。
個人的には、帳票上で位置が固定された項目であっても、仮のラベルとして使える項目がある限りはラベルを指定する方がおすすめです。
##まとめ
- IQ Botでラベルのない項目を取得するには、2通りのやりかたがあります。
- ① 仮のラベルを指定する
- ② 固定座標で取得する
- よほどの理由がない限りは、①がおすすめです。