Skip to main content
Mit der Funktion RestrictSearchArea können Sie den Suchbereich als Rechteck, als Array von Rechtecken oder als Region angeben.

Wann RestrictSearchArea verwendet werden sollte

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. Weitere Informationen zur Verwendung der Funktion RestrictSearchArea in solchen Fällen finden Sie unter Suche nach Elementen mit Nearest und FuzzyQuality. 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.

Das Projekt SearchOfDate.fsp mit duplizierten Suchbedingungen

Die Funktion RestrictSearchArea kann auch bei der Suche nach einem Datumsfeld verwendet werden. Suchen Sie in der Regel nach Datumsfeldern mithilfe von mindestens zwei Elementtypen: Date und Zeichenkette. Ist die Bildqualität jedoch sehr schlecht, reichen diese beiden Elemente möglicherweise nicht aus. Weitere Informationen dazu, wie die Suche nach Datumsfeldern organisiert werden kann, finden Sie unter Suche nach Datumsangaben nach Erkennung mit hoher oder geringer Qualität. Um diese Funktion in der Praxis zu sehen, führen Sie das Beispielprojekt SearchOfDate.fsp aus (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.
Screenshot von Relations in den Eigenschaften des Suchelements in ABBYY FlexiLayout Studio, der die ursprünglich identischen Suchbedingungen für die Elemente DateField, DateAsString und DateAsObjectCollection im Projekt SearchOfDate.fsp zeigt.

Ersetzen Sie duplizierte Suchbedingungen durch RestrictSearchArea

Im aktuellen Project werden die Suchbedingungen für die Elemente DateAsString und DateAsObjectCollection jedoch nicht in Relations dupliziert. Stattdessen wird die Funktion RestrictSearchArea verwendet, mit dem folgenden Code im Feld Advanced pre-search relations auf dem Tab Advanced:
Dieser Code bedeutet, dass die Suche nach dem Datumsfeld als string oder als Objektsammlung nur dann erfolgt, wenn FlexiLayout Studio es nicht mithilfe des Elements Date erkennt. Beide Elemente werden dann in demselben Bereich gesucht, in dem das Element DateField nicht erkannt werden konnte. Das geschieht, weil die Methode DateField.Rect das Rechteck zurückgibt, das die Hypothese des Elements DateField umschließt. Da die Hypothese nicht gefunden wurde, fällt das umschließende Rechteck mit dem Suchbereich zusammen. Daher stimmt der für die Elemente DateAsString und DateAsObjectCollection angegebene Suchbereich mit dem Rechteck überein, das den Suchbereich des nicht erkannten Elements DateField umschließt.