Skip to main content
この段階では、次の点を明らかにします。
  • 画像上の field の配置に、何らかのパターンはありますか。
  • データfield を探す際に、どの要素を手がかりにできますか。
  • 要素はどの順序で検索すべきですか。(これは重要です。後続の各ステップでは、直前のステップの要素しか利用できないためです。)
これは複数ページDocumentであるため、まず最初とLast Pageを識別するオブジェクトを決定します。これらのオブジェクトは、特別な複合 Header 要素と Footer 要素で記述します。
  • Header 要素は、Documentの最初のページにのみマッチする必要があります。プロジェクトに他のDocumentタイプのDocumentも含まれている場合、この要素はこのDocumentタイプを識別する固有の特徴である識別子としても機能します。
  • Footer 要素は、DocumentのLast Pageにのみマッチする必要があります。このグループ内に必須のサブ要素を作成し、Footer 要素が他のページにマッチしないようにしてください。

Header 要素 を使用して最初のページを特定する

最初のページでは、field グループが InvoiceNumberInvoiceDateDeliveryAddress で構成されます。InvoiceNumber の field 名は各 Document の先頭に必ず表示されますが、InvoiceDateDeliveryAddress の fields は常に存在するとは限りません。
  • InvoiceNumberInvoiceDate の fields は、名前の右側または下側に表示されます。
  • DeliveryAddress も名前の右側または下側に表示されますが、検索領域は限定されているため、検索領域の下端を制限する要素が必要です。
  • 一部の画像にはこれらの fields の値がないため、名前が検出されなかった場合に field 値を検索しないことで、マッチングを高速化できます。
この field グループを文書識別子として使用し、InvoiceHeader という名前の複合 Header 要素 の一部として記述します。 Last Pageでは、テーブルの下にTOTAL AMOUNT MUSTCarried overTotal CHFTOTALという単語が表示されます。これらの単語はDocument内のほかの場所 (たとえば、テーブル名や本文) にも出現する可能性があるため、テーブルの列名などの追加の参照要素を使用して検索領域を絞り込みます。 Last Pageの要素は、InvoiceFooterという名前の複合Footer要素の一部として記述します。Footer要素がLast Pageにのみマッチするようにするには、必須要素を含める必要があります。Last Pageを識別する単語はすべてのLast Pageに出現するため、それらを記述する要素を必須要素にします。

複数ページにまたがるテーブルを検出する

テーブル (InvoiceTable と命名) は最初のページで始まり、Last Pageで終わります。最初のページでは、テーブルの前に必ず列名があります。Last Pageでテーブルの終端を特定するには、InvoiceFooter グループの必須要素などの補助要素を使用します。 Document のすべてのページを合わせたものを、複数ページキャンバスと呼びます。これは、Document のすべてのページを隙間なく上から下へ結合し、各ページの左境界が点 (0, 0) を通る同一の軸上に揃うようにして作成されます。ページは batch 内の順序に従って結合されます。 したがって、テーブルの開始位置 (最初のページのヘッダー) と終了位置 (Last Pageのフッター) のみを指定できます。FlexiLayout Studio は、Document 全体、つまり複数ページキャンバス全体にわたってテーブルを検索します。

Company と Total Amount field を検出する

Company field 名は、常に最初のページの上から 3 分の 1 の位置に表示されます。 Total Amount field 名は、常にLast Pageのテーブルの下に表示されます。値は、名前の右側または下に表示されます。