- テーブルの ヘッダー – すでに検出されている補助要素を使って列名を指定します。
- テーブルの フッター – 最終部分の開始を識別する InvoiceFooter グループの、すでに検出されている必須の Paragraph 要素を使用します。この要素は、テーブルの最下部に最も近い要素として定義済みです。
- テーブルの 検索領域 – ほかの用途では不要な最後の列 Sales の名前を使って、右側の検索領域を制限します。
InvoiceTable 要素を作成する
1
テーブル要素を作成する
SearchElements ツリーで、テーブル要素を作成し、InvoiceTable と命名します。
2
テーブルブロックを選択します
Columns タブをクリックし、次に Select をクリックして、Step 3 で作成した InvoiceTable ブロックを検索対象として選択します。
3
列名を指定する
テーブル列の検索パラメーターを指定します。各列をリストで選択し、プロパティ… をクリックして 検出された要素を列名として使用 を選択します。次に、
をクリックし、先ほど検出した要素を選択します。
4
列順序を設定する
Order タブをクリックします。検索対象の列の間に他の列 (例:ExtraQtyTag) が含まれる場合でも、列順序は常に固定 (Designation、Unit Price、Total の順) であるため、Rules for column order を選択し、Add… をクリックして、列を次の順序で追加します:
Designation << Unit Price << Total。5
ヘッダーのデフォルト設定をそのまま使用する
Header タブをクリックします。テーブルヘッダーは必要ですが、追加の制約はないため、デフォルト値のままにします。
6
テーブルフッターを設定する
フッター タブをクリックします。テーブルの末尾部分には、先ほど検出した
をクリックして、
InvoiceFooter.Paragraph 要素を使用します。Use found element as footer オプションを選択し、InvoiceFooter.Paragraph 要素を選択します。7
行のマスター列を設定する
行タブをクリックします。一部の列のセルには複数行のデータが含まれる場合があるため、行を区切るためのマスター列を指定し、マスター列を使用して行を検出するを選択します。まず、常にデータが含まれ、テーブルの各レコードに対して1行のデータがある合計金額列を指定します。この列が画像上で検出されない場合は、行を区切るための次の候補として単価列と数量列を指定します。
ボタンを使用して、これらの列を選択します。![ABBYY FlexiLayout Studio の InvoiceTable テーブル要素のプロパティにある[行]タブのスクリーンショット。[マスター列を使用して行を検出する]が選択され、合計金額、単価、数量の各列が行を区切るためのマスター列として指定されています。](https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial4_8_3_.PNG?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=d99574eef5ef1d5016f41d5be1001b5a)
8
右側のテーブルを限定する
リレーション タブをクリックします。対象のテーブル列は Sales 列名の左側にあるため、次の検索制約を追加します。
TableHeader.kwSales要素の左側、オフセット = 0。
9
Quantity 列を照合して確認する
テスト画像に対してFlexiLayoutをマッチングします。FlexiLayout Studioはすべての画像でテーブル要素を正しく検出しますが、一部の画像では、Quantity列に前の列の余分なテキストが含まれています。Quantity列の有効なデータを不要なデータと区別するため、この列のコンテンツタイプを指定します。
10
Quantity のコンテンツタイプを設定する
InvoiceTable テーブル要素のプロパティダイアログを開きます。列タブをクリックし、Quantity列の**プロパティ…**ダイアログを開いて、コンテンツの型を確認オプションを選択します。列コンテンツの型で、Numberを選択します。![ABBYY FlexiLayout Studio の Quantity 列のプロパティを示すスクリーンショット。[コンテンツの型を確認]オプションが選択され、列コンテンツの型として Number が選択されています。](https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial4_8_4_.PNG?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=c646cd956bf3591f3505ebe3395c886e)
11
通貨のコンテンツタイプを設定します
FlexiLayoutを再度マッチングし、Quantity 列に必須項目として数字のみが含まれていることを確認します。同様に、UnitPrice 列と Total 列の Currency の内容を指定します。
12
ブロックのソース要素を設定する
InvoiceTable ブロックの位置を指定するには、Source element オプションを選択し、
をクリックして、ソース要素に InvoiceTable を指定します。
