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

# Describa los campos de texto que contienen letras enmarcadas

> Describa campos de texto con letras enmarcadas (combed) en FlexiLayout Studio derivando los límites del campo a partir de elementos de espacio en blanco en el código Expression del bloque.

A veces puede necesitar crear un FlexiLayout para buscar campos que suelen aparecer en documentos tradicionales con un diseño fijo. Por ejemplo, puede que necesite describir un campo en el que las letras deban introducirse en pequeños marcos.

Un ejemplo típico sería una empresa que recopila documentos de sus oficinas regionales. Aunque se espera que los documentos tengan el mismo aspecto, puede haber pequeñas diferencias de diseño de una oficina regional a otra, lo que significa que no pueden procesarse con una sola Definición de Document "rígida". En este caso, un FlexiLayout puede ser preferible a varias Definiciones de Document "rígidas" ligeramente distintas.

<div id="when-to-search-for-boundaries-with-white-gap-elements">
  ## Cuándo buscar límites con elementos de espacio en blanco
</div>

Si los campos de datos buscados en el documento son del tipo "framed letters" o "separate framed letters", una búsqueda basada en separadores para localizar los límites de dichos campos puede ser muy complicada, y la descripción de los elementos puede volverse extensa, especialmente si los nombres de esos campos no están disponibles o no se reconocen con fiabilidad.

Además, es muy importante que el bloque contenga no solo estos campos, sino también el marco completo. Si las líneas separadoras son finas, a veces pueden imprimirse incorrectamente o perderse durante el escaneo. En tales casos, busque los límites usando elementos de **espacio en blanco**.

Estos límites del campo se describen en el FlexiLayout language especial en el campo **Expression** del cuadro de diálogo de **Propiedades** del bloque.

Puede describir el límite superior del campo como la parte inferior del espacio en blanco superior, el límite inferior como la parte superior del espacio en blanco inferior, el límite derecho del campo como el límite izquierdo del espacio en blanco derecho y el límite izquierdo del campo como el límite derecho del espacio en blanco izquierdo.

Se puede encontrar un proyecto de FlexiLayout Studio que contiene imágenes de prueba y un FlexiLayout probado en `%public%\ABBYY\FlexiCapture\12.0\Samples\FLS\Tips and Tricks`.

<div id="derive-the-field-boundaries-from-four-white-gap-elements">
  ## Derive los límites del campo a partir de cuatro elementos de espacio en blanco
</div>

Supongamos que se han encontrado los 4 espacios (`LeftGapName`, `RightGapName`, `TopGapName`, `BottomGapName`) necesarios para describir formalmente la ubicación del campo de datos en la imagen.

<Frame>
  <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Combed_Letter_I.gif?s=a186427959c60f5e4d4af4e33b38172a" alt="Diagrama de un campo de datos de una carta con marco delimitador, delimitado por cuatro elementos de espacio en blanco, donde los espacios izquierdo, derecho, superior e inferior definen los límites del campo." width="279" height="106" data-path="images/flexi-capture/fls/Combed_Letter_I.gif" />
</Frame>

El código del campo **Expression** tendrá entonces el siguiente aspecto:

```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>
  En lugar de `LeftGapName`, `RightGapName`, `TopGapName` y `BottomGapName`, use los nombres de los elementos de **espacio en blanco** correspondientes. Si es necesario, puede ampliar la anchura y la altura del campo mediante la opción **Inflate**.
</Note>

<div id="search-for-individual-lines-in-multiline-framed-fields">
  ## Búsqueda de líneas individuales en campos enmarcados de varias líneas
</div>

Si los campos de datos buscados en el documento son campos de varias líneas con marcado del tipo "framed letters" o "separate framed letters", y las líneas no están separadas entre sí por espacios, entonces debe buscar los límites superior, inferior, derecho e izquierdo usando elementos de **espacio en blanco**.

La búsqueda de líneas individuales debe especificarse entonces mediante un algoritmo especial en el campo **Expression**. En el ejemplo dado, la altura de cada línea individual puede calcularse dividiendo entre 2 la altura de todo el campo.

<Frame>
  <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Combed_Letter_II.gif?s=79edde6918aa51c08f537614e0e22e0e" alt="Diagrama de un campo de letras enmarcadas de varias líneas cuya altura de cada línea individual es igual a la altura total del campo dividida por el número de líneas." width="270" height="158" data-path="images/flexi-capture/fls/Combed_Letter_II.gif" />
</Frame>
