> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# テーブル

> FlexiLayout language の テーブル element を使用したテーブルの検索、column、header、footer、body の parameters、row の検出、複数ページにまたがるテーブルについて説明します。

FlexiLayout language の **テーブル** element では、次の parameters をサポートしています。これらを使用して、column、header、footer、body の検出、row の分割、複数ページにまたがるテーブルの設定を行います。

<div id="column-search-parameters">
  ## 列検索パラメーター
</div>

| パラメーター                                                                                                                                 | 説明                                                                                                                                                                                                                                                                                             |
| -------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Void AddHeaderKeyWord( String keyWord, TableBlockColumn column, Real omissionQuality, Logic wholeWordMode, Logic multiLine )`         | 列名のキーワードを指定します。**テーブル** 要素のダイアログの [**列のプロパティ**](/ja/flexi-capture/fls/tables/column) にある **Detect by keyword in name** オプションを参照してください。                                                                                                                                                         |
| `Void AddHeaderKeyHypothesis( Hypothesis hypothesis, TableBlockColumn column )`                                                        | 検出された仮説を使用して列名を指定します。**テーブル** 要素のダイアログの [**列のプロパティ**](/ja/flexi-capture/fls/tables/column) にある **Use found element as column name** オプションを参照してください。                                                                                                                                            |
| `Void AddHeaderKeyHypothesis( DistInterval left, DistInterval top, DistInterval right, DistInterval bottom, TableBlockColumn column )` | 列名の座標を指定します。                                                                                                                                                                                                                                                                                   |
| `Void AddColumnType( TableColumnType type, TableBlockColumn column, String regExp )`                                                   | 列の型を指定します。3 番目のパラメーターは、列の型が正規表現である場合にのみ指定してください。**テーブル** 要素のダイアログの [**列のプロパティ**](/ja/flexi-capture/fls/tables/column) にある **Type of column content** プロパティを参照してください。                                                                                                                           |
| `Void ColumnOmissionQuality( Real quality, TableBlockColumn column )`                                                                  | fixed column order を使用する場合に、仮説に対するペナルティを設定します。固定列順序で指定された列が検出されなかった場合に、仮説の品質に乗算される係数 (`0` から `1` までの数値) です。このパラメーターが設定されていない場合、デフォルト値は `0.9` です。                                                                                                                                               |
| `Void MissingContentPenalty( Real quality, TableBlockColumn column )`                                                                  | 仮説に対するペナルティを設定します。列内の実際のデータ型がユーザーが指定したデータ型と一致しない場合に、仮説の品質に乗算される係数 (`0` から `1` までの数値) です。**テーブル** 要素のダイアログの [**列のプロパティ**](/ja/flexi-capture/fls/tables/column) にある **Missing content penalty** を参照してください。このパラメーターが設定されていない場合、デフォルト値は `0.98` です。列順序ルールを使用する場合は、テーブル内にその列が存在しないことに対するペナルティを指定します。 |
| `Void ColumnBounds( Distance left, Distance right, TableBlockColumn column )`                                                          | 列を検索するために使用する検索領域の左右の境界を設定します。**テーブル** 要素のダイアログの [**列のプロパティ**](/ja/flexi-capture/fls/tables/column) にある **Absolute area constraints** を参照してください。                                                                                                                                               |
| `Void ExactColumnBorders( XCoordinate left, XCoordinate right, TableBlockColumn )`                                                     | 列の正確な境界を設定します。**注:** このパラメーターは、一部またはすべての列の位置があらかじめ分かっているテーブルを検索する場合に使用できます。                                                                                                                                                                                                                    |

<div id="column-order-parameters">
  ## 列順序パラメーター
</div>

| Parameter                                                                       | Description                                                                                                                        |
| ------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `Void AddPossibleColumnsOrder( String orderName, TableBlockColumnArray array )` | 固定列順序の候補の1つを指定します。**テーブル** 要素ダイアログの [**Order**](/ja/flexi-capture/fls/tables/order) タブにある **Fixed column order** オプションを参照してください。   |
| `Void ColumnsRelation( TableBlockColumnArray )`                                 | 列順序のルールを1つ指定します。**テーブル** 要素ダイアログの [**Order**](/ja/flexi-capture/fls/tables/order) タブにある **Rules for column order** オプションを参照してください。 |

<div id="header-search-parameters">
  ## Header検索パラメーター
</div>

| パラメーター                                                                        | 説明                                                                                                                                                                                               |
| ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `Void HasHeader( Logic )`                                                     | FlexiLayout Studio がHeaderを検索するかどうかを指定します。**テーブル**要素ダイアログの [**Header**](/ja/flexi-capture/fls/tables/header) タブにある **ヘッダーを検索** を参照してください。                                                        |
| `Void HeaderOptional( Real q1, Real q2 )`                                     | 要素に対する `Void Optional( Real q1, Real q2 )` 関数と同様に、Headerをオプションにするかどうかを指定します。                                                                                                                     |
| `Void HeaderSearchArea( Rect )`                                               | Headerの検索矩形を指定します。この関数を使用すると、Headerの検索領域は、この矩形とテーブル全体の検索領域を囲む矩形との共通部分として計算されます。**テーブル**要素ダイアログの [**Header**](/ja/flexi-capture/fls/tables/header) タブにある **Absolute area constraints** を参照してください。 |
| `Void MaxHeaderHypothesesCount( Int )`                                        | Headerの検索中に生成される仮説の最大数を設定します。**テーブル**要素ダイアログの [**Header**](/ja/flexi-capture/fls/tables/header) タブにある **ヘッダーの仮説数** を参照してください。                                                                    |
| `Void MinHeaderKeyElements( Int )`                                            | Headerの検出に必要なキー要素の最小数を設定します。デフォルト値は `2` です。                                                                                                                                                      |
| `Void ExtendHeaderLocalization( XInterval, YInterval, XInterval, YInterval )` | Headerの位置特定領域を拡張します。たとえば、Headerとテーブル本体の間にある不要な情報の行を除外するために使用できます。                                                                                                                                |

<div id="footer-search-parameters">
  ## フッター検索パラメーター
</div>

| Parameter                                                                   | Description                                                                                                                                                                                                                                                                    |
| --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `Void HasFooter( Logic )`                                                   | FlexiLayout Studio がフッターを検索するかどうかを指定します。**テーブル** 要素ダイアログの [**Footer**](/ja/flexi-capture/fls/tables/footer) タブにある **Look for footer** を参照してください。                                                                                                                               |
| `Void FooterOptional( Real q1, Real q2 )`                                   | 要素の `Void Optional( Real q1, Real q2 )` function と同様に、フッターを省略可能にするかどうかを指定します。                                                                                                                                                                                                  |
| `Void FooterSearchArea( Rect )`                                             | フッターの検索範囲を表す矩形を指定します。この function を使用すると、フッターの検索範囲は、この矩形とテーブル全体の検索範囲を囲む矩形との交差領域として計算されます。**テーブル** 要素ダイアログの [**Footer**](/ja/flexi-capture/fls/tables/footer) タブにある **Absolute area constraints** を参照してください。                                                                     |
| `Void FooterHasTopSeparator()`                                              | フッターとテーブル本体の間に区切り線があることを指定します。この区切り線は、テーブルの boundary の一部である場合があります。                                                                                                                                                                                                            |
| `FooterWholeWordMode( Logic )`                                              | この flag は、キーワードに基づいてフッターを検索するときに使用されます。この flag が `true` に設定されている場合、単語の一部だけで構成された仮説は Discard されます。既定値は `false` です。**テーブル** 要素ダイアログの [**Footer**](/ja/flexi-capture/fls/tables/footer) タブにある **Whole words only** オプションを参照してください。                                                |
| `Void FooterNearestToTop( Logic )`                                          | この flag は、キーワードに基づいてフッターを検索するときに使用されます。この flag が `true` に設定されている場合、FlexiLayout Studio は最も上にある候補を選択し、それ以外は Discard します。この flag が `false` に設定されている場合、FlexiLayout Studio は考えられるすべての候補を考慮します。フッターの quality はテーブルの quality に反映され、その後、quality が最も高い table 仮説 が選択されます。既定値は `true` です。 |
| `Void AddFooterKeyWord( String )`                                           | テーブルのフッターに対するキーワードを指定します。**テーブル** 要素ダイアログの [**Footer**](/ja/flexi-capture/fls/tables/footer) タブにある **Search by keyword** オプションを参照してください。                                                                                                                                       |
| `Void AddFooterKeyHypothesis( Hypothesis )`                                 | 検出された 仮説 を使用してテーブルのフッターを指定します。**テーブル** 要素ダイアログの [**Footer**](/ja/flexi-capture/fls/tables/footer) タブにある **Use found element** オプションを参照してください。                                                                                                                                  |
| `Void AddFooterKeyHypothesis( XInterval, YInterval, XInterval, YInterval )` | テーブルのフッターの座標を指定します。                                                                                                                                                                                                                                                            |

<div id="body-search-parameters">
  ## ボディの検索パラメーター
</div>

| パラメーター                                  | 説明                                                                                                 |
| --------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `Void DontFindBody()`                   | ボディの検索をスキップできます。デバッグに使用します。                                                                        |
| `Void BodyOptional( Real q1, Real q2 )` | 要素に対する `Void Optional( Real q1, Real q2 )` 関数と同様に、ボディを省略可能にするかどうかを指定します。                           |
| `Void IgnoreVerticalSeparators()`       | テーブルを列に分割する際に、テーブルのボディ内にある縦の区切り線を無視します。デフォルトでは、区切り線が考慮されます。                                        |
| `Void IgnoreSeparatorsFromHeader()`     | テーブルを列に分割する際に、テーブルのヘッダー内にある縦の区切り線を無視します。デフォルトでは、縦の区切り線が考慮されます。                                     |
| `Void AutoDetectTopAndBottom( Logic )`  | テーブルの上境界と下境界を自動的に検索します。デフォルト設定は `true` です。フラグが `false` に設定されている場合は、テーブル要素の検索領域内にあるすべてのテキストが使用されます。 |

<div id="row-detection-parameters">
  ## 行検出パラメーター
</div>

| Parameter                                                                                                  | Description                                                                                                                                                                                                                                                              |
| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `Void SingleLineTable( Logic )`                                                                            | テキストの各行を、テーブル内の1つの行に対応させることを FlexiLayout Studio に指示します。**テーブル** 要素のダイアログの [**Rows**](/ja/flexi-capture/fls/tables/rows) タブにある **マスター列を使用して行を検出する** チェック ボックスを参照してください (**Detect rows automatically** オプションが選択されている場合) 。                                                  |
| `Void SingleLineMasterColumn( Logic )`                                                                     | テキストの各行を、テーブルのマスター列内の1つの行に対応させることを FlexiLayout Studio に指示します。**テーブル** 要素のダイアログの [**Rows**](/ja/flexi-capture/fls/tables/rows) タブにある **One line of text corresponds to one row** チェック ボックスを参照してください (**マスター列を使用して行を検出する** オプションが選択されている場合) 。                              |
| `Void MaxRowVerticalGap( Distance )`                                                                       | テーブル内の2つの行の間の最大垂直距離を指定します。指定した距離を超えた場合は、テーブル本体の終端と見なされます。デフォルトでは、この距離に制限はありません。                                                                                                                                                                                          |
| `Void MinRowVerticalGap( Distance )`                                                                       | テーブル内の2つの行の間の最小垂直距離を指定します。距離が指定値より小さい場合、それらの行は1つに結合されます。デフォルト値は `0` です。                                                                                                                                                                                                  |
| `Void MaxMasterColumnRowGap( Distance )`                                                                   | テーブルのマスター列内の2つの行の間の最大垂直距離を指定します。指定した距離を超えた場合は、テーブル本体の終端と見なされます。デフォルトでは、この距離に制限はありません。                                                                                                                                                                                    |
| `Void MinMasterColumnRowGap( Distance )`                                                                   | 特定の列内にある2つのテーブルの行の間の最小垂直距離を指定します。距離が指定値より小さい場合、それらの行は1つに結合されます。デフォルト値は `0` です。                                                                                                                                                                                           |
| `Void IgnoreHorizontalSeparators()`                                                                        | テーブルを行に分割する際、横の区切り線を無視します。                                                                                                                                                                                                                                               |
| `Void DivideRowsBySeparators()`                                                                            | テキストを無視し、区切り線のみに基づいて行を検出します。                                                                                                                                                                                                                                             |
| `Void DivideRowsByMasterColumn( TableBlockColumn )`                                                        | テーブルを行に分割する際に、その列のテキストを使用するよう FlexiLayout Studio に指示します。この関数は複数回呼び出すことができます。画像上のテーブルに必要な列がない場合は、次の関数呼び出しで指定された列が使用され、以降も同様です。すべての列が使用できない場合は、テーブル全体で行が検出されます。**テーブル** 要素のダイアログの [**Rows**](/ja/flexi-capture/fls/tables/rows) タブにある **マスター列を使用して行を検出する** オプションを参照してください。 |
| `Void MasterColumnTextAlignment( TextAlignmentInTableCell )`                                               | マスター列内のテーブル セルのテキスト配置を指定します。`TextAlignment_CellTop` または `TextAlignment_CellBottom` を指定できます。たとえば、`MasterColumnTextAlignment: TextAlignment_CellBottom;` はテキストをセルの下端に揃えます。                                                                                                 |
| `Void AddStopWord( String )`                                                                               | 独立した行を作成してはならない単語を指定します。**テーブル** 要素のダイアログの [**Rows**](/ja/flexi-capture/fls/tables/rows) タブにある **Stop words** を参照してください。                                                                                                                                                 |
| `Void RowSplitters( YCoordinateArray, Logic isBodyTopIncluded = true, Logic isBodyBottomIncluded = true )` | テーブルを行に分割するための区切り線を指定します。`isBodyTopIncluded == true` はテーブル本体の上端を含むことを、`isBodyBottomIncluded == true` はテーブル本体の下端を含むことを示します。`isBodyTopIncluded == false` の場合はテーブル本体の上端が自動的に検出され、`isBodyBottomIncluded == false` の場合はテーブル本体の下端が自動的に検出されます。テーブルの検索領域外にある指定済みの区切り線はすべて無視されます。 |

`RowSplitters` の例:

```text theme={null}
let yArray = RepeatingGroup.AllInstances.GetYArray(1);
RowSplitters( yArray );
```

<div id="multi-page-table-parameters">
  ## 複数ページにまたがるテーブルのパラメーター
</div>

| パラメーター                                                                 | 説明                                                                                                                                                                              |
| ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Void HeaderOnEachPage( Logic has = true )`                            | テーブルヘッダーが各ページの1ページ分のサブテーブルの先頭にあることを指定します。**テーブル** 要素のダイアログの [**Header**](/ja/flexi-capture/fls/tables/header) タブにある **Header occurs on every page** プロパティを参照してください。             |
| `Void AddHeaderKeyHypotheses( HypothesisInstances, TableBlockColumn )` | 繰り返しグループのサブ要素に対する一連の仮説を使用して、複数ページにまたがる列名を指定します。[**Column** 要素のダイアログ](/ja/flexi-capture/fls/tables/column)の **Use found element as column name** プロパティを参照してください。                 |
| `Void FooterOnEachPage( Logic has = true )`                            | テーブルフッターが各ページにあることを指定します。**テーブル** 要素のダイアログの [**Footer**](/ja/flexi-capture/fls/tables/footer) タブにある **Footer is on every page** プロパティを参照してください。                                 |
| `Void AddFooterKeyHypotheses( HypothesisInstances )`                   | 繰り返しグループのサブ要素に対する一連の仮説を使用して、複数ページにまたがるテーブルフッターを指定します。**テーブル** 要素のダイアログの [**Footer**](/ja/flexi-capture/fls/tables/footer) タブにある **Use found element as footer** プロパティを参照してください。 |
| `Void PreviousInstances( TableHypothesisInstances )`                   | テーブルが繰り返しグループ内にある場合に、前のテーブルインスタンスを指定します。インスタンスの方向は上から下で、列の境界は同一ページ内ではずれがなく、ページ間では水平方向にわずかにずれる場合があることを前提としています。前のインスタンスは、テーブルにヘッダーがない場合、またはヘッダーが検出されない場合に、列の検索やその精度向上のために使用されます。 |
