> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Contraintes de recherche

> Comprendre comment les zones de recherche sont définies à l’aide des propriétés des éléments et des conditions de recherche.

La zone de recherche d’un élément est définie à l’aide des propriétés de l’élément dans la section **Où rechercher** et des conditions dans la section **Conditions de recherche**. Avant d’appliquer ces propriétés et conditions, la zone de recherche coïncide avec le rectangle de la Page. Le programme applique d’abord les propriétés de l’élément, puis les restrictions supplémentaires définies dans la section **Conditions de recherche**.

Les types de contrainte suivants peuvent être définis dans la section **Conditions de recherche** :

1. La zone de recherche peut être limitée à un rectangle (variable `Rect`), à une région (c’est-à-dire un ensemble continu de rectangles — variable `Region`), ou à un tableau de rectangles qui, en général, n’a pas besoin d’être continu (variable `RectArray`). Ce type de contrainte est défini à l’aide de la fonction `RestrictSearchArea` en spécifiant un paramètre du type correspondant. Toute expression renvoyant une valeur du type requis peut être indiquée comme paramètre.
2. La zone de recherche peut être limitée à un demi-plan situé à gauche, à droite, au-dessus ou au-dessous d’un point donné. De telles contraintes sont définies à l’aide des fonctions Leftof, Rightof, Above et Below.
3. Il peut être utile de définir des contraintes sur une limite d’élément. Par exemple, on peut savoir à l’avance que la limite gauche d’un élément se situe toujours dans la partie gauche de l’image, tandis que la limite droite peut s’étendre indéfiniment vers la droite. Le langage FlexiLayout permet de définir de telles contraintes lors du calcul de la zone de recherche, réduisant ainsi l’éventail des hypothèses possibles pour un élément. Ces contraintes sont définies à l’aide des fonctions `LeftBound`, `RightBound`, `topBound` et `BottomBound` et des opérateurs `>` et `<`. Les fonctions `LeftBound` et `RightBound` servent à accéder aux limites gauche et droite de la zone de recherche, et les fonctions `topBound` et `BottomBound` aux limites supérieure et inférieure respectivement.
4. Vous pouvez définir des contraintes de recherche en excluant de la zone de recherche un rectangle, un ensemble de rectangles, une hypothèse, etc. Pour cela, utilisez les fonctions `Exclude`, `ExcludeRect` et `ExcludeSet`.

Vous pouvez spécifier un nombre quelconque de contraintes de recherche des types ci-dessus dans la section **Conditions de recherche**. Chaque contrainte créera une région sur l’image. Toutes les régions créées par les contraintes seront intersectées.

En outre, la zone de recherche calculée pour l’élément sera intersectée avec la zone de recherche de l’élément Group dont cet élément est membre.
