Skip to main content
画像を確認すると、次のことがわかります。
  • 一部のドキュメントでは、請求日 field は field 名の右側にあり、別のドキュメントでは field 名の下にあります。そのため、検索領域を field 名の右側と下側の矩形に制限します。
  • 日付を検索するには Date 要素を使用します。さらに、次の条件を指定します。field 名が検出されない場合は、field データを検索しません。
  • 日付は認識精度が低くなることが少なくありません。これは、スキャン品質の問題や無効な日付フォーマットなどが原因である可能性があります。そのため、Date 要素で日付が見つからなかった場合に備えて、追加の Character String 要素を指定します。
すべての要素に共通する設定を指定するため、型が Group の要素を作成します。 型が Group の grDate 要素を作成するには、次のようにします。
  1. InvoiceHeader 要素内に、型が Group の要素を作成し、名前を grDate にします。
  2. Advanced タブをクリックし、追加の検索制約を指定します。検索領域を、field 名の右側にある 1 つの矩形と、field 名の下側にオフセットを付けた 1 つの矩形からなる矩形の配列に制限します。FlexiLayout language では、この制約は次のように記述できます。
InvoiceDate 要素を作成するには、次のようにします。
  1. InvoiceHeader.grDate 要素内に、型が Date の要素を作成し、名前を InvoiceDate にします。
  2. Date タブをクリックします。
  3. InvoiceDate 要素で使用可能なすべての日付フォーマットを指定します。
ABBYY FlexiLayout Studio の InvoiceDate 要素のプロパティにある Date タブのスクリーンショット。請求日 field に対して指定された日付フォーマットの一覧が表示されています。
  1. 一部の画像では、請求日 field の検索領域に、すでに検出されている kwInvoiceNumber 要素と InvoiceNumber 要素が含まれることがあります。プログラムがこれらの要素の値を 請求日 field の仮説として扱わないよう、これらの要素を検索領域から除外します。
    • Exclude regions of elements field の横にある Add… ボタンをクリックします。
    • 要素のリストから kwInvoiceNumber を選択します。
    • OK をクリックします。すると、Exclude regions of elements field に文字列 SearchElements.InvoiceHeader.kwInvoiceNumber が表示されます。
要素 SearchElements.InvoiceHeader.InvoiceNumber についても、これらの操作を繰り返します。
  1. Advanced タブをクリックします。
  2. 請求日 field は必須要素ではありません。ただし、ドキュメントに日付 (請求日 field) が含まれている場合、ドキュメント上には必ず対応する field 名 (前述の kwInvoiceDate 要素で記述) が存在します。したがって、Advanced pre-search relations で追加の検索条件を指定できます。kwInvoiceDate が検出されている場合にのみ画像オブジェクトを検索します。FlexiLayout language では、この条件は次のように記述できます。
  3. InvoiceFooter 要素を一時的に除外し、FlexiLayout を match します。
画質の低い画像では、認識結果が Date 要素の標準 parameters のいずれにも適合しないことがあります。そのため、より緩やかな条件で請求日 field を検索する代替要素を追加します。 InvoiceDateAsString 要素を作成するには、次のようにします。
  1. InvoiceHeader.grDate 要素内に、型が Character String の要素を作成し、InvoiceDateAsString という名前を付けます。
  2. Character String タブをクリックします。
  3. アルファベットを指定します。 ,-./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
  4. アルファベットに含まれない文字の割合を 30% に設定します。
  5. Character count フィールドで、文字列の長さに対してファジー区間 {-1, 8, 14, INF} を指定します。想定される値は 8~14 文字の範囲に収まるものとします。この区間外の仮説にはペナルティが適用されます。
  6. Max space length を 20 に設定します。これにより、テキスト文字列内のスペースの最大長が 20 ドットに制限されます。
  7. その他の要素のプロパティは、デフォルト設定のままにします。
  8. Advanced タブをクリックします。
  9. InvoiceDateAsString 要素は、画像上で InvoiceDate 要素が検出されなかった場合にのみ検索する必要があるため、Advanced pre-search relations フィールドに次の条件を指定します。InvoiceDate 要素が検出されなかった場合にのみ、画像オブジェクトを検索します。FlexiLayout language では、この条件は次のように記述できます。
  10. InvoiceDate に対しても、前の手順と同様の追加条件を指定します。kwInvoiceDate 要素が検出された場合にのみ画像オブジェクトを検索し、kwInvoiceDate 要素に最も近い画像オブジェクトを検索します。FlexiLayout language では、この条件は次のように記述できます。
  11. InvoiceDate ブロックの位置を、検出された InvoiceDate または InvoiceDateAsString 要素の rectangular region を上下左右に 5 ドットずつ拡張した領域として指定します。これを行うには、Expression オプションを選択し、次の式を入力します。