メインコンテンツへスキップ
TotalAmount field を、その名前の右側かつ下側で検索します。 TotalAmount 要素を作成するには:”
  1. SumGroup 要素で、Character String タイプの要素を作成し、TotalAmount という名前を付けます。
  2. Character String タブをクリックします。
  3. アルファベットを指定します。 ’,-.0123456789OSZosz
  4. アルファベット以外の文字の Percentage を 30% に設定します。
  5. Character count field で、文字列の長さを評価する次のファジー区間 {-1, 1, 20, INF} を指定します。想定されるすべての値が 1 ~ 20 文字の範囲に収まるものとします。この範囲外の仮説にはペナルティが適用されます。
  6. 追加の制約は設定せず、デフォルト設定のままにします。
  7. Search Constraints タブをクリックし、kwTotal 要素の仮説の Region を検索領域から除外します。
  8. Advanced タブをクリックします。
  9. Advanced pre-search relations で追加の検索条件を指定します。kwTotal の名前が検出された場合は、検索領域を矩形の配列として指定します。1 つは field 名の右側、もう 1 つは field 名の下側にオフセット付きで配置します。それ以外の場合は、画像オブジェクトを検索しません。FlexiLayout language では、この条件は次のように記述できます。
    If not kwTotal.IsNull Then
    // field 名 kwTotal が検出された場合
    {
    WholeWordMOde: true;
    MaxGapInLine: 30dt;
    RectArray DataRegion;
    Let r1= Rect (kwTotal.Rect.Right, kwTotal.Rect.Top -20dt, kwTotal.Rect.Right + 1800dt, kwTotal.Rect.Bottom + 50dt);
    // 検索領域を field 名の右側の矩形に制限します。
    Let r2 = Rect (kwTotal.Rect.Left - 100dt, kwTotal.Rect.Bottom, kwTotal.Rect.Right + 100dt, kwTotal.Rect.Bottom + 200dt);
    // 検索領域を field 名の下側の矩形に制限します。
    DataRegion = RectArray (r1);
    DataRegion.Add (r2);
    RestrictSearchArea (DataRegion);
    }
    else Dontfind();
    // それ以外の場合は、オブジェクトを検索しません。
    
  10. field 値の検索領域は 2 つの矩形に制限されます。1 つは field 名の右側、もう 1 つは field 名の下側です。field 値が field 名の右側にある場合、多くの画像では field 名の下にも何らかのテキストがあります。多くの画像では、この余分なテキストが TotalAmount field の検索領域に含まれるため、プログラムはこのテキストに対する仮説を作成します。この仮説の Quality に影響を与えるため (つまり Quality を下げるため) 、Advanced post-search relations で追加チェックを指定します。field 名より下にある field 値ほど、ペナルティが大きくなります。FlexiLayout language では、このチェックは次のように記述できます。
    If not IsNull then
    {FuzzyQuality: 400dt - width, {-50000,0,0, 50000}*dt;
    // 幅 400 ドットの Region を持つ要素の仮説は最大の Quality になります
    if width < 50dt then Quality: 0;
    // 50 ドット未満の要素は考慮されません
    if Top > kwTotal.Rect.Top then
    { FuzzyQuality: Top - kwTotal.Rect.Top, {0,0,0, 20000}*dt;
    }
    }
    // このチェックは、差が大きいほどペナルティも大きいことを意味します。
    
    ページ上のオブジェクトの位置と、それらの間の距離を表すために、2D 座標系を使用します。(0, 0) の点は画像の左上隅にあります。横軸は左から右、縦軸は上から下の方向です。
  11. 要素が存在するすべての画像でプログラムがその要素を確実に検出できることを確認するため、画像に対して FlexiLayout をマッチングします。
  12. TotalAmount block の位置を、TotalAmount 要素の矩形領域を縦横に 5 ドット拡張した矩形領域として指定します。これを行うには、Expression を選択し、次の式を指定します。
    Rect outputRect;
    outputRect = SumGroup.TotalAmount.Rect;
    IsNull = SumGroup.TotalAmount.IsNull;
    OutputRegion = outputRect;
    OutputRegion.Inflate (5dt, 5dt);