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

# Décrire des champs de texte contenant des lettres encadrées

> Décrivez les champs de texte à lettres encadrées (combed) dans FlexiLayout Studio en dérivant les limites du champ à partir des éléments White Gap dans le code Expression du bloc.

Il peut parfois être nécessaire de créer un FlexiLayout pour rechercher des champs que l’on trouve généralement dans des documents traditionnels à mise en page fixe. Par exemple, vous pouvez avoir besoin de décrire un champ dans lequel des lettres doivent être saisies dans de petites cases.

Un exemple typique serait celui d’une entreprise qui collecte des documents auprès de ses bureaux régionaux. Même si les documents sont censés avoir le même aspect, il peut exister de légères différences de mise en page d’un bureau régional à l’autre, ce qui signifie qu’ils ne peuvent pas être traités à l’aide d’une seule Document Definition « rigide ». Dans ce cas, un seul FlexiLayout peut être préférable à plusieurs Document Definitions « rigides » légèrement différentes.

<div id="when-to-search-for-boundaries-with-white-gap-elements">
  ## Quand rechercher des limites à l’aide d’éléments White Gap
</div>

Si les champs de données recherchés sur le document sont de type « lettres encadrées » ou « lettres encadrées séparées », une recherche des limites de ces champs à l’aide de séparateurs peut être très compliquée, et la description des éléments peut devenir lourde, en particulier si les noms de ces champs ne sont pas disponibles ou sont reconnus de façon incertaine.

De plus, il est très important que le bloc contienne non seulement ces champs, mais aussi le cadre complet. Si les lignes de séparation sont fines, elles peuvent parfois être mal imprimées ou perdues lors de la numérisation. Dans ce cas, recherchez les limites à l’aide d’éléments **White Gap**.

Les limites de ce type de champ sont décrites dans le langage FlexiLayout spécial, dans le champ **Expression** de la boîte de dialogue **Properties** du bloc.

Vous pouvez décrire la limite supérieure du champ comme le bas du White Gap supérieur, la limite inférieure comme le haut du White Gap inférieur, la limite droite du champ comme la limite gauche du White Gap droit, et la limite gauche du champ comme la limite droite du White Gap gauche.

Un projet FlexiLayout Studio contenant des images de test et un FlexiLayout validé se trouve dans `%public%\ABBYY\FlexiCapture\12.0\Samples\FLS\Tips and Tricks`.

<div id="derive-the-field-boundaries-from-four-white-gap-elements">
  ## Déduire les limites du champ à partir de quatre éléments White Gap
</div>

Supposons que les 4 espaces (`LeftGapName`, `RightGapName`, `TopGapName`, `BottomGapName`) nécessaires pour décrire formellement l’emplacement du champ de données dans l’image aient été trouvés.

<Frame>
  <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Combed_Letter_I.gif?s=a186427959c60f5e4d4af4e33b38172a" alt="Schéma d’un champ de données de type Lettre délimité par un cadre et quatre éléments White Gap, les espaces gauche, droit, supérieur et inférieur définissant les limites du champ." width="279" height="106" data-path="images/flexi-capture/fls/Combed_Letter_I.gif" />
</Frame>

Le code du champ **Expression** se présentera alors comme suit :

```text theme={null}
Rect outputRect;
Let FieldLeft = LeftGapName.Rect.Right;
Let FieldRight = RightGapName.Rect.Left;
Let FieldTop = TopGapName.Rect.Bottom;
Let FieldBottom = BottomGapName.Rect.Top;
outputRect = Rect(FieldLeft, FieldTop, FieldRight, FieldBottom);
OutputRegion = outputRect;
```

<Note>
  Au lieu de `LeftGapName`, `RightGapName`, `TopGapName` et `BottomGapName`, utilisez les noms des éléments **White Gap** correspondants. Si nécessaire, vous pouvez augmenter la largeur et la hauteur du champ à l’aide de l’option **Inflate**.
</Note>

<div id="search-for-individual-lines-in-multiline-framed-fields">
  ## Rechercher des lignes individuelles dans des champs multilignes encadrés
</div>

Si les champs de données recherchés sur le document sont des champs multilignes avec un marquage de type « lettres encadrées » ou « lettres encadrées séparées », et que les lignes ne sont pas séparées les unes des autres par des espaces, vous devez alors rechercher les limites supérieure, inférieure, droite et gauche à l’aide d’éléments **White Gap**.

La recherche des lignes individuelles doit ensuite être spécifiée par un algorithme spécial dans le champ **Expression**. Dans l’exemple donné, la hauteur de chaque ligne individuelle peut être calculée en divisant la hauteur du champ entier par 2.

<Frame>
  <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Combed_Letter_II.gif?s=79edde6918aa51c08f537614e0e22e0e" alt="Schéma d’un champ multiligne à lettres encadrées dont la hauteur de chaque ligne individuelle est égale à la hauteur totale du champ divisée par le nombre de lignes." width="270" height="158" data-path="images/flexi-capture/fls/Combed_Letter_II.gif" />
</Frame>
