Passer au contenu principal
La fonction RestrictSearchArea vous permet de spécifier la zone de recherche sous la forme d’un rectangle, d’un tableau de rectangles ou d’une région.

Quand utiliser RestrictSearchArea

Sur différentes pages du document, le champ recherché se trouve souvent à des positions différentes par rapport à son nom. Par exemple, sur certaines pages, le champ peut se trouver à droite du nom, tandis que sur d’autres, il peut se trouver en dessous. Dans ce cas, il est conseillé de spécifier la zone de recherche sous la forme d’un tableau de rectangles. Pour plus d’informations sur l’utilisation de la fonction RestrictSearchArea dans ce type de situation, voir Recherche d’éléments avec Nearest et FuzzyQuality. Il peut également être judicieux d’utiliser la fonction RestrictSearchArea au lieu de dupliquer des contraintes de recherche identiques pour plusieurs éléments. Utilisez cette fonction pour décrire la zone de recherche du champ de date ou de tout autre champ lorsque, pour une raison quelconque (par exemple une faible qualité d’image ou des particularités de mise en page), l’utilisation d’un élément d’un seul type ne suffit pas.

Le projet SearchOfDate.fsp avec des contraintes dupliquées

La fonction RestrictSearchArea peut également être utilisée pour rechercher un champ de date. En règle générale, recherchez des champs de date à l’aide d’au moins deux types d’éléments : Date et Character String. Cependant, si la qualité de l’image est très faible, ces deux éléments peuvent ne pas suffire. Pour plus d’informations sur la manière d’organiser une recherche de champs de date, voir Recherche de date après une reconnaissance de haute ou de faible qualité. Pour voir cette fonction en action, exécutez le projet d’exemple SearchOfDate.fsp (dossier %public%\ABBYY\FlexiCapture\12.0\Samples\FLS\Tips and Tricks\RestrictSearchArea). Ce projet est une copie du projet du même nom situé dans le dossier de projet Date\FCS. Les contraintes de recherche de tous ses éléments (DateField, DateAsString et DateAsObjectCollection) étaient identiques, comme le montre la figure suivante.
Capture d’écran de l’onglet Relations dans les propriétés de l’élément de recherche dans ABBYY FlexiLayout Studio, montrant les contraintes de recherche identiques initialement spécifiées pour les éléments DateField, DateAsString et DateAsObjectCollection dans le projet SearchOfDate.fsp.

Remplacez les contraintes dupliquées par RestrictSearchArea

Dans le projet actuel, cependant, au lieu de dupliquer les contraintes de recherche dans l’onglet Relations pour les éléments DateAsString et DateAsObjectCollection, on utilise la fonction RestrictSearchArea, avec le code suivant dans le champ relations avancées de pré-recherche de l’onglet Advanced :
Ce code signifie que la recherche du champ de date en tant que string ou en tant qu’Object Collection ne sera tentée que si FlexiLayout Studio ne parvient pas à le détecter au moyen de l’élément Date. Les deux éléments seront alors recherchés dans la même zone que celle où l’élément DateField n’a pas été détecté. Cela s’explique par le fait que la méthode DateField.Rect renvoie le rectangle englobant l’hypothèse de l’élément DateField. Comme l’hypothèse n’a pas été trouvée, le rectangle englobant coïncidera avec la zone de recherche. Par conséquent, la zone de recherche spécifiée pour les éléments DateAsString et DateAsObjectCollection coïncide avec le rectangle englobant la zone de recherche de l’élément DateField non détecté.