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

# Objeto Layout (interfaz ILayout)

> Objeto Layout (interfaz ILayout) en la API de ABBYY FineReader Engine: contenedor raíz de los bloques del diseño de una imagen; expone colecciones de bloques (Blocks, BlackSeparators, SortedBlocks, VisualBlocks), Width/Height, Name, TextAsString y PageRegion; un objeto persistente que puede guardarse en un archivo, en la memoria o en un flujo.

Este objeto expone métodos y propiedades para trabajar con el diseño de la imagen. El objeto Layout sirve como objeto raíz para los bloques. Sus atributos son el ancho y la altura. Estos parámetros se establecen con los valores correspondientes de la página en blanco y negro de la imagen para la que se define el objeto Layout. Esto se hace automáticamente cuando el objeto Layout se analiza o se reconoce.

El objeto Layout es un objeto persistente. Esto significa que el estado actual del objeto puede escribirse en almacenamiento persistente. Posteriormente, el objeto puede volver a crearse leyendo su estado desde el almacenamiento persistente. Los siguientes métodos proporcionan persistencia al objeto:

* Linux y macOS: [SaveToFile](/es/fine-reader/engine/api-reference/supplementary-objects-and-methods/savetofile-method) y [LoadFromFile](/es/fine-reader/engine/api-reference/layout-related-objects/layout/loadfromfile-method)
* Windows: [SaveToFile](/es/fine-reader/engine/api-reference/supplementary-objects-and-methods/savetofile-method), [LoadFromFile](/es/fine-reader/engine/api-reference/layout-related-objects/layout/loadfromfile-method), [SaveToMemory](/es/fine-reader/engine/api-reference/supplementary-objects-and-methods/savetomemory-method) y [LoadFromMemory](/es/fine-reader/engine/api-reference/layout-related-objects/layout/loadfrommemory-method)

<div id="properties">
  ## Propiedades
</div>

<table>
  <thead>
    <tr>
      <th>
        <p>
          <strong>Nombre</strong>
        </p>
      </th>

      <th>
        <p>
          <strong>Tipo</strong>
        </p>
      </th>

      <th>
        <p>
          <strong>Descripción</strong>
        </p>
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        <p>
          <strong>Application</strong>
        </p>
      </td>

      <td>
        <p>
          <strong>
            <a href="/es/fine-reader/engine/api-reference/engine-object-iengine-interface">
              Engine
            </a>
          </strong>

          ,{" "}

          <a href="/es/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties#readonly_properties">
            de solo lectura
          </a>
        </p>
      </td>

      <td>
        <p>
          Devuelve el objeto <strong>Engine</strong>.
        </p>
      </td>
    </tr>

    <tr>
      <td colspan="3">
        <p>
          <em>Colecciones de bloques</em>
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <a name="blackseparators" />

          <strong>BlackSeparators</strong>
        </p>
      </td>

      <td>
        <p>
          <strong>
            <a href="/es/fine-reader/engine/api-reference/layout-related-objects/layoutblocks">
              LayoutBlocks
            </a>
          </strong>

          ,{" "}

          <a href="/es/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties#readonly_properties">
            read-only
          </a>
        </p>
      </td>

      <td>
        <p>
          Proporciona acceso a la colección de bloques de separador y de grupo de separadores del layout.
        </p>

        <p>
          Esta propiedad hace referencia a un objeto válido independientemente de si existen bloques de separador en el <strong>Layout</strong>. Si no hay separadores en el <strong>Layout</strong>, la propiedad{" "}
          <strong>BlackSeparators</strong> estará vacía.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <a name="blocks" />

          <strong>Blocks</strong>
        </p>
      </td>

      <td>
        <p>
          <strong>
            <a href="/es/fine-reader/engine/api-reference/layout-related-objects/layoutblocks">
              LayoutBlocks
            </a>
          </strong>

          ,{" "}

          <a href="/es/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties#readonly_properties">
            read-only
          </a>
        </p>
      </td>

      <td>
        <p>
          Proporciona acceso a la colección de bloques del layout. Esta colección no contiene los bloques de separador ni de grupo de separadores. Para acceder a estos bloques, utilice la propiedad <strong>BlackSeparators</strong>.
        </p>

        <p>
          Esta propiedad hace referencia a un objeto válido independientemente de si existen bloques en el <strong>Layout</strong>. Si no hay bloques en el <strong>Layout</strong>, la propiedad <strong>Blocks</strong>{" "}
          estará vacía. Consulte también{" "}

          <a href="/es/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties#readonly_properties">
            Trabajar con propiedades de objeto de solo lectura
          </a>

          .
        </p>

        <Note>
          Esta colección nunca contiene bloques de autoanálisis, ya que este tipo de bloques se utiliza únicamente en Visual Components.
        </Note>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <strong>
            <a href="/es/fine-reader/engine/api-reference/layout-related-objects/layout/sortedblocks-property">
              SortedBlocks
            </a>
          </strong>
        </p>
      </td>

      <td>
        <p>
          <strong>
            <a href="/es/fine-reader/engine/api-reference/layout-related-objects/layoutblocks">
              LayoutBlocks
            </a>
          </strong>

          ,{" "}

          <a href="/es/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties#readonly_properties">
            read-only
          </a>
        </p>
      </td>

      <td>
        <p>
          Devuelve la colección de bloques del layout ordenada lógicamente.
        </p>

        <p>
          Esta colección contiene los mismos bloques que devuelve la propiedad{" "}
          <strong>Blocks</strong>, ordenados por la posición de la esquina superior izquierda de cada bloque: primero de izquierda a derecha y luego de arriba a abajo. Los bloques que se encuentren próximos entre sí se considerarán parte de un mismo grupo lógico.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <a name="visualblocks" />

          <strong>VisualBlocks</strong>
        </p>
      </td>

      <td>
        <p>
          <strong>
            <a href="/es/fine-reader/engine/api-reference/layout-related-objects/layoutblocks">
              LayoutBlocks
            </a>
          </strong>

          ,{" "}

          <a href="/es/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties#readonly_properties">
            read-only
          </a>
        </p>
      </td>

      <td>
        <Warning>
          Visual Components actualmente solo es compatible con Windows.
        </Warning>

        <p>
          Proporciona acceso a la colección de bloques visibles en Visual Components. Esta colección puede contener bloques de los siguientes tipos: texto, tabla, imagen rasterizada, código de barras y autoanálisis. El orden de los bloques en esta colección es el mismo que se muestra en Visual Components.
        </p>
      </td>
    </tr>

    <tr>
      <td colspan="3">
        <p>
          <em>Atributos adicionales</em>
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <a name="height" />

          <strong>Height</strong>
        </p>
      </td>

      <td>
        <p>
          <strong>
            <a href="/es/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">
              int
            </a>
          </strong>

          , read-only
        </p>
      </td>

      <td>
        <p>
          Devuelve la altura del layout en píxeles. Es igual a la altura de{" "}

          <strong>
            <a href="/es/fine-reader/engine/api-reference/image-related-objects/imagedocument">
              ImageDocument
            </a>
          </strong>

          {" "}

          of the corresponding{" "}

          <strong>
            <a href="/es/fine-reader/engine/api-reference/document-related-objects/frpage">
              FRPage
            </a>
          </strong>

          .
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <a name="name" />

          <strong>Name</strong>
        </p>
      </td>

      <td>
        <p>
          <strong>
            <a href="/es/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">
              BSTR
            </a>
          </strong>
        </p>
      </td>

      <td>
        <p>Almacena el nombre del layout.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <a name="textasstring" />

          <strong>TextAsString</strong>
        </p>
      </td>

      <td>
        <p>
          <strong>
            <a href="/es/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">
              BSTR
            </a>
          </strong>

          , de solo lectura
        </p>
      </td>

      <td>
        <p>
          Escribe en una sola línea el texto de todos los bloques de texto y de tabla. El objeto{" "}

          <strong>
            <a href="/es/fine-reader/engine/api-reference/layout-related-objects/tablecells">
              TableCells
            </a>
          </strong>

          {" "}

          determina el orden en que se escribe el texto de las celdas de la tabla.
          Por lo tanto, este orden puede no coincidir con el orden de las celdas de la tabla tal como aparecen en
          la imagen. No se escribe el texto de los bloques de código de barras.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <a name="pageregion" />

          <strong>PageRegion</strong>
        </p>
      </td>

      <td>
        <p>
          <strong>
            <a href="/es/fine-reader/engine/api-reference/supplementary-objects-and-methods/region">
              Region
            </a>
          </strong>

          ,{" "}

          <a href="/es/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties#readonly_properties">
            de solo lectura
          </a>
        </p>
      </td>

      <td>
        <p>
          Almacena la región delimitadora de los bloques del objeto Layout. Si no hay
          bloques, esta propiedad devuelve una región vacía.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <strong>
            <a href="/es/fine-reader/engine/api-reference/language-related-objects/baselanguage/userproperty-property">
              UserProperty
            </a>
          </strong>
        </p>
      </td>

      <td>
        <p>
          <strong>VARIANT</strong>
        </p>
      </td>

      <td>
        <p>
          Permite asociar cualquier información definida por el usuario a un objeto del
          tipo <strong>Layout </strong>.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <a name="width" />

          <strong>Width</strong>
        </p>
      </td>

      <td>
        <p>
          <strong>
            <a href="/es/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">
              int
            </a>
          </strong>

          , de solo lectura
        </p>
      </td>

      <td>
        <p>
          Devuelve el ancho del objeto Layout en píxeles. Es igual al ancho de{" "}

          <strong>
            <a href="/es/fine-reader/engine/api-reference/image-related-objects/imagedocument">
              ImageDocument
            </a>
          </strong>

          {" "}

          de la{" "}

          <strong>
            <a href="/es/fine-reader/engine/api-reference/document-related-objects/frpage">
              FRPage
            </a>
          </strong>

          correspondiente.
        </p>
      </td>
    </tr>
  </tbody>
</table>

<div id="methods">
  ## Métodos
</div>

| Nombre                                                                                                                   | Descripción                                                                                                  |
| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
| [Clean](/es/fine-reader/engine/api-reference/layout-related-objects/layout/clean-method)                                 | Elimina todos los tipos de bloques y separadores del layout.                                                 |
| [CopyFrom](/es/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/copyfrom-method) | Inicializa las propiedades del objeto actual con los valores de las propiedades equivalentes de otro objeto. |
| [LoadFromFile](/es/fine-reader/engine/api-reference/layout-related-objects/layout/loadfromfile-method)                   | Restaura el contenido del objeto desde un archivo en disco.                                                  |
| [LoadFromMemory](/es/fine-reader/engine/api-reference/layout-related-objects/layout/loadfrommemory-method)               | Restaura el contenido del objeto desde la memoria global. <Note> *Solo Windows.* </Note>                     |
| [SaveToArray](/es/fine-reader/engine/api-reference/layout-related-objects/layout/savetoarray-method)                     | Guarda el contenido del objeto como un array de bytes.                                                       |
| [SaveToFile](/es/fine-reader/engine/api-reference/supplementary-objects-and-methods/savetofile-method)                   | Guarda el contenido del objeto en un archivo en disco.                                                       |
| [SaveToMemory](/es/fine-reader/engine/api-reference/supplementary-objects-and-methods/savetomemory-method)               | Guarda el contenido del objeto en la memoria global. <Note> *Solo Windows.* </Note>                          |
| [SaveToStream](/es/fine-reader/engine/api-reference/layout-related-objects/layout/savetostream-method)                   | Guarda el contenido del objeto en el flujo.                                                                  |

<div id="related-objects">
  ## Objetos relacionados
</div>

<div id="windows">
  ### Windows
</div>

<img src="https://mintcdn.com/abbyy/lsETHFYUFiongXSm/images/fine-reader/engine/layout.gif?s=fae7c3d1b6741051e7ce93e8298de134" alt="Layout" width="488" height="319" data-path="images/fine-reader/engine/layout.gif" />[](/es/fine-reader/engine/api-reference/document-related-objects/frpage#layout)[](/es/fine-reader/engine/api-reference/layout-related-objects/autoanalysisblock)[](/es/fine-reader/engine/api-reference/layout-related-objects/rasterpictureblock)[](/es/fine-reader/engine/api-reference/layout-related-objects/barcodeblock)[](/es/fine-reader/engine/api-reference/layout-related-objects/tableblock)[](/es/fine-reader/engine/api-reference/layout-related-objects/textblock)[](/es/fine-reader/engine/api-reference/layout-related-objects/block)[](/es/fine-reader/engine/api-reference/layout-related-objects/layoutblocks)[](/es/fine-reader/engine/api-reference/layout-related-objects/vectorpictureblock)[](/es/fine-reader/engine/api-reference/layout-related-objects/rasterpictureblock)[](/es/fine-reader/engine/api-reference/layout-related-objects/checkmarkblock)[](/es/fine-reader/engine/api-reference/layout-related-objects/checkmarkgroup)[](/es/fine-reader/engine/api-reference/layout-related-objects/barcodeblock)[](/es/fine-reader/engine/api-reference/layout-related-objects/block)[](/es/fine-reader/engine/api-reference/layout-related-objects/tableblock)[](/es/fine-reader/engine/api-reference/layout-related-objects/textblock)[](/es/fine-reader/engine/api-reference/layout-related-objects/block)[](/es/fine-reader/engine/api-reference/layout-related-objects/separatorblock)[](/es/fine-reader/engine/api-reference/layout-related-objects/separatorgroup)[](/es/fine-reader/engine/api-reference/layout-related-objects/layoutblocks)[](/es/fine-reader/engine/api-reference/layout-related-objects/layoutblocks)[](/es/fine-reader/engine/api-reference/document-related-objects/frpage)[](/es/fine-reader/engine/api-reference/document-related-objects/frpages)[](/es/fine-reader/engine/api-reference/document-related-objects/frdocument)

<div id="linux-and-macos">
  ### Linux y macOS
</div>

<img src="https://mintcdn.com/abbyy/lsETHFYUFiongXSm/images/fine-reader/engine/layoutlinuxmac.gif?s=b17a4f40c3b3d7c9736d9d77586ec003" alt="LayoutLinuxMac" width="338" height="272" data-path="images/fine-reader/engine/layoutlinuxmac.gif" />[](/es/fine-reader/engine/api-reference/layout-related-objects/vectorpictureblock)[](/es/fine-reader/engine/api-reference/layout-related-objects/rasterpictureblock)[](/es/fine-reader/engine/api-reference/layout-related-objects/barcodeblock)[](/es/fine-reader/engine/api-reference/layout-related-objects/tableblock)[](/es/fine-reader/engine/api-reference/layout-related-objects/textblock)[](/es/fine-reader/engine/api-reference/layout-related-objects/block)[](/es/fine-reader/engine/api-reference/layout-related-objects/block)[](/es/fine-reader/engine/api-reference/layout-related-objects/layoutblocks)[](/es/fine-reader/engine/api-reference/layout-related-objects/separatorblock)[](/es/fine-reader/engine/api-reference/layout-related-objects/separatorgroup)[](/es/fine-reader/engine/api-reference/layout-related-objects/layoutblocks)[](/es/fine-reader/engine/api-reference/document-related-objects/frpage#layout)[](/es/fine-reader/engine/api-reference/document-related-objects/frpage)[](/es/fine-reader/engine/api-reference/document-related-objects/frpages)[](/es/fine-reader/engine/api-reference/document-related-objects/frdocument)

[Diagrama de objetos](/es/fine-reader/engine/api-reference/object-diagram)

<div id="output-parameter">
  ## Parámetro de salida
</div>

Este objeto es el parámetro de salida del método [CreateLayoutFromStream](/es/fine-reader/engine/api-reference/engine-object-iengine-interface/creation-methods/createlayoutfromstream-method) del objeto [Engine](/es/fine-reader/engine/api-reference/engine-object-iengine-interface).

<div id="samples">
  ## Ejemplos
</div>

<Accordion title="Código C#">
  ```csharp theme={null}
  FREngine.IFRDocument frdoc;
  // Itera por los bloques del layout
  for (int iPage = 0; iPage < frDoc.Pages.Count; iPage++)
  {
   FREngine.IFRPage page = frDoc.Pages[iPage];
   FREngine.ILayout layout = page.Layout;
   int blocksCount = layout.Blocks.Count;
   for (int iBlock = 0; iBlock < blocksCount; iBlock++)
   {
    FREngine.IBlock block = layout.Blocks[iBlock];
    ...
   }
  }
  ```
</Accordion>

El objeto se utiliza en los siguientes ejemplos de código:

* Linux: [CustomLanguage](/es/fine-reader/engine/guided-tour/samples#customlanguage)
* Windows: [CustomLanguage](/es/fine-reader/engine/guided-tour/samples#customlanguage), [RecognizedTextProcessing](/es/fine-reader/engine/guided-tour/samples#recognizedtextprocessing); y en las herramientas de demostración: [Perfiles de procesamiento predefinidos del motor](/es/fine-reader/engine/guided-tour/samples#engine_predefined_processing_profiles)

<div id="see-also">
  ## Consulte también
</div>

[Trabajar con Layout y Blocks](/es/fine-reader/engine/guided-tour/advanced-techniques/working-with-layout-and-blocks)

[LayoutBlocks](/es/fine-reader/engine/api-reference/layout-related-objects/layoutblocks)

[Trabajar con Propiedades](/es/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties)
