Skip to main content
テスト画像を解析すると、Total Quantity field と Total Amount field は Footer.kwTotal という名前がある場合にのみ現れ、同じ高さに配置されていることが分かります。 Total Quantity field と Total Amount field を検出するには、Character String 要素を使用します。両方に共通する検索制約を設定するため、Group 要素である grTotal を作成します。

grTotal グループ要素を作成する

1

Group 要素を作成する

Footer 要素内に Group 要素を作成し、grTotal と命名します。
2

グループをオプションにする

名前が存在しない場合にサブ要素の検索を停止するには、オプション要素 を選択します。詳細については、Group 要素の Optional プロパティを参照してください。
3

検索制約を追加する

Advanced タブをクリックします。Total Quantity および Total Amount field は Footer.kwTotal 名とともにのみ出現するため、Advanced pre-search relations field で次の追加の検索制約を設定します。Footer.kwTotal 要素が検出されなかった場合は、object を検索しないようにします。FlexiLayout languageでは、次のように指定します。

TotalQuantity 要素を作成する

Total Quantity field は、Total 行と Quantity 列の交点にあります。最初の制約はすでに Group 要素レベルで設定されています。2 番目の制約を設定するには、先に検出された列名を参照要素として使用します。
1

Character String 要素を作成する

grTotal 要素内に、Character String タイプの要素を作成し、TotalQuantity と命名します。
2

文字数を設定する

Character String タブをクリックします。Character count field で、次のファジー区間を指定します:{-1, 1, 10, INF}。これは文字列の長さを推定するもので、値の範囲は 1 ~ 10 と仮定します。この範囲外の仮説にはペナルティが課されます。要素のその他のプロパティはデフォルト値のままにします。
3

位置制約を設定する

Relations タブをクリックします。Total Quantity field は常に Footer.kwTotal の名前キーワードと同じ高さか、わずかに下に配置されるため、次の検索制約を設定します:
  • Footer.kwTotal 要素のOffset = -200、Reference boundary = Bottom
  • Footer.kwTotal 要素のOffset = -20、Reference boundary = Top
オフセット値を選択する際は、pre-recognition で検出された隣接オブジェクトの幾何学的プロパティ (サイズと境界) を分析してください。分析できない場合は、試行錯誤で値を選択します。
4

列制約を追加する

Advanced タブをクリックします。Total Quantity field は任意ですが、存在する場合は常に Quantity 列とともに、その列名の下に表示されます。Advanced pre-search relations field で、次の追加の検索制約を設定します:TableHeader.kwQuantity 要素が検出された場合にのみオブジェクトを検索し、列名の左右の境界からそれぞれ 50 ドット以内だけを検索します。FlexiLayout language では、次のように指定します:
5

マッチングを確認する

FlexiLayout をテスト画像とマッチングし、FlexiLayout Studio が要素が存在するすべての画像でその要素を検出することを確認します。
6

ブロックのソース要素を設定する

TotalQuantity ブロックの位置を指定するには、Source element を選択し、参照ボタン をクリックして、TotalQuantity 要素をソース要素として選択します。

TotalAmount 要素を作成する

Total Amount field は、Total 行 (テーブルのフッター) と Total 列の交点にあります。最初の制約はすでに Group 要素レベルで設定されています。2 つ目の制約を設定するには、あらかじめ検出された列名を参照要素として使用します。
1

Character String 要素を作成する

grTotal 要素内に、Character String タイプの要素を作成し、TotalAmount という名前を付けます。
2

文字数を設定する

Character String タブをクリックします。Character count field で、次のファジー区間を指定します:[-1, 1, 20, 2147483647]。これは文字列の長さを推定するもので、値の範囲は 1~20 とします。この範囲外の仮説にはペナルティが課されます。要素のその他のプロパティはデフォルト値のままにします。
3

位置制約を設定する

Relations タブをクリックします。Total Amount field は常に Footer.kwTotal の名前キーワードと同じ高さにあるため、次の検索制約を設定します。
  • Footer.kwTotal 要素のOffset = -20、Reference boundary = Bottom
  • Footer.kwTotal 要素のOffset = -20、Reference boundary = Top
4

列制約を追加する

Advanced タブをクリックします。Total Amount field は、Total 列名のすぐ下 (わずかにずれる場合があります) で、Unit Price 列と Sales 列の間に表示されます。Advanced pre-search relations field で、次の 2 つのケースを対象とする追加の検索制約を設定します。
  • TableHeader.kwTotal が検出された場合、その右境界の右 70 ドット以内かつ左境界の左 50 ドット以内でオブジェクトを検索します。
  • それ以外で、TableHeader.kwUnitPriceTableHeader.kwSales が検出された場合、TableHeader.kwSales の左境界の右 40 ドット以内、かつ TableHeader.kwUnitPrice の右境界より右側でオブジェクトを検索します。どちらのケースにも該当しない場合は、オブジェクトを検索しません。
FlexiLayout language で、次のように指定します。
オフセット値を選択する際は、pre-recognition 中に検出された隣接オブジェクトの幾何学的プロパティ (サイズおよび境界) を分析してください。それが難しい場合は、試行錯誤で値を選択してください。
5

マッチングを確認する

テスト画像に対して FlexiLayout をマッチングし、FlexiLayout Studio が要素が存在するすべての画像でその要素を検出することを確認します。
6

ブロックのソース要素を設定する

TotalAmount ブロックの位置を指定するには、Source element を選択し、Browse button をクリックして、ソース要素として TotalAmount 要素を選択します。