
Tips and tricks
Einschränkung des Suchbereichs mithilfe von RestrictSearchArea
Verwenden Sie RestrictSearchArea in FlexiLayout Studio, um einen Suchbereich als Rechteck, Rechteck-Array oder Region festzulegen und die Duplizierung von Elementeinschränkungen zu vermeiden.
Mit der Funktion RestrictSearchArea können Sie den Suchbereich als Rechteck, als Array von Rechtecken oder als Region angeben.
Auf verschiedenen Seiten eines Dokuments befindet sich das gesuchte Feld oft an einer unterschiedlichen Position relativ zu seinem Namen. Auf manchen Seiten kann das Feld beispielsweise rechts vom Namen stehen, auf anderen unter dem Namen. In solchen Fällen empfiehlt es sich, den Suchbereich als Array von Rechtecken anzugeben. Siehe Verwendung von Nearest und FuzzyQuality zum Suchen von Elementen zur Verwendung der Funktion RestrictSearchArea in solchen Fällen.
Es kann auch sinnvoll sein, die Funktion RestrictSearchArea zu verwenden, anstatt für mehrere Elemente identische Suchbedingungen zu duplizieren.
Verwenden Sie diese Funktion, um den Suchbereich des Datumsfelds oder eines anderen Felds zu beschreiben, wenn aus irgendeinem Grund (z. B. wegen geringer Bildqualität oder Besonderheiten im Layout) die Verwendung eines Elements eines Typs nicht ausreicht.
Sehen wir uns an, wie die Funktion RestrictSearchArea bei der Suche nach einem Datumsfeld verwendet werden kann. In der Regel wird empfohlen, nach Datumsfeldern mithilfe von mindestens zwei Elementtypen zu suchen: Date und Zeichenkette. Ist die Bildqualität jedoch sehr schlecht, reichen diese beiden Elemente möglicherweise nicht aus. Siehe Erkennen von Datumsangaben bei Voraberkennung mit geringer Qualität für weitere Details dazu, wie die Suche nach Datumsfeldern organisiert werden kann.
Sehen wir uns diese Funktion in der Praxis an, indem wir das Beispielprojekt SearchOfDate.fsp ausführen (Ordner %public%\ABBYY\FlexiCapture\12.0\Samples\FLS\Tips and Tricks\RestrictSearchArea). Dieses Projekt ist eine Kopie des gleichnamigen Projekts aus dem Projektordner Date\FCS. Die Suchbedingungen für alle darin enthaltenen Elemente (DateField, DateAsString und DateAsObjectCollection) waren identisch und sahen wie in der folgenden Abbildung gezeigt aus.

Im aktuellen Projekt verwenden wir jedoch die Funktion RestrictSearchArea, anstatt die Suchbedingungen auf der Registerkarte Relations für die Elemente DateAsString und DateAsObjectCollection zu duplizieren, indem wir den folgenden Code in das Feld Advanced pre-search relations auf der Registerkarte Advanced schreiben:
if (DateField.IsNull == FALSE) then Dontfind();
else RestrictSearchArea (DateField.Rect);
Dieser Code bedeutet, dass nur dann versucht wird, das Datumsfeld als Zeichenkette oder als Objektsammlung zu finden, wenn das Programm es nicht mithilfe des Elements Date erkennt. Beide Elemente werden dann genau in dem Bereich gesucht, in dem das Element DateField nicht erkannt wurde. Das liegt daran, dass die Methode DateField.Rect das Rechteck zurückgibt, das die Hypothese des Elements DateField umschließt. Da die Hypothese nicht gefunden wurde, stimmt das umschließende Rechteck mit dem Suchbereich überein. Daher geben wir für die Elemente DateAsString und DateAsObjectCollection einen Suchbereich an, der mit dem Rechteck übereinstimmt, das den Suchbereich des nicht erkannten Elements DateField umschließt.

Suche nach einzeiligen Static Text-Elementen
Zurück
Suche nach einzeiligen Feldern mit bekanntem oder unbekanntem Format in Dokumenten mit unterschiedlicher OCR-Qualität
Weiter
