メインコンテンツへスキップ
要素のProperties ダイアログの[Columns]タブでは、現在のTable 要素に関連付けるテーブルブロックを選択できます。

テーブルブロックの選択

Table 要素は、検索対象の Table ブロックに対応している必要があります。Table ブロックを選択するには、Select ボタンをクリックし、現在の Table 要素に対応する Table ブロックを選択します。すると、そのすべての列の一覧が List1 field に表示されます。各列のプロパティを設定します。これらの設定は、列を検索する際の検索条件として使用されます。
  1. 要素の Properties ダイアログの Columns タブに表示されるブロックの列一覧は、このダイアログでは編集できません。一覧を編集するには、ブロックの Properties ダイアログを開く必要があります。
  2. 要素とそれに対応するブロックの関係をよりよく理解するために、次のように考えてください。テーブルブロックは FlexiLayout とデータ抽出アプリケーションの間のインターフェイスとして機能し、Table 要素はそのインターフェイスの実装です。Table 要素には、テーブルブロックをどのように見つけるかについての指示が含まれています。どのインターフェイスに対しても、複数のプログラム実装を作成できます。同様に、1 つのテーブルブロックに対して複数の Table 要素を作成できます (ただし、その逆はできません) 。
要素の Columns タブでテーブルブロックを選択すると、既定では、プログラムはそのテーブルブロック内の列の名前と順序を使用して各列の検索条件を設定し (テーブル列の検索条件の設定を参照) 、さらに列の順序も設定します (テーブル列の順序を参照) 。

テーブルの列を無効にする

FlexiLayout をテストする際に、FlexiLayout から列を完全に削除せずに、その列を無効にする必要が生じることがあります。列を無効にしても、FlexiLayout 内のその列に関する情報はすべて保持されますが、FlexiLayout のテスト時にはその列を無視するようプログラムに指示されます。列を無効にするには、List1 field で無効にする列を選択し、Disable をクリックします。すると、列名の横にあるチェック マークが外れます。列を有効にするには、リストでその列名を選択し、Enable をクリックします。
列を無効にすると、Order タブ上のすべての順序リストでも自動的に無効になります。

テーブル列の検索条件の設定

テーブル列の検索条件は、各列の Properties ダイアログで設定します。列の Properties ダイアログを開くには、List1 field で列を選択し、その field の横にある Properties… ボタンをクリックします。
テーブルのヘッダーにある列名は、列の検出において重要な役割を果たします。プログラムが列名を検出しやすくするために、ヘッダー内にあるキーワードを使用できます。あるいは、別の要素を基準に列名を検出することもできます。この場合、その要素の Region も列名の Region と見なされます。

キーワードを使用して列名を検出する

キーワードで列名を検出するには、Detect by keyword in name オプションを選択します。下のfieldに、テスト画像上の列名に含まれるキーワードまたは語句を入力します。各キーワードを入力したら Enter キーを押します。 列名の検索時に完全な単語だけを使用する場合は、Whole words only オプションを選択します。 幅の狭い列では、名前内の単語が次の行に折り返されることがよくあります。そのような列名を検出するには、Multi-line name オプションを選択します。 同じ列でも画像によって名前が異なることがあるため、キーワードのリストには実際に現れる可能性のあるすべての候補を含める必要があります。ただし、画像によってはその列に名前がまったくない場合や、列自体が存在しない場合もあります。このため、列名は常に任意です。つまり、FlexiLayout を画像とマッチングする際に、列名が見つかる必要はありません。キーワードが見つからない場合 (実際に存在しない場合、または画像品質が Optical Character Recognition (OCR) に不十分な場合) は、仮説にペナルティが適用されます。つまり、その品質は、未検出のキーワードに対するヌル仮説の品質で乗算されます。仮説に対するペナルティは、Missing keyword penalty field で設定します。既定値は 0.97 です。

別の要素の Region を使用して列名を検出する

すでに検出されている要素を使って列名を見つけることができます。これにより、キーワードに追加の検索条件を設定できます。また、このメソッドでは、Static Text だけでなく、Character String、Inverted Text、または単なる領域も対象として検索できます。 すでに検出されている要素を使って列名を見つけるには、[見つかった要素を列名として使用] オプションを選択し、次に をクリックします。続いて、[要素の選択] ダイアログで、その Region が列名の Region としても扱われる要素を選択します。
列名の検出に使用する要素は、FlexiLayout ツリー内で、対象の Table 要素より上に配置されている必要があります。複数ページにまたがるテーブルを記述する場合は、繰り返し要素を使用して列名を検索することをお勧めします (複数ページテーブルの詳細については、複数ページテーブルの検出 を参照してください) 。

列が正しく検出されているかどうかの確認

列を検索する際、プログラムは列名に関する情報だけでなく、列の内容に関する情報も使用します。したがって、特定の列に特定のデータ型が含まれていることがわかっている場合は、それを指定することで、プログラムがその列をより確実に検出できるようになります。FlexiLayout Studio で列のデータ型をチェックできるようにするには、Check content type オプションを選択し、Type of column content field で、その列に含まれている可能性が高いデータ型を次の中から 1 つ指定します。
  • テキスト;
  • 通貨;
  • 日付;
  • 正規表現;
  • 数値.
Regular expression 型を選択した場合は、その列のデータ形式を表す正規表現コードを入力する必要があります。

任意の文字

*

“k”*“t” – ‘kit’、‘kat’ などを許可します。

文字

C

C”at” – cat、bat、Rat、mat などを許可します。

大文字の文字

A

A”at” – Cat、Bat、Rat、Mat などを許可します。

小文字の文字

a

a”at” – car、bat、rat、mat などを許可します。

文字または数字

Х

X – 任意の1文字または1桁の数字を許可します。

数字

N

N”th” は 5th、4th、6th などを許可します。

文字列

""

"cat”

または

|

“dr”(“i”|“u”)“nk” – “drink” または “drunk” を許可します。

集合内の文字

[]

[hm]“at” – ‘hat’ または ‘mat’ を許可します。

集合に含まれない文字

[^]

[^b]“at” – ‘cat’、‘mat’、‘rat’ を許可しますが、bat は許可しません。

任意回数の繰り返し

(左側の式または部分式に適用されます)

{-}

[AB74]{-} – 任意の長さで、A、B、7、4 の任意の組み合わせを許可します。

繰り返し回数が n

{n}

N{2}“th” は 25th、84th、11th などを許可します。

n 回から m 回の繰り返し

{n-m}

N{1-3}“th” は 5th、84th、111th などを許可します。

0 回から n 回の繰り返し

{-n}

N{-2}“th” は th、84th、4th などを許可します。

n 回以上の繰り返し

{n-}

N{2-}“th” は 25th、834th、311th、34576th などを許可します。

部分式

()

 
列のデータ型が「Type of column content」field のデータ型と一致しない場合、仮説にはペナルティが適用されます。「Missing content penalty」field には、列の内容が指定したデータ型に対応していない場合に仮説の品質に乗算される係数が含まれます。

検索領域の座標を指定する

列の左境界と右境界の検索領域の座標を指定できます。Absolute area constraints プロパティで、各検索領域の座標をそれぞれ Left boundary field と Right boundary field に入力します。