サンプル3。ステップ26:InvoiceTable要素で表要素を検出
準備完了したので、Invoice Tableフィールドを検索できます。まず、種類表の要素を記述します:
- 表のHeaderを記述します。Referenceの名前およびDesignation列をキーワードで記述することを決めました(ステップ13参照)一方で(表要素 → プロパティダイアログボックス → 列タブ → 列プロパティのダイアログボックス)、Quantity、Unit Price、およびTotal列の名前は前に記述されたサブ要素の援助で検出されます。
- 表のFooterを記述します。Footerを記述するために、キーワードとフレーズを使用してFooterの始まりを検出する前に記述された要素を使用することに決めました(詳細はステップ13参照)。
- 表の検索領域を記述します。Sales列名を使用して右の検索領域を制限します。
InvoiceTable要素を作成するには:
- 種類表の要素を作成して名前をInvoiceTableと付けます。
- 列タブをクリックします。
- 選択をクリックして前に記述されたInvoiceTableブロックをInvoiceTable要素で検出するブロックとして指定します(詳細はステップ2参照)。
- Reference列を選択してプロパティ...をクリックします。この列名の検索にキーワードReferenceを使用するため、デフォルト値はそのままにしておきます。
- Designation列を選択してプロパティ...をクリックします。この列名の検索にキーワードDesignationを使用するため、デフォルト値はそのままにしておきます。
- Quantity列を選択してプロパティ...をクリックします。この列名を見つけるために、前に検出された要素TableHeader.kwQuantityを使用します。発見要素を列名として使用オプションを選択して、をクリックし、TableHeader.kwQuantity要素を選択します。
表示...
- UnitPrice列を選択してプロパティ...をクリックします。この列名を見つけるために、前に検出された要素TableHeader.kwUnitPriceを使用します。発見要素を列名として使用オプションを選択して、をクリックし、TableHeader.kwUnitPrice要素を選択します。
表示...
- Total列を選択してプロパティ...をクリックします。この列名を見つけるために、前に検出された要素TableHeader.kwTotalを使用します。発見要素を列名として使用オプションを選択して、をクリックし、TableHeader.kwTotal要素を選択します。
- 順序タブをクリックします。
- 求められる列の間に他の列もあり得ますが(Unitなど)、求められる列は常に以下の順序で配置されます:Reference、Designation、Quantity、Unit Price、Total。列順序規則オプションを選択して、追加...をクリックし、以下の列順序を指定します:Reference << Designation << Quantity << Unit Price << Total。
表示...
表示...
- ヘッダータブをクリックします。ヘッダーは必要ですが、検索制限は追加しないため、デフォルト値のままにします
表示...
- フッタータブをクリックします。以前に検出された要素Footer.kwFooterを使用してフッターを検出します。発見要素をフッターとして使用オプションを選択して、をクリックし、Footer.kwFooter要素を選択します。
表示...
- 行タブをクリックします。
- 表の列に複数行の入力が存在することもあるため、行を検出するマスター列を指定します。設定された行検出にマスター列を使用オプションを選択します。この列には常にデータが含まれており、表の1行が各入力に対応しているため、Total列を一次マスター列として指定します。この列が文書で検出されない場合は、QuantityおよびUnit Price列をそれぞれ二次マスター列、三次マスター列として指定します。をクリックして、マスター列のこの順序を指定します。
表示...
- 関係タブをクリックします。求められる列はSales列の名前の始まりの左(小さな隙間あり)に配置されるため、以下の検索制限を設定します:
- 左要素TableHeader.kwSales、
- オフセット =-40, 参照境界 = 左。
注意:オフセット値を選択する時に、事前認識中に検出された参照およびオブジェクトの幾何学的特性(すなわちサイズおよび境界)を分析したいと思うかもしれません。そうでない場合、オフセット値は試行錯誤で選択されます。 - FlexiLayoutを試験画像と合致させます。発生するすべての画像で表要素が正常に検出されたことがわかります。Quantity列に前の列の不要な人工物も含まれる画像もあります。有用なデータをノイズから区切るために、列で発生するコンテンツの種類を指定します。
- InvoiceTable要素のプロパティダイアログボックスを開きます。列タブをクリックして、Quantity列のプロパティダイアログボックスを開き、コンテンツ種類を確認オプションを選択します。列コンテンツの種類ドロップダウンリストで数を選択します。
表示...
- FlexiLayoutを試験画像と合致させて、Quantity列に不要なデータが含まれていないことを確認します。
- InvoiceTableブロックの位置を記述するには、ソース要素オプションを選択して、をクリックし、InvoiceTable要素をソース要素として選択します。
12.04.2024 18:16:07