- 画像上の field の配置に、何らかのパターンがあるか。
- field の検出で、どの要素を参照要素として使用できるか。
- 要素を検索する順序として最適なのはどれか。 (新しい各 Step では、上で説明した要素しか参照できません。)
- ドキュメントの中央部分には、すべての画像に共通して現れるテーブルがあることに気付いたはずです。 注。 FlexiLayout Studio では、テーブルは、区切り線または空白によって視覚的に区切られた row と column から成る断片で構成された画像オブジェクトです。詳細については、Table を参照してください。
- テーブルの上には、field グループ (InvoiceHeader という名前にできます) があります。Invoice Number、請求日、Delivery Address です。field Invoice Number はすべての画像に現れるため識別用の field として使用できますが、field 請求日 と Delivery Address は任意です。
- テーブルの下には、field グループ (Footer という名前にできます) があります。TotalQuantity、TotalAmount、Country です。これらの field も、すべての画像に現れるわけではありません。
- Group 型の要素を作成し、InvoiceHeader という名前にします。 field Invoice Number、請求日、Delivery Address は常に左上隅にあります。さらに、それらの順序も常に同じで、Delivery Address、Invoice Number、請求日 の順です (画像上に存在する場合) 。これらも同じ順序で検索します。
- field Invoice Number、請求日、Delivery Address の名前に対応するキーワードの検索を記述するには、Static Text 型の要素を使用します。InvoiceHeader 要素には、次の要素を含める必要があります。
- Static Text の kwDeliveryAddress 要素。これは field Delivery Address の名前に対応します (詳細な手順については Step 5 を参照) 。
- Static Text の kwInvoiceNumber 要素。これは field Invoice Number の名前に対応します (詳細な手順については Step 6 を参照) 。
- Static Text の kwDate 要素。これは field 請求日 の名前に対応します (詳細な手順については Step 7 を参照) 。
- field Number と 請求日 については、それぞれの名前と同じ row の右側で検索します。
InvoiceHeader 要素内に、次の要素を作成します。
- Character String 型の InvoiceNumber 要素。これは field Invoice Number に対応します (詳細な手順については Step 8 を参照) 。
- field 請求日 を探すための Group 要素 grDate (詳細な手順については Step 9 を参照) 。
- Date 型の InvoiceDate 要素。画像品質が良好な場合、この要素は 請求日 field に対応します (詳細な手順については、Step 9 を参照してください) 。
- Character String 型の InvoiceDateAsString 要素。プログラムが InvoiceDate 要素を検出できなかった場合、この要素は 請求日 field に対応します (詳細な手順については、Step 9 を参照してください) 。 注: 画質の低い画像から日付を検出する方法の詳細については、Tips and Tricks セクションを参照してください。
- Delivery Address field は複数行にわたるため、これを検出するには Paragraph 型の要素が必要です。ただし、この要素を作成する前に、検索領域をできるだけ狭めておく必要があります。検索領域の右境界には、White Gap 型の要素を使用します。続いて、Delivery Address field の位置を示すすべての要素を Group 要素にまとめます。
- InvoiceHeader 要素内に Group 要素を作成し、grAddress という名前を付けます (詳細な手順については、Step 10 を参照してください) 。
