> ## 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.

# Géométrie de la zone de recherche

> Comment se forme la géométrie de la zone de recherche dans les FlexiLayouts : plages de coordonnées des limites, application des contraintes LeftBound et comportement en mode une page ou multipage.

Imaginons, pour simplifier, qu’aucune contrainte de recherche ne soit définie dans les onglets **Contraintes de recherche** et **Relations** pour l’élément et les éléments Group parents. Dans ce cas, avant que le programme n’applique les contraintes de la section **Relations avancées de pré-recherche**, la zone de recherche de l’élément coïncidera avec le rectangle de la page. S’il n’y a pas d’autres contraintes dans l’onglet **Avancé**, le programme recherchera l’élément sur toute la page.

<div id="how-constraints-shape-the-search-area">
  ## Comment les contraintes façonnent la zone de recherche
</div>

L’application des contraintes de types 1, 2 et 4 décrites dans [Contraintes de recherche](/fr/flexi-capture/fls/language/search-conditions) créera une zone de recherche constituée d’un tableau de rectangles. Le programme considérera alors que la zone de recherche se compose d’un rectangle circonscrivant l’ensemble du tableau, duquel un jeu donné de rectangles (rectangles exclus) doit être exclu.

L’application des contraintes de recherche de type 3 décrites dans [Contraintes de recherche](/fr/flexi-capture/fls/language/search-conditions) créera une plage de coordonnées autorisées pour chaque limite des hypothèses : gauche, droite, supérieure et inférieure. Chacune de ces limites est caractérisée par une plage de coordonnées sur l’axe correspondant, par exemple \[x1, x2] ou \[y1, y2]. Ici, x1 et x2 sont de type XCoordinate, et y1 et y2 sont de type YCoordinate. La portion de l’axe doit satisfaire la condition suivante : x1 \<= x2 pour les coordonnées X, et y1 \<= y2 pour les coordonnées Y.

Si plusieurs contraintes sont appliquées successivement à une limite, chacune d’elles modifiera la plage des coordonnées autorisées pour cette limite.

<div id="example-applying-leftbound-constraints">
  ## Exemple : application des contraintes LeftBound
</div>

Supposons que la section **Relations avancées de pré-recherche** contienne les contraintes suivantes :

```text theme={null}
LeftBound > 5mm;
LeftBound < 15mm;
LeftBound < 10mm;
```

Supposons que la zone de recherche ne soit pas spécifiée avant l’exécution de ces contraintes. Dans ce cas, pour un FlexiLayout à une page (le nombre minimal et maximal de pages autorisé dans un document est de 1), la zone de recherche coïncide avec le rectangle de la page `[PageRect.Left, PageRect.Top, PageRect.Right, PageRect.Bottom]`. Dans le cas d’un FlexiLayout multipage, la zone de recherche a la taille maximale de `[-INF, -INF, INF, INF]`. Les plages de coordonnées des limites de l’élément seront les suivantes :

| **Limite**  | **Plage pour un FlexiLayout à une page** | **Plage pour un FlexiLayout multipage** |
| ----------- | ---------------------------------------- | --------------------------------------- |
| LeftBound   | \[PageRect.Left, PageRect.Right]         | \[-INF, INF]                            |
| TopBound    | \[PageRect.Top, PageRect.Bottom]         | \[-INF, INF]                            |
| RightBound  | \[PageRect.Left, PageRect.Right]         | \[-INF, INF]                            |
| BottomBound | \[PageRect.Top, PageRect.Bottom]         | \[-INF, INF]                            |

Lorsque la contrainte `LeftBound > 5mm` est exécutée, seule la limite gauche change. La plage de ses valeurs possibles devient le segment `[5mm, PageRect.Right]` pour les FlexiLayout à une page et le segment `[5mm, INF]` pour les FlexiLayout multipages.

Après l’application de la contrainte `LeftBound < 15mm`, la plage des coordonnées autorisées de la limite gauche sera `[5mm, 15mm]`.

Après l’application de la contrainte `LeftBound < 10mm`, la plage des coordonnées autorisées de la limite gauche sera `[5mm, 10mm]`.

De la même manière, vous pouvez définir des contraintes pour les autres limites de l’élément.

Les limites spécifiées de la zone de recherche forment un [fuzzy rectangle](/fr/flexi-capture/fls/language/fuzzy-rect).
