表ブロック
表ブロックは、検出された表の座標をFlexiCaptureに繰り越すために使います。検出された表のデータは、FlexiCaptureで抽出されます。表ブロックは、ブロック全体を囲む区域だけでなく、各表セルの周囲に描画された矩形も返すため、他の種類のブロックと異なります。他の種類のブロックと比べると、表ブロックには追加のプロパティ、表に含まれる列のリストがあります。FlexiLayoutには、ブロックで指定された列の検索場所と方法を指示する1つ以上の表要素が含まれています。
注意:
- 表要素を作成するには、既に作成された表ブロックに結合する必要があります。そのため、通常はブロックの作成から始める必要があります。最初に大体の検索領域を指定し、ブロックを探すための1つ以上の要素を作成して、これらの表要素でブロックの検索領域を確定することができます。
- 1つの同じ表ブロックを探す独自のアルゴリズムを記述した複数の要素を作成できます。ブロックが見つかった後で表ブロックに最適な表要素を選択するよう、指示できます。これは、領域表現で行います。
表ブロックはFlexiLayoutツリーではでマークされます。
表ブロックを作成するには:
- FlexiLayoutウィンドウに切り替えます。
- FlexiLayoutツリーでブロック枝を選択します。
- FlexiLayoutメニューから、ブロックを追加 → 表を選択するか、またはショートカットメニューから新規 → 表を選択します。
- ブロックのプロパティを指定します。
- 表ブロックタブで、以下を設定します:
- ブロック名;
- ブロックへの自分のコメント(オプション);
- ブロックの区域と表の行と列への分割が、表要素によって返される区域と一致する場合は、ソース要素オプションを選択してをクリックします。要素を選択ダイアログボックスで、区域がブロックの区域と一致する表要素を選択し、OKをクリックします。
- ブロックの区域が表要素のどの区域とも一致しない場合は、領域表現オプションを選択し、領域表現フィールドに必要なコードを入力します。確認をクリックして、コードを確認します。
- 列タブで、ブロック内で発生し得る列を指定します。これには、追加...をクリックして、列名を入力します。試験画像で発生する列の名前を使用すると便利です。種類ドロップダウンリストから、所望の種類の列を選択します。以下の種類から1つを変更できます:テキスト、バーコード、チェックマーク、画像または非認識ブロック。列の名前または種類を変更するには、編集...をクリックし、表の列を編集ダイアログボックスで、列の新しい名前を入力するか、別の種類を選択します。(下)および(上)ボタンを使用して、データキャプチャアプリケーションで発生する順序で列を並べ替えます
ブロック区域選択の指定例
ブロックの区域を選択するには、種類TableHypothesisの事前定義変数OutputTableを使用します。
下の例のコードは、最も多くの行が見つかった表要素を選択します
let T1 = SearchElements.TableElement1;
let T2= SearchElements.TableElement2;
if T1.RowsCount > T2.RowsCount then OutputTable = T1; else OutputTable = T2;
注意:例の表要素SearchElements.TableElement1および SearchElements.TableElement2は、領域表現フィールドに上のコードがある同じ表ブロックを参照します。
12.04.2024 18:16:07