Zum Hauptinhalt springen
Nachdem nun alle Vorbereitungen abgeschlossen sind, können wir nach dem Feld Invoice Table suchen. Zunächst beschreiben wir ein Element vom Typ Table:
  1. Wir beschreiben die Kopfzeile der Tabelle. Wir haben entschieden (ausführliche Anweisungen finden Sie in Schritt 13), die Namen der Spalten Reference und Designation mithilfe von Schlüsselwörtern zu beschreiben (Table-Element → Eigenschaften-Dialogfeld → Tab Spalte → Dialogfeld Spalteneigenschaften), während die Namen der Spalten Menge, Stückpreis und Gesamtbetrag mithilfe der zuvor beschriebenen Hilfselemente erkannt werden.
  2. Wir beschreiben die Fußzeile der Tabelle. Dazu verwenden wir das zuvor beschriebene Element, das Schlüsselwörter und Phrasen nutzt, um den Anfang der Fußzeile zu erkennen (ausführliche Anweisungen finden Sie in Schritt 13).
  3. Wir beschreiben den Suchbereich der Tabelle. Wir verwenden den Spaltennamen Sales, um den Suchbereich nach rechts einzuschränken.
So erstellen Sie das Element InvoiceTable:
  1. Erstellen Sie ein Element vom Typ Table und nennen Sie es InvoiceTable.
  2. Klicken Sie auf den Tab Spalte.
  3. Klicken Sie auf Select und geben Sie den zuvor beschriebenen Block InvoiceTable als Block an, der vom Element InvoiceTable erkannt werden soll (ausführliche Anweisungen finden Sie in Schritt 2).
  4. Wählen Sie die Spalte Reference aus und klicken Sie auf Properties… Wir verwenden das Schlüsselwort Reference, um nach diesem Spaltennamen zu suchen. Lassen Sie daher die Standardwerte unverändert.
  5. Wählen Sie die Spalte Designation aus und klicken Sie auf Properties… Wir verwenden das Schlüsselwort Designation, um nach diesem Spaltennamen zu suchen. Lassen Sie daher die Standardwerte unverändert.
  6. Wählen Sie die Spalte Menge aus und klicken Sie auf Properties… Wir verwenden das zuvor erkannte Element TableHeader.kwQuantity, um diesen Spaltennamen zu finden. Wählen Sie die Option Use found element as column name aus und klicken Sie auf , um das Element TableHeader.kwQuantity auszuwählen.
Screenshot des Dialogfelds „Properties of column Quantity“ in ABBYY FlexiLayout Studio, wobei „Use found element as column name“ ausgewählt und auf SearchElements.TableHeader.kwQuantity gesetzt ist.
  1. Wählen Sie die Spalte UnitPrice aus und klicken Sie auf Properties… Wir verwenden das zuvor erkannte Element TableHeader.kwUnitPrice, um diesen Spaltennamen zu finden. Wählen Sie die Option Use found element as column name aus und klicken Sie auf , um das Element TableHeader.kwUnitPrice auszuwählen.
Screenshot des Dialogfelds „Properties of column UnitPrice“ in ABBYY FlexiLayout Studio, wobei „Use found element as column name“ ausgewählt und auf SearchElements.TableHeader.kwUnitPrice gesetzt ist.
  1. Wählen Sie die Spalte Gesamtbetrag aus und klicken Sie auf Properties… Wir verwenden das zuvor erkannte Element TableHeader.kwTotal, um diesen Spaltennamen zu finden. Wählen Sie die Option Use found element as column name aus und klicken Sie auf , um das Element TableHeader.kwTotal auszuwählen.
  2. Klicken Sie auf den Tab Reihenfolge.
  3. Zwischen den gesuchten Spalten können sich weitere Spalten befinden (zum Beispiel Unit), aber die gesuchten Spalten stehen immer in der folgenden Reihenfolge: Reference, Designation, Menge, Stückpreis, Gesamtbetrag. Wählen Sie die Option Regeln für Spaltenreihenfolge aus, klicken Sie dann auf Add… und geben Sie die folgende Spaltenreihenfolge an: Reference << Designation << Menge << Stückpreis << Gesamtbetrag.
Screenshot der Registerkarte Reihenfolge im Dialogfeld Properties of SearchElements.InvoiceTable in ABBYY FlexiLayout Studio, wobei Regeln für Spaltenreihenfolge ausgewählt ist und eine Regel mit Reference, Designation, Quantity, Unit Price und Total in dieser Reihenfolge angezeigt wird.
Screenshot von zwei Dialogfeldern Edit Column Order Rule in ABBYY FlexiLayout Studio, in denen die verfügbaren Spalten in der Reihenfolge Reference, Designation, Quantity, UnitPrice, Total in die Liste Selected columns verschoben werden.
  1. Klicken Sie auf die Registerkarte Header. Wir benötigen die Kopfzeile, werden aber keine Suchbedingungen hinzufügen, daher belassen Sie die Standardwerte.
Screenshot der Registerkarte Header im Dialogfeld Properties of SearchElements.InvoiceTable in ABBYY FlexiLayout Studio, wobei Look for header und Header is optional mit den Standard-Suchoptionen ausgewählt sind.
  1. Klicken Sie auf die Registerkarte Footer. Wir verwenden das zuvor erkannte Element Footer.kwFooter zum Erkennen der Fußzeile. Wählen Sie die Option gefundenes Element als Fußzeile verwenden und klicken Sie auf , um das Element Footer.kwFooter auszuwählen.
Screenshot der Registerkarte Footer im Dialogfeld Properties of SearchElements.InvoiceTable in ABBYY FlexiLayout Studio, wobei Use found element as footer ausgewählt und auf SearchElements.Footer.kwFooter festgelegt ist.
  1. Klicken Sie auf die Registerkarte Rows.
  2. Da einige Spalten in der Tabelle Einträge mit mehreren Zeilen enthalten können, müssen wir Master columns angeben, um die Zeilen zu erkennen. Wählen Sie die Option Use Master columns to detect rows. Geben Sie die Spalte Gesamtbetrag als primäre Master columns an, da diese Spalte immer Daten enthält und jedem Eintrag genau eine Tabellenzeile entspricht. Falls diese Spalte in einem Dokument nicht erkannt wird, geben Sie die Spalten Menge bzw. Stückpreis als sekundäre bzw. tertiäre Master columns an. Klicken Sie auf und geben Sie diese Reihenfolge der Master columns an.
Screenshot der Registerkarte Rows im Dialogfeld Properties of SearchElements.InvoiceTable in ABBYY FlexiLayout Studio, wobei Use master columns to detect rows ausgewählt ist und Total, Quantity und UnitPrice als Master columns aufgeführt sind.
  1. Klicken Sie auf die Registerkarte Relations. Da sich die gesuchten Spalten links vom Anfang des Namens der Spalte Sales befinden (mit einem kleinen Abstand), legen Sie die folgende Suchbedingung fest:
    • Links vom Element TableHeader.kwSales,
    • Offset = -40, Referenzgrenze = Left. Hinweis. Bei der Wahl der Offset-Werte sollten Sie die geometrischen Eigenschaften (d. h. Größe und Grenzen) der Referenzobjekte und der gesuchten Objekte analysieren, die während der pre-recognition erkannt wurden. Andernfalls müssen diese Werte durch Versuch und Irrtum bestimmt werden.
  2. Führen Sie das Matching des FlexiLayout mit den Testbildern durch. Sie sehen, dass das Programm das Table-Element in allen Bildern, in denen es vorkommt, erfolgreich erkannt hat. In einigen Bildern enthält die Spalte Menge jedoch auch unerwünschte Artefakte aus der vorherigen Spalte. Um die nützlichen Daten vom Rauschen zu trennen, geben wir den Inhaltstyp an, der in der Spalte vorkommen kann.
  3. Öffnen Sie das Eigenschaften-Dialogfeld des Elements InvoiceTable. Klicken Sie auf die Registerkarte Spalte, öffnen Sie das Eigenschaften-Dialogfeld für die Spalte Menge und wählen Sie die Option Check content type. Wählen Sie in der Dropdown-Liste Type of column content den Wert Number aus.
Screenshot des Dialogfelds Properties of column Quantity in ABBYY FlexiLayout Studio, wobei die Option Check content type ausgewählt ist und Number in der Dropdown-Liste Type of column content gewählt wurde.
  1. Führen Sie das Matching des FlexiLayout mit den Testbildern erneut durch und stellen Sie sicher, dass die Spalte Menge keine unerwünschten Daten enthält.
  2. Um die Position des Blocks InvoiceTable zu beschreiben, wählen Sie die Option Source element, klicken Sie dann auf und geben Sie das Element InvoiceTable als Quellelement an.