
テーブルブロックを選択する
各 Table 要素は、検出対象の テーブルブロック に対応している必要があります。テーブルブロック を選択するには、Select ボタンをクリックし、現在の Table 要素に対応する テーブルブロック を選択します。そのブロックのすべての列の一覧が List1 フィールドに表示されます。各列のプロパティを設定します。プログラムは、列を検索するときにこれらのプロパティを検索条件として使用します。 要素の プロパティ ダイアログ の Columns タブに表示される列の一覧は、このダイアログでは編集できません。一覧を編集するには、ブロックの プロパティ ダイアログ を開きます。 要素と対応するブロックがどのように関連しているかを理解するために、次の点を考えてみてください。テーブルブロック は FlexiLayout とデータ抽出アプリケーションの間のインターフェイスとして機能し、Table 要素はそのインターフェイスの実装です。Table 要素には、テーブルブロック を見つけるための指示が含まれています。どのインターフェイスに対しても、複数のプログラム実装を作成できます。同様に、1 つの テーブルブロック に対して複数の Table 要素を作成できますが、その逆はできません。 要素の Columns タブで テーブルブロック を選択すると、プログラムは既定で テーブルブロック 内の列の名前と順序を使用して、各列の検索条件と列の順序を設定します。詳細については、テーブル列の検索条件を設定する および テーブル列の順序 を参照してください。テーブルの列を無効にする
FlexiLayout をテストする際に、FlexiLayout から列を完全に削除せずに、その列を無効にする必要が生じることがあります。列を無効にしても、FlexiLayout 内のその列に関する情報はすべて保持されますが、FlexiLayout のテスト時にはその列を無視するようプログラムに指示されます。列を無効にするには、List1 field でその列を選択し、Disable をクリックします。すると、列名の横にあるチェック マークが外れます。列を有効にするには、リストでその列名を選択し、Enable をクリックします。列を無効にすると、Order タブ上のすべての順序リストでも自動的に無効になります。
テーブル列の検索条件を設定する
テーブル列の検索条件は、列のプロパティダイアログで設定します。 列のプロパティダイアログを開くには、List1フィールドで列を選択し、フィールドの横にある**プロパティ…**ボタンをクリックします。![ABBYY FlexiLayout Studio の[列のプロパティ]ダイアログのスクリーンショット。ここでテーブル列の検索条件を設定します。](https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Column_prop_dlg.gif?fit=max&auto=format&n=fmgRWFNHKYN2MLSg&q=85&s=d57266fec1e2c9eab57e94b335fd2023)
キーワードを使用して列名を検出する
キーワードで列名を検出するには、Detect by keyword in name オプションを選択します。下のfieldに、テスト画像上の列名に含まれるキーワードまたは語句を入力します。各キーワードを入力したら Enter キーを押します。 列名の検索時に完全な単語だけを使用するには、Whole words only オプションを選択します。 幅の狭い列では、名前内の単語が次の行に折り返されることがよくあります。そのような列名を検出するには、Multi-line name オプションを選択します。 同じ列でも画像によって名前が異なることがあるため、キーワードのリストには実際に現れる可能性のあるすべての候補を含める必要があります。ただし、画像によってはその列に名前がまったくない場合や、列自体が存在しない場合もあります。このため、列名は常に任意です。つまり、FlexiLayout を画像とマッチングする際に、列名が見つかる必要はありません。キーワードが見つからない場合 (実際に存在しない場合、または画質が Optical Character Recognition (OCR) に不十分な場合) は、仮説にペナルティが適用されます。つまり、その品質は、未検出のキーワードに対するヌル仮説の品質で乗算されます。仮説に対するペナルティは、Missing keyword penalty field で設定します。既定値は 0.97 です。別の要素の領域を使用して列名を検出する
すでに見つかっている要素を使って、列名を見つけることができます。これにより、キーワードに追加の検索条件を設定できます。また、このメソッドでは、Static Text だけでなく、Character String、Inverted Text、または単なる領域を検索対象にすることもできます。 すでに見つかっている要素を使って列名を見つけるには、Use found element as column name オプションを選択し、列名の検出に使用する要素は、FlexiLayout ツリーで対象の Table 要素より上に配置されている必要があります。複数ページにまたがるテーブルを記述する場合は、列名の検索に繰り返し要素を使用します。複数ページにまたがるテーブルの詳細については、複数ページにまたがるテーブルを検出するを参照してください。
列が正しく検出されているかどうかを確認する
列を検索する際、プログラムは列名に関する情報だけでなく、列の内容に関する情報も使用します。そのため、特定の列に特定の種類のデータが含まれていることがわかっている場合は、それを指定することで、プログラムがその列をより確実に検出できるようになります。FlexiLayout Studio で列内のデータ型を確認するには、内容タイプを確認オプションを選択し、列の内容タイプフィールドで、その列に含まれている可能性が高いデータ型を、使用可能なものの中から 1 つ指定します。- テキスト
- 通貨
- 日付
- 正規表現
- 数値
