サンプル4。ステップ8:表要素、InvoiceTable要素
準備完了したため、表要素を作成して請求書表フィールドを検索することができます:
- 表のヘッダー。前に決めたように、既に検出された補助要素を使用して列名を指定します。
- 表のフッター。フッターを指定するために、InvoiceFooterグループから最終部分の始まりを識別する既に検出された必須要素段落を使用することに決めました。この要素は、表の下部に最も近いものとして記述しました。
- 表の検索領域。右の検索領域を、他の目的では必要のない最後のSales列の名前を使用して制限できます。
InvoiceTable要素を作成するには:
- SearchElements ツリーで、種類表の要素を作成して名前をInvoiceTableと付けます。
- 列タブをクリックします
- 選択をクリックして、前に作成された(ステップ3参照) InvoiceTableブロックを検索するブロックとして選択します
- 表列の検索パラメータを指定します:
- 列のリストで、Referenceを選択してプロパティ...ボタンをクリックします。
この列の名前では、前に検出されたTableHeader.kwReference要素を使用します。これを使用するには、発見要素を列名として使用を選択し、をクリックして、 TableHeader.kwReferenceを選択します。 - 列のリストで、Designationを選択してボタンをプロパティ...クリックします。
この列の名前では、前に検出されたTableHeader.kwDesignation要素を使用します。 - 列のリストで、Unitを選択してプロパティ...ボタンをクリックします。
この列の名前では、前に検出されたTableHeader.kwUnit要素を使用します。 - 列のリストで、Quantityを選択してプロパティ...ボタンをクリックします。
この列の名前では、前に検出されたTableHeader.kwQuantity要素を使用します。 - 列のリストで、UnitPriceを選択してプロパティ...ボタンをクリックします。
この列の名前では、前に検出されたTableHeader.kwUnitPrice要素を使用します。 - 列のリストで、Totalを選択してプロパティ...ボタンをクリックします。
この列の名前では、前に検出されたTableHeader.kwTotal要素を使用します。 - 順序タブをクリックします。
- 探している列は他の列で区切られているかもしれませんが(ExtraQtyTagなど)、その順序は常に固定されているので(最初にDesignation、次にUnit Price、次にTotal)、列順序規則を選択して、追加...をクリックし、列を以下の順序で追加します:Designation << Unit Price << Total。
表示...
- ヘッダータブをクリックします。表のヘッダーは必要ですが、追加的な制限を科す必要はないため、デフォルト値を維持します。
- フッタータブをクリックします。前に検出された要素InvoiceFooter.Paragraphを表の最後の部分に使用します。発見要素をフッターとして使用オプションを選択して、をクリックし、InvoiceFooter.Paragraph要素を選択します。
表示...
- 行タブをクリックします。
- 一部の列のセルには複数行含まれていることがあるため、行区切りにはマスター列を指定する必要があります。設定された行検出にマスター列を使用を選択します。
この列には常にデータがあり、各表の記録でこの列に1行データがあるため、最初にTotal列を指定します。画像でこの列が検出されない場合は、Unit PriceおよびQuantity列を以下の行区切りオプションとして指定します。ボタンを使用してこれらの列を選択します。表示...
- 関係タブをクリックします。関心対象の表の列はSales列の名前の左にあるため、以下の検索制限を追加します:
- 左TableHeader.kwSales要素, オフセット = 0;
注意:質の低い画像(表の本体とフッターの間にノイズがある、ヘッダーまたはフッターがないなど)については、表の上限および下限を指定することもできます。この場合、kwDesignation要素を上限として、段落要素を下限として使用できます。関係タブで、以下の検索制限を追加します: - 下kwDesignation要素の上部境界, オフセット =-50, 参照境界 =上;
- 上段落要素, オフセット =-50; 参照境界 =下。
- FlexiLayoutを試験画像と合致させます。
すべての画像の表要素が正しく検出されるものの、一部の画像では、Quantity列に前の列の冗長テキストが含まれていることに気づくでしょう。
Quantity列の良いデータを無関係なデータから切り離すには、 この列のコンテンツ種類を指定します。 - 表要素InvoiceTableのプロパティダイアログボックスを開きます。
列タブで、Quantity列のプロパティ...ダイアログボックスを開き、コンテンツ種類を確認オプションを選択します。列コンテンツの種類で、数を選択します。表示...
- 画像のFlexiLayoutを合致させると、Quantityには必要な数字しか含まれていないことがわかります。
- 同様に、UnitPriceおよびTotal列の通貨コンテンツを指定します。
- InvoiceTableブロックの位置を指定するには、ソース要素オプションを選択します。をクリックして、InvoiceTableをソース要素として指定します。
12.04.2024 18:16:07