Zum Hauptinhalt springen
Bisher haben wir die Felder Invoice Number, Invoice Date und DeliveryAddress beschrieben. Lassen Sie uns nun festlegen, in welcher Reihenfolge die übrigen Elemente erkannt werden sollen. Die Analyse der Anordnung der Felder auf den Testbildern zeigt, dass wir zum Erkennen des Feldes Country den Namen dieses Feldes und ein Element vom Typ Zeichenkette verwenden können. Um jedoch die Felder Gesamtmenge und Gesamtbetrag zu erkennen, brauchen wir nicht nur den Namen, der bei beiden Feldern identisch ist, sondern auch zusätzliche Elemente. Dazu können die Namen der entsprechenden Tabellenspalten verwendet werden. Wir müssen außerdem die Grundlage für die Suche nach dem Feld Invoice Table schaffen, das mithilfe eines Elements vom Typ Tabelle erkannt werden soll.
  1. Wir beschreiben die Kopfzeile der Tabelle. Es gibt zwei Möglichkeiten, Spaltennamen zu erkennen.
    • Die erste besteht darin, ein oder mehrere Schlüsselwörter im Dialogfeld Column Properties anzugeben (im Dialogfeld Properties auf der Registerkarte Columns von Table element →). Diese Methode ist schnell, aber nicht sehr flexibel.
    • Die zweite Möglichkeit besteht darin, ein zuvor erkanntes Element als Referenzelement zu verwenden, um die Position des Spaltennamens zu bestimmen. Mit dieser Methode können Sie die zusätzlichen Einstellungen für Elemente voll ausschöpfen. Die Analyse der Ergebnisse der Voraberkennung zeigt, dass die Erkennungsqualität gut genug ist, sodass wir die erste Methode verwenden können (der einzige Haken wäre der sehr kurze Name der Spalte Menge — 20 % Fehler bei einem dreibuchstabigen Schlüsselwort wie „Qty“ bedeuten praktisch, dass kein Fehler zulässig ist). Wir verwenden die erste Methode, um die ersten beiden Spalten, Reference und Designation, zu erkennen, und können die zuvor beschriebenen Elemente verwenden, um die Namen der übrigen Spalten zu erkennen: Menge, Stückpreis und Gesamtbetrag (zumal wir diese Elemente ohnehin erstellen müssen, um die Felder TotalQuantity und TotalAmount zu erkennen).
  2. Wir beschreiben die Fußzeile der Tabelle. Auch sie kann entweder mithilfe von Schlüsselwörtern oder mithilfe eines Hilfselements beschrieben werden. Die Analyse der Schlüsselwörter in der Fußzeile zeigt, dass diese auf einigen Bildern auch in der ersten Tabellenzeile vorkommen. Deshalb müssen wir ein Hilfselement verwenden, um den Suchbereich einschränken zu können.
  3. Wir beschreiben den Suchbereich der Tabelle. Nachdem wir die Kopfzeile und die Fußzeile beschrieben haben, müssen wir die rechte Begrenzung der Tabelle festlegen (die linke Begrenzung müssen wir nicht festlegen, da sich in diesem Teil des Bildes keine anderen Daten befinden). Da wir den Kontext nicht verwenden können, um die Zahlen in der Spalte Gesamtbetrag von den Zahlen in der Spalte Sales zu unterscheiden, brauchen wir einen anderen Ansatz. Wir können den Namen der letzten Spalte, Sales, verwenden, um den Suchbereich der Tabelle nach rechts einzuschränken.
Elemente und die Reihenfolge, in der sie erkannt werden sollen, werden durch Versuch und Irrtum ausgewählt und können bei der Anpassung des FlexiLayouts geändert werden.
Bevor wir die verbleibenden Felder beschreiben, werden wir die Hilfselemente beschreiben.
  1. Die Analyse der Wechselbeziehungen zwischen den Elementen zeigt, dass wir zunächst die Namen der Spalten Menge, Stückpreis, Gesamtbetrag und Sales erkennen müssen.
  2. Die Kopfzeile der Tabelle beginnt mit einem horizontalen Separator zwischen den Spaltennamen und den Feldern Rechnungsnummer, Rechnungsdatum und Lieferadresse. Dieser Separator hilft uns dabei, die Suchbereiche für die Spaltennamen einzuschränken.
    • Erstellen Sie dazu ein Element vom Typ Separator und nennen Sie es hsTableHeaderTop (detaillierte Anweisungen finden Sie in Step 14). Wir suchen nach den Spaltennamen in ihrer natürlichen Reihenfolge.
    • Erstellen Sie ein Element vom Typ Group und nennen Sie es TableHeader (detaillierte Anweisungen finden Sie in Step 15). Dieses Element muss Folgendes enthalten:
      • Element kwQuantity vom Typ Static Text, das dem Namen der Spalte Menge in der Tabelle InvoiceTable entspricht (detaillierte Anweisungen finden Sie in Step 16);
      • Element kwUnitPrice vom Typ Static Text, das dem Namen der Spalte Stückpreis in der Tabelle InvoiceTable entspricht (detaillierte Anweisungen finden Sie in Step 17);
      • Element kwTotal vom Typ Static Text, das dem Namen der Spalte Gesamtbetrag in der Tabelle InvoiceTable entspricht (detaillierte Anweisungen finden Sie in Step 18);
      • Element kwSales vom Typ Static Text, das dem Namen der Spalte Sales in der Tabelle InvoiceTable entspricht (detaillierte Anweisungen finden Sie in Step 19).
  3. Fahren wir nun mit der Beschreibung des unteren Teils des Dokuments fort. Die Felder, die uns interessieren, sind die Bezeichnungen der Felder Gesamtmenge und Gesamtbetrag (wobei Letzteres als untere Begrenzung der Tabelle dient) sowie alle anderen Beschriftungen, die dabei helfen können, die untere Begrenzung der Tabelle zu bestimmen. In dieser Logikgruppe beschreiben wir außerdem das Namenselement und das Quellelement für das Feld Country.
  4. Erstellen Sie ein Group-Element und nennen Sie es Footer. Dieses Element muss Folgendes enthalten:
    • Element kwFooter vom Typ Static Text, das der Fußzeile der InvoiceTable entspricht (detaillierte Anweisungen finden Sie in Step 21);
    • Element kwTotal vom Typ Static Text, das den Bezeichnungen der Felder Gesamtmenge und Gesamtbetrag entspricht (detaillierte Anweisungen finden Sie in Step 22);
    • Element kwOrigin vom Typ Static Text, das der Bezeichnung des Country-Felds entspricht (detaillierte Anweisungen finden Sie in Step 23);
    • Element Country vom Typ Character String, das dem Country-Feld entspricht (detaillierte Anweisungen finden Sie in Step 24).
Nachdem nun alle Vorbereitungen getroffen und die Reihenfolge zum Erstellen zusätzlicher Elemente beschrieben wurden, können wir mit der Suche nach den verbleibenden Feldern beginnen. Auf Grundlage der zuvor erkannten Spaltennamen und von Footer beschreiben wir die verbleibenden Felder Gesamtmenge, Gesamtbetrag und Invoice Table.
  1. Erstellen Sie hierfür zwei Elemente vom Typ Zeichenkette und benennen Sie sie TotalQuantity und TotalAmount. Diese Elemente entsprechen den Feldern Gesamtmenge bzw. Gesamtbetrag (ausführliche Anweisungen finden Sie in Schritt 25).
  2. Erstellen Sie ein Element vom Typ Tabelle und benennen Sie es InvoiceTable. Dieses Element beschreibt das Feld Invoice Table (ausführliche Anweisungen finden Sie in Schritt 26).