Skip to main content
Die Analyse der Testbilder zeigt, dass sich das Feld Rechnungsdatum rechts von seiner Bezeichnung und auf derselben horizontalen Ebene wie diese befindet. Verwenden Sie ein Element vom Typ Date, um nach dem Datum zu suchen. Erstellen Sie für Bilder von schlechter Qualität, bei denen Datumsangaben möglicherweise nicht korrekt erkannt werden und die Suche nach dem Date-Element keine Ergebnisse liefert, zusätzlich ein Element vom Typ Zeichenkette. Um die Eigenschaften festzulegen, die für alle diese Elemente gemeinsam sind, erstellen Sie ein zusammengesetztes Element grDate. So erstellen Sie das Element grDate:
  1. Erstellen Sie im Element InvoiceHeader ein Element vom Typ Group und nennen Sie es grDate.
  2. Klicken Sie auf die Registerkarte Relations.
  3. Da alle Elemente, die zum Erkennen des Felds Rechnungsdatum verwendet werden, nur rechts von den Schlüsselwörtern der Bezeichnung kwInvoiceDate vorkommen dürfen und sich auf derselben Ebene wie die Bezeichnung befinden, legen Sie die folgenden Suchbedingungen fest:
    • Rechts vom Element kwInvoiceDate, Offset = 0.
    • Oberhalb des Elements kwInvoiceDate, Offset = -10, Element boundary = Bottom.
    • Unterhalb des Elements kwInvoiceDate, Offset = -10, Element boundary = Top.
Screenshot der Registerkarte Relations im Dialogfeld Properties of SearchElements.InvoiceHeader.grDate in ABBYY FlexiLayout Studio mit den Beziehungen RightOf, Below und Above zum Element kwInvoiceDate.
So erstellen Sie das Element InvoiceDate:
  1. Erstellen Sie im Element InvoiceHeader.grDate ein Element vom Typ Date und nennen Sie es InvoiceDate.
  2. Klicken Sie auf die Registerkarte Date.
  3. Geben Sie auf der Registerkarte Date alle möglichen Datumsformate an, die auf den Bildern vorkommen können. Gehen Sie davon aus, dass das Datumsformat Tag, Monat, Jahr ist, die Sprache Englisch ist und es keine weiteren Einschränkungen für das Datum gibt.
Screenshot der Registerkarte Date im Dialogfeld Properties of SearchElements.InvoiceHeader.grDate.InvoiceDate in ABBYY FlexiLayout Studio, bei dem das Format Tag, Monat, Jahr ausgewählt ist und Englisch als Datumssprache festgelegt wurde.
  1. Klicken Sie auf die Registerkarte Advanced.
  2. Da das Feld Rechnungsdatum in diesem Dokument optional ist, aber, wenn es vorkommt, zusammen mit seiner Bezeichnung erscheint und sich immer neben dieser befindet, legen Sie im Feld Advanced pre-search relations die folgende zusätzliche Suchbedingung fest: Suchen Sie nur dann nach dem Objekt auf dem Bild, wenn das Element kwInvoiceDate erkannt wurde. Suchen Sie nach dem Bildobjekt, das dem Element kwInvoiceDate am nächsten liegt. In der FlexiLayout language: If InvoiceHeader.kwInvoiceDate.IsNull Then DontFind; Nearest: InvoiceHeader.kwInvoiceDate;
    Die Bedingung Nearest kann auch über die grafische Benutzeroberfläche des Programms festgelegt werden. Klicken Sie auf die Registerkarte Relations, wählen Sie Nearest, und wählen Sie in der Dropdown-Liste To: den Eintrag Element aus. Geben Sie dann kwInvoiceDate als Referenzelement an.
  3. Testen Sie das Matching des FlexiLayouts mit den Testbildern und stellen Sie sicher, dass das Programm das Element auf allen Bildern, auf denen ein Feld Rechnungsdatum vorhanden ist, erfolgreich erkennt.
Beim Testen werden Sie feststellen, dass das Element auf einigen Bildern nicht erkannt wurde. Die Analyse der Ergebnisse der Vorerkennung zeigt, dass dies auf Rauschen im Bereich des Felds zurückzuführen ist. Keine der Standardeigenschaften des Elements Date eignet sich, um dieses Problem zu beheben. Daher müssen Sie ein alternatives Element mit weniger strengen Suchbedingungen erstellen.
Weitere Informationen zum Finden von Datumsangaben auf Bildern schlechter Qualität finden Sie unter Datumssuche nach Erkennung mit hoher oder niedriger Qualität.
So erstellen Sie das Element InvoiceDateAsString:
  1. Erstellen Sie im Element InvoiceHeader.grDate ein Element vom Typ Zeichenkette und benennen Sie es InvoiceDateAsString.
  2. Klicken Sie auf die Registerkarte Zeichenkette.
  3. Geben Sie im Feld Zeichenanzahl dieses Fuzzy-Intervall an: {-1, 8, 14, INF}. Dies ist eine Schätzung der string-Länge. Gehen Sie davon aus, dass die string 8 bis 14 Zeichen lang sein kann. Jede Hypothese außerhalb dieses Bereichs wird herabgestuft.
  4. Setzen Sie die Max. Leerraumlänge auf 20; das bedeutet, dass das Leerzeichen 20 dots lang sein kann.
  5. Lassen Sie für die übrigen Eigenschaften die Standardwerte unverändert.
  6. Klicken Sie auf die Registerkarte Advanced.
  7. Da das Programm nur dann nach diesem Element suchen soll, wenn das Element InvoiceDate nicht erkannt wurde, legen Sie im Feld Advanced pre-search relations die folgende zusätzliche Suchbedingung fest: Suchen Sie nur dann nach dem Objekt, wenn das Element InvoiceDate nicht erkannt wurde. In der FlexiLayout language: If Not InvoiceDate.IsNull Then DontFind;
  8. Da das Feld Rechnungsdatum in diesem Dokument optional ist, aber, wenn es vorkommt, immer zusammen mit seiner Bezeichnung vorhanden ist und sich daneben befindet, legen Sie im Feld Advanced pre-search relations die folgende zusätzliche Suchbedingung fest: Suchen Sie nur dann in dem image nach dem Objekt, wenn das Element kwInvoiceDate erkannt wurde. Suchen Sie das Bildobjekt, das dem Element kwInvoiceDate am nächsten liegt. In der FlexiLayout language: If InvoiceHeader.kwInvoiceDate.IsNull Then DontFind; Nearest: InvoiceHeader.kwInvoiceDate;
    Die Bedingung Nearest kann auch über die grafische user interface des Programms angegeben werden. Klicken Sie auf die Registerkarte Relations, wählen Sie Nearest aus, und wählen Sie in der Dropdown-Liste To: Element aus und geben Sie kwInvoiceDate als Referenzelement an.
  9. Führen Sie den Abgleich des FlexiLayouts mit den Testbildern durch und stellen Sie sicher, dass das Programm das Element auf allen Bildern, auf denen ein Feld Rechnungsdatum vorhanden ist, erfolgreich erkennt und für das Element InvoiceDate eine null hypothesis erzeugt.
  10. Um die Position des Blocks InvoiceDate zu beschreiben, wählen Sie die Option Source element aus, klicken Sie dann auf Schaltfläche „Durchsuchen” und wählen Sie das Element InvoiceHeader.grDate als source element aus.
Die Region eines Gruppenelements wird berechnet, indem die Regionen aller erkannten Subelemente vereinigt werden.