Zum Hauptinhalt springen
Nachdem alle Vorbereitungen abgeschlossen sind, können Sie das Feld Invoice Table suchen, indem Sie ein Table-Element erstellen:
  1. Kopfzeile der Tabelle. Wie zuvor festgelegt, geben Sie die Spaltennamen mithilfe bereits erkannter Hilfselemente an.
  2. Fußzeile der Tabelle. Wie zuvor festgelegt, wird die Fußzeile mithilfe des bereits erkannten erforderlichen Elements Paragraph aus der Gruppe InvoiceFooter angegeben, das den Beginn des Schlussteils kennzeichnet. Dieses Element wurde als das dem unteren Rand der Tabelle nächstgelegene Element beschrieben.
  3. Suchbereich für die Tabelle. Sie können den Suchbereich auf der rechten Seite mithilfe des Namens der letzten Spalte Sales begrenzen, die für keine anderen Zwecke benötigt wird.

Erstellen des Elements InvoiceTable

So erstellen Sie ein InvoiceTable-Element:
  1. Erstellen Sie im SearchElements-Baum ein Element vom Typ Table und benennen Sie es als InvoiceTable.
  2. Klicken Sie auf die Registerkarte Columns.
  3. Klicken Sie auf Select, um den zuvor in Schritt 3 erstellten Block InvoiceTable als den zu suchenden Block auszuwählen.
  4. Geben Sie die Suchparameter für die Tabellenspalten an:
    • Wählen Sie in der Spaltenliste Reference aus und klicken Sie auf die Schaltfläche Properties… Verwenden Sie für den Namen dieser Spalte das zuvor erkannte Element TableHeader.kwReference. Um es zu verwenden, wählen Sie Use found element as column name aus, klicken Sie dann auf Schaltfläche „Durchsuchen“ und wählen Sie TableHeader.kwReference aus.
    • Wählen Sie in der Spaltenliste Bezeichnung aus und klicken Sie auf die Schaltfläche Properties… Verwenden Sie für den Namen dieser Spalte das zuvor erkannte Element TableHeader.kwDesignation.
    • Wählen Sie in der Spaltenliste Unit aus und klicken Sie auf die Schaltfläche Properties… Verwenden Sie für den Namen dieser Spalte das zuvor erkannte Element TableHeader.kwUnit.
    • Wählen Sie in der Spaltenliste Menge aus und klicken Sie auf die Schaltfläche Properties… Verwenden Sie für den Namen dieser Spalte das zuvor erkannte Element TableHeader.kwQuantity.
    • Wählen Sie in der Spaltenliste UnitPrice aus und klicken Sie auf die Schaltfläche Properties… Verwenden Sie für den Namen dieser Spalte das zuvor erkannte Element TableHeader.kwUnitPrice.
    • Wählen Sie in der Spaltenliste Gesamtbetrag aus und klicken Sie auf die Schaltfläche Properties… Verwenden Sie für den Namen dieser Spalte das zuvor erkannte Element TableHeader.kwTotal.
  5. Klicken Sie auf die Registerkarte Reihenfolge.
  6. Da die gesuchten Spalten möglicherweise durch andere Spalten voneinander getrennt sind (zum Beispiel ExtraQtyTag), ihre Reihenfolge jedoch immer fest ist (zuerst Bezeichnung, dann Stückpreis, dann Gesamtbetrag), wählen Sie Regeln für Spaltenreihenfolge aus, klicken Sie auf Add…, und fügen Sie die Spalten in der folgenden Reihenfolge hinzu: Bezeichnung << Stückpreis << Gesamtbetrag.
Screenshot der Registerkarte „Reihenfolge“ der Eigenschaften des Table-Elements InvoiceTable in ABBYY FlexiLayout Studio, in dem die Option „Regeln für Spaltenreihenfolge“ ausgewählt ist und die Spalten Bezeichnung, Stückpreis und Gesamtbetrag in der erforderlichen Reihenfolge hinzugefügt wurden.
  1. Klicken Sie auf die Registerkarte Header. Der Tabellen-Header wird benötigt, es sind jedoch keine zusätzlichen Einschränkungen erforderlich, daher behalten Sie die Standardwerte bei.
  2. Klicken Sie auf die Registerkarte Footer. Verwenden Sie das zuvor erkannte Element InvoiceFooter.Paragraph für den abschließenden Teil der Tabelle. Wählen Sie die Option gefundenes Element als Fußzeile verwenden aus, klicken Sie auf Schaltfläche „Durchsuchen“ und wählen Sie dann das Element InvoiceFooter.Paragraph aus.
Screenshot der Registerkarte „Footer“ der Eigenschaften des Table-Elements InvoiceTable in ABBYY FlexiLayout Studio, in dem die Option „gefundenes Element als Fußzeile verwenden“ ausgewählt ist und das Element InvoiceFooter.Paragraph als Tabellenfußzeile gewählt wurde.
  1. Klicken Sie auf die Registerkarte Rows.
  2. Da die Zellen in einigen Spalten mehrere Zeilen enthalten können, müssen Sie Master columns für die Zeilentrennung angeben. Wählen Sie Use master columns to detect rows aus. Geben Sie zuerst die Spalte Gesamtbetrag an, da diese Spalte immer Daten enthält und für jeden Tabellen-Datensatz genau eine Datenzeile aufweist. Falls diese Spalte im Bild nicht erkannt wird, geben Sie die Spalten Stückpreis und Menge als nächste Option für die Zeilentrennung an. Verwenden Sie die Schaltfläche Schaltfläche „Durchsuchen“, um diese Spalten auszuwählen.
Screenshot der Registerkarte „Rows“ der Eigenschaften des Table-Elements InvoiceTable in ABBYY FlexiLayout Studio, in dem die Option „Use master columns to detect rows“ ausgewählt ist und die Spalten Gesamtbetrag, Stückpreis und Menge als Master columns für die Zeilentrennung festgelegt wurden.
  1. Wählen Sie die Registerkarte Relations aus. Da sich die Tabellenspalten, die uns interessieren, links vom Namen der Spalte Sales befinden, fügen Sie die folgenden Suchbedingungen hinzu:
    • Links vom Element TableHeader.kwSales, Offset = 0
    Bei Bildern von schlechter Qualität (z. B. wenn sich Rauschen zwischen Tabellenkörper und Fußzeile der Tabelle befindet oder wenn keine Kopf- oder Fußzeile vorhanden ist) können Sie obere und untere Tabellenbegrenzungen festlegen. In diesem Fall können Sie das Element kwDesignation als obere Begrenzung und das Element Paragraph als untere Begrenzung verwenden. Fügen Sie auf der Registerkarte Relations die folgenden Suchbedingungen hinzu:
    • Unterhalb der oberen Begrenzung des Elements kwDesignation, Offset = -50, Referenzbegrenzung = Top
    • Oberhalb des Elements Paragraph, Offset = -50, Referenzbegrenzung = Bottom
  2. Gleichen Sie das FlexiLayout mit den Testbildern ab. Sie werden feststellen, dass das Programm das Table-Element auf allen Bildern korrekt erkennt, bei einigen Bildern jedoch die Spalte Menge überflüssigen Text aus der vorhergehenden Spalte enthält. Um die relevanten Daten in der Spalte Menge von irrelevanten Daten zu trennen, legen Sie den Inhaltstyp für diese Spalte fest.
  3. Öffnen Sie das Dialogfeld Properties des Table-Elements InvoiceTable. Klicken Sie auf die Registerkarte Columns, öffnen Sie das Dialogfeld Properties… der Spalte Menge, und wählen Sie die Option Check content type aus. Wählen Sie unter Type of column content die Option Number aus.
Screenshot der Eigenschaften der Spalte Menge in ABBYY FlexiLayout Studio. Darin ist die ausgewählte Option Check content type zu sehen, wobei Number als Typ des Spalteninhalts ausgewählt ist.
  1. Wenn Sie das FlexiLayout jetzt mit den Bildern abgleichen, werden Sie sehen, dass die Spalte Menge nur Ziffern enthält, wie erforderlich.
  2. Legen Sie auf ähnliche Weise für die Spalten UnitPrice und Gesamtbetrag den Inhaltstyp Currency fest.
  3. Um die Position des Blocks InvoiceTable anzugeben, wählen Sie die Option Source element aus. Klicken Sie auf Schaltfläche „Durchsuchen“ und geben Sie InvoiceTable als Source element an.