Zum Hauptinhalt springen
Die Analyse der Testbilder zeigt, dass sich das Feld Rechnungsdatum rechts von seiner Bezeichnung und auf derselben horizontalen Ebene wie diese befindet. Wir verwenden ein Element vom Typ Date, um nach dem Datum zu suchen. Falls Bilder von schlechter Qualität vorliegen und Datumsangaben deshalb möglicherweise nicht korrekt erkannt werden, sodass die Suche nach dem Date keine Ergebnisse liefert, erstellen Sie zusätzlich ein Element vom Typ Zeichenkette. Um die Eigenschaften festzulegen, die für alle diese Elemente gemeinsam sind, müssen wir ein zusammengesetztes Element grDate erstellen. 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.
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. Wir gehen davon aus, dass das Datumsformat Tag, Monat, Jahr ist, die Sprache Englisch ist und es keine weiteren Einschränkungen für das Datum gibt.
  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; Hinweis. 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 Reference element 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 wir ein alternatives Element mit weniger strengen Suchbedingungen erstellen.
Weitere Informationen zum Finden von Datumsangaben auf Bildern schlechter Qualität finden Sie im Abschnitt Tips and Tricks der Hilfedatei.
So erstellen Sie das Element InvoiceDateAsString:”
  1. Erstellen Sie im Element InvoiceHeader.grDate ein Element vom Typ Zeichenkette und nennen Sie es InvoiceDateAsString.
  2. Klicken Sie auf die Registerkarte Zeichenkette.
  3. Geben Sie im Feld Zeichenanzahl das folgende Fuzzy-Intervall an: {-1, 8, 14, INF}. Es ist eine Schätzung der string-Länge. Wir gehen davon aus, dass die string 8 bis 14 Zeichen lang sein kann. Jede Hypothese außerhalb dieses Bereichs wird mit einem Malus belegt.
  4. Setzen Sie die maximale Leerzeichenlänge auf 20. Das bedeutet, dass das Leerzeichen 20 Punkte lang sein kann.
  5. Lassen Sie die Standardwerte für die übrigen Eigenschaften unverändert.
  6. Klicken Sie auf die Registerkarte Advanced.
  7. Da das Programm nur dann nach diesem Element suchen soll, wenn das Element InvocieDate 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 InvocieDate 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 seinem Namen erscheint und sich neben diesem befindet, legen Sie im Feld Advanced pre-search relations die folgende zusätzliche Suchbedingung fest: Suchen Sie nur dann auf dem Bild 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; Hinweis. Die Einschränkung Nearest kann auch über die grafische Benutzeroberfläche des Programms angegeben werden. Klicken Sie auf die Registerkarte Relations, wählen Sie Nearest aus, und wählen Sie in der Dropdown-Liste To: die Option Element aus. Geben Sie dann kwInvoiceDate als Reference element an.
  9. Testen Sie das Matching des FlexiLayout mit den Testbildern und stellen Sie sicher, dass das Programm das Element auf allen Bildern mit einem Feld Rechnungsdatum erfolgreich erkennt und eine Nullhypothese für das Element InvoiceDate erzeugt.
  10. Um die Position des Blocks InvoiceDate zu beschreiben, wählen Sie die Option Source element aus, klicken Sie dann auf und wählen Sie das Element InvoiceHeader.grDate als Quellelement aus.
Die Region eines Gruppenelements wird berechnet, indem die Regionen aller erkannten Subelemente vereinigt werden.