Comment la fonction Exclude supprime des Regions d’une zone de recherche
Exclude exclut une Region de la zone de recherche d’un élément. La Region à exclure est spécifiée lors de l’appel de la fonction.
La Region exclue peut être l’une des suivantes :
- La Region d’une hypothèse (détectée ou non)
- Un rectangle ou un array de rectangles des éléments trouvés
- Une Region construite à partir des Regions d’objets faisant partie d’une hypothèse trouvée (voir la method
ExcludeSet)

Le projet d’exemple Exclude.fsp
Exclude.fsp (dossier %public%\ABBYY\FlexiCapture\12.0\Samples\FLS\Tips and Tricks\Exclude) montre comment fonctionne la fonction Exclude.
Le projet comporte quatre pages :
- Page 1 – Le champ d’adresse est écrit sur plusieurs lignes. Le nom Address: se trouve sur la première ligne ; nous ne pouvons donc pas dire que le champ de données recherché se trouve à droite ou en dessous du libellé du champ. Cependant, ce nom doit tout de même être exclu de la reconnaissance.
- Page 2 – Le champ d’adresse n’a pas de nom.
- Pages 3 and 4 – La ligne (Address) se trouve à l’intérieur du champ de données. Cependant, elle doit être exclue de la reconnaissance.
Créer des éléments pour les noms des champs et le champ d’adresse
L’élément du nom doit être créé avant l’élément du champ d’adresse, car la fonction
Exclude permet uniquement de faire référence à des éléments situés plus haut dans l’arborescence FlexiLayout que l’élément actuel.
Exclure le libellé du champ de la zone de recherche de l’élément Address
Après avoir enregistré les propriétés de l’élément, exécutez de nouveau la procédure de mise en correspondance FlexiLayout. Vous verrez que la Region du bloc correspondant au champ d’adresse prend une forme non rectangulaire, car la Region du libellé du champ en a été découpée.

La section Exclure les Regions des éléments vous permet d’exclure de la zone de recherche de l’élément actif la Region d’une hypothèse trouvée pour un autre élément. Pour exclure une zone géométriquement plus complexe, ou pour détecter d’abord une Region puis l’exclure du processus de reconnaissance, utilisez les fonctions
Exclude, ExcludeRect et ExcludeSet dans le champ relations avancées de pré-recherche.Par définition, la Region d’un bloc se compose de rectangles superposés ; par conséquent, toute ligne horizontale ne peut traverser la Region qu’une seule fois, c’est-à-dire qu’il ne peut pas y avoir de « dents » verticales saillantes.Par conséquent, si la ligne à exclure et les informations requises se trouvent au même niveau, ou à peu près, le libellé du champ ne peut pas être exclu au stade de la création du FlexiLayout. Dans ce cas, le nom peut être exclu après la reconnaissance dans FlexiCapture à l’aide de la règle « Substitute from the list ».


