- ヘッダー – Reference 列と Designation 列の名前にはキーワードを使用し、数量、単価、合計金額 の各列名には、前に記述した補助 要素 を使用します。
- フッター – 前に記述したキーワード 要素 を使用して検出します。
- 検索範囲 – Sales 列名で右側の検索範囲を制限します。
InvoiceTable 要素を作成する
1
テーブル要素を作成する
テーブル 型の要素を作成し、InvoiceTable と名付けます。
2
テーブルブロックを選択します
Columns タブ、Select の順にクリックし、この要素で検出するブロックとして前述の InvoiceTable ブロックを指定します。詳細については、Step 3 を参照してください。
3
Reference列と品名列を設定する
Reference 列を選択し、プロパティ… をクリックします。キーワード Reference でこの列名が検出されるため、デフォルト値はそのままにします。品名 列についても同様に操作します。
4
Quantity 列を構成する
Quantity 列を選択し、プロパティ… をクリックします。この列名を検索するには、先ほど検出した
をクリックして、![ABBYY FlexiLayout StudioのQuantity列の[プロパティ]ダイアログ。[検出した要素を列名として使用]が選択され、SearchElements.TableHeader.kwQuantityに設定されています。](https://mintcdn.com/abbyy/r-nfa7jujx5b9gKX/images/flexi-capture/fls/tutorial3_26_1.png?fit=max&auto=format&n=r-nfa7jujx5b9gKX&q=85&s=bbf25b0bc0343d5c5c77393f46a0f892)
TableHeader.kwQuantity 要素を使用します。検出した要素を列名として使用 を選択し、TableHeader.kwQuantity 要素を選択します。![ABBYY FlexiLayout StudioのQuantity列の[プロパティ]ダイアログ。[検出した要素を列名として使用]が選択され、SearchElements.TableHeader.kwQuantityに設定されています。](https://mintcdn.com/abbyy/r-nfa7jujx5b9gKX/images/flexi-capture/fls/tutorial3_26_1.png?fit=max&auto=format&n=r-nfa7jujx5b9gKX&q=85&s=bbf25b0bc0343d5c5c77393f46a0f892)
5
UnitPrice 列を設定する
UnitPrice 列を選択し、プロパティ… をクリックします。前に検出された
をクリックして、![ABBYY FlexiLayout Studio の[UnitPrice 列のプロパティ]ダイアログ。[検出された要素を列名として使用]が選択され、SearchElements.TableHeader.kwUnitPrice が設定されています。](https://mintcdn.com/abbyy/r-nfa7jujx5b9gKX/images/flexi-capture/fls/tutorial3_26_2.png?fit=max&auto=format&n=r-nfa7jujx5b9gKX&q=85&s=b659e5d615579177f79b061be15ed775)
TableHeader.kwUnitPrice 要素を使用します。検出された要素を列名として使用 を選択し、TableHeader.kwUnitPrice 要素を選択します。![ABBYY FlexiLayout Studio の[UnitPrice 列のプロパティ]ダイアログ。[検出された要素を列名として使用]が選択され、SearchElements.TableHeader.kwUnitPrice が設定されています。](https://mintcdn.com/abbyy/r-nfa7jujx5b9gKX/images/flexi-capture/fls/tutorial3_26_2.png?fit=max&auto=format&n=r-nfa7jujx5b9gKX&q=85&s=b659e5d615579177f79b061be15ed775)
6
合計金額列を設定する
合計金額列を選択し、**プロパティ…**をクリックします。先に検出された
をクリックして、
TableHeader.kwTotal要素を使用します。検出された要素を列名として使用を選択し、TableHeader.kwTotal要素を選択します。7
列の順序に関するルールを追加する
Order タブをクリックします。対象の列の間に他の列 (たとえば Unit) が含まれる場合がありますが、対象の列は常に Reference、Designation、Quantity、Unit Price、Total の順に表示されます。Rules for column order を選択し、Add… をクリックして、次の順序を指定します:
Reference << Designation << Quantity << Unit Price << Total。
8
ルール内の列を並べ替える
Edit Column Order Rule ダイアログで、列を Reference、品名、Quantity、UnitPrice、合計金額 の順に Selected columns リストへ移動します。

9
header を構成する
Header タブをクリックします。ヘッダーは必要ですが、検索条件を設定する必要はないため、デフォルト値のままにします。![ABBYY FlexiLayout Studioの[Properties of SearchElements.InvoiceTable]ダイアログにある[Header]タブのスクリーンショット。[Look for header]と[Header is optional]が選択され、検索オプションはデフォルト値のままです。](https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial3_26_5.png?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=bb84010302437fe5fe0423ab877b9fcb)
![ABBYY FlexiLayout Studioの[Properties of SearchElements.InvoiceTable]ダイアログにある[Header]タブのスクリーンショット。[Look for header]と[Header is optional]が選択され、検索オプションはデフォルト値のままです。](https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial3_26_5.png?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=bb84010302437fe5fe0423ab877b9fcb)
10
フッターを設定する
フッター タブをクリックします。フッターを検出するには、先に検出した
をクリックして、
Footer.kwFooter 要素を使用します。Use found element as footer を選択し、Footer.kwFooter 要素を選択します。
11
マスター列を設定する
Rows タブをクリックします。一部の列には複数行にわたるエントリが含まれる場合があるため、行を検出するためのマスター列を指定します。マスター列を使用して行を検出する を選択し、
をクリックして、次の優先順位でマスター列を設定します。![ABBYY FlexiLayout Studio の Properties of SearchElements.InvoiceTable ダイアログの Rows タブ。[マスター列を使用して行を検出する]が選択され、Total、Quantity、UnitPrice がマスター列として表示されています。](https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial3_26_7.png?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=444df4f217866eba9a7be6842251d490)
- 合計金額 – 常にデータが含まれ、各テーブルの行が1つのエントリに対応するため、主要列として使用します。
- Quantity – FlexiLayout Studio が 合計金額 を検出できない場合に使用する第2列です。
- Unit Price – 合計金額 も Quantity も検出できない場合に使用する第3列です。
![ABBYY FlexiLayout Studio の Properties of SearchElements.InvoiceTable ダイアログの Rows タブ。[マスター列を使用して行を検出する]が選択され、Total、Quantity、UnitPrice がマスター列として表示されています。](https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial3_26_7.png?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=444df4f217866eba9a7be6842251d490)
12
テーブルの位置を制約する
Relations タブをクリックします。対象の列は Sales 列名の左側にわずかな間隔を空けて配置されているため、次の制約を設定します。
TableHeader.kwSales要素の左側、Offset = -40、Reference boundary = Left
13
Quantity列を照合して確認する
FlexiLayout をテスト画像に対してマッチングします。FlexiLayout Studio は、テーブル要素が存在するすべての画像でその要素を検出します。一部の画像では、Quantity 列に前の列の不要なアーティファクトも含まれています。有用なデータをノイズから分離するには、その列に含められるコンテンツの型を指定します。
14
Quantity のコンテンツタイプを設定する
InvoiceTable 要素の Properties ダイアログを開き、Columns タブをクリックします。Quantity 列の Properties ダイアログを開き、Check content type を選択して、Type of column content ドロップダウンリストから Number を選択します。

15
列を確認する
FlexiLayout をテスト画像にマッチングし、Quantity 列に不要なデータが含まれていないことを確認します。
16
ブロックのソース要素を設定する
InvoiceTable ブロックの位置を指定するには、ソース要素を選択し、
をクリックして、InvoiceTable 要素をソース要素として指定します。
