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

# Trabajar con Objeto

> Trabaje con objeto reconocido en ABBYY FineReader Engine: objeto sin formato Unicode, caracteres especiales (salto de línea, salto de párrafo, guion discrecional, reemplazo de objeto) y atributos de objeto mediante el layout de la página.

El objeto con el que trabaja ABBYY FineReader Engine es objeto sin formato; es decir, no contiene marcos, tablas, etc. Todos los caracteres son Unicode. El objeto sin formato puede contener los siguientes caracteres especiales:

* 0x2028 — Símbolo de salto de línea
* 0x2029 — Símbolo de salto de párrafo
* 0xFFFC — Carácter de reemplazo de objeto (indica una imagen incrustada en el objeto)
* 0x0009 — Tabulación
* 0x005E — Acento circunflejo (^), utilizado por ABBYY FineReader Engine como sustituto de los caracteres no reconocidos
* 0x00AC — Guion discrecional

Los atributos y el formato del objeto están disponibles a través de los objetos y las propiedades correspondientes. Puede acceder al objeto reconocido de un documento a través del layout de su página (propiedad [IFRPage::Layout](/es/fine-reader/engine/api-reference/document-related-objects/frpage#layout))."

<div id="recognized-text-in-the-layout">
  ## Texto reconocido en el layout
</div>

Solo los bloques de texto, tabla y código de barras contienen texto después del reconocimiento. Los demás bloques no contienen texto. El objeto [Objeto](/es/fine-reader/engine/api-reference/text-related-objects/text) proporciona acceso al texto reconocido de los bloques de texto y tabla, mientras que el objeto [BarcodeText](/es/fine-reader/engine/api-reference/text-related-objects/barcodetext) proporciona acceso al texto de un bloque de código de barras.

Para acceder al texto reconocido de un bloque, haga lo siguiente:

* Para los bloques de texto

Use la propiedad [ITextBlock::Text](/es/fine-reader/engine/api-reference/layout-related-objects/textblock#text).

* Para los bloques de tabla
  1. Obtenga la colección de celdas de la tabla mediante la propiedad [ITableBlock::Cells](/es/fine-reader/engine/api-reference/layout-related-objects/tableblock).
  2. Seleccione la celda deseada. Use los métodos del objeto [TableCells](/es/fine-reader/engine/api-reference/layout-related-objects/tablecells).
  3. Obtenga el objeto de bloque de la celda (la propiedad [ITableCell::Block](/es/fine-reader/engine/api-reference/layout-related-objects/tablecell)).
  4. Compruebe que el bloque sea del tipo [BT\_Text](/es/fine-reader/engine/api-reference/enumerations/blocktypeenum) (la propiedad [IBlock::Type](/es/fine-reader/engine/api-reference/layout-related-objects/block#type)) y obtenga el objeto [TextBlock](/es/fine-reader/engine/api-reference/layout-related-objects/textblock) mediante el método [IBlock::GetAsTextBlock](/es/fine-reader/engine/api-reference/layout-related-objects/block/getastextblock-method).
  5. Use la propiedad [ITextBlock::Text](/es/fine-reader/engine/api-reference/layout-related-objects/textblock#text).
* Para los bloques de código de barras

Obtenga el texto del código de barras mediante la propiedad [IBarcodeBlock::BarcodeText](/es/fine-reader/engine/api-reference/layout-related-objects/barcodeblock#barcodetext) o [IBarcodeBlock::Text](/es/fine-reader/engine/api-reference/layout-related-objects/barcodeblock#text). La primera devuelve el objeto [BarcodeText](/es/fine-reader/engine/api-reference/text-related-objects/barcodetext), que es una colección de caracteres del código de barras reconocido (los objetos [BarcodeSymbol](/es/fine-reader/engine/api-reference/text-related-objects/barcodesymbol)). La segunda devuelve el texto del código de barras como una sola cadena.

<div id="text-and-paragraphs">
  ## Objeto y párrafos
</div>

El objeto [Objeto](/es/fine-reader/engine/api-reference/text-related-objects/text) contiene una colección de párrafos. Se puede acceder a esta colección mediante un objeto [Paragraphs](/es/fine-reader/engine/api-reference/text-related-objects/paragraphs), a través de la propiedad Paragraphs del objeto Objeto. El objeto Paragraphs es una colección de objetos [Paragraph](/es/fine-reader/engine/api-reference/text-related-objects/paragraph). Se puede acceder al texto reconocido mediante la propiedad [IParagraph::Text](/es/fine-reader/engine/api-reference/text-related-objects/paragraph#text). El texto de esta propiedad es una cadena Unicode.

También existe un objeto [ParagraphParams](/es/fine-reader/engine/api-reference/text-related-objects/paragraphparams) que contiene atributos específicos del párrafo completo, como información sobre su alineación y sangría. Se puede acceder a este objeto mediante la propiedad [IParagraph::ExtendedParams](/es/fine-reader/engine/api-reference/text-related-objects/paragraph#extendedparams).

La propiedad [IParagraph::Lines](/es/fine-reader/engine/api-reference/text-related-objects/paragraph#lines) proporciona acceso a una colección de líneas del párrafo representadas por el objeto [ParagraphLines](/es/fine-reader/engine/api-reference/text-related-objects/paragraphlines), que, a su vez, es una colección de objetos [ParagraphLine](/es/fine-reader/engine/api-reference/text-related-objects/paragraphline). Este último proporciona información sobre la posición geométrica de una sola línea del párrafo y, por lo tanto, representa la división del texto en líneas.

La propiedad [IParagraph::Words](/es/fine-reader/engine/api-reference/text-related-objects/paragraph#words) proporciona acceso a una colección de palabras del párrafo representadas por el objeto [Words](/es/fine-reader/engine/api-reference/text-related-objects/words), que es una colección de objetos [Word](/es/fine-reader/engine/api-reference/text-related-objects/word). El objeto Word proporciona acceso a una sola palabra del párrafo.

<div id="character-attributes">
  ## Atributos de caracteres
</div>

Cada carácter del texto tiene sus propios parámetros. Se puede acceder a ellos mediante el objeto [CharParams](/es/fine-reader/engine/api-reference/text-related-objects/charparams). El objeto CharParams incluye un amplio conjunto de atributos de carácter, como sus parámetros geométricos, la fuente y el idioma. El propio carácter se almacena en la propiedad SelectedCharacterRecognitionVariant del objeto CharParams. Consulte también [Texto sin formato](/es/fine-reader/engine/guided-tour/advanced-techniques/working-with-text#plaintext) más abajo para ver la forma recomendada de obtener información sobre todos los caracteres de un documento.

La posición de un carácter en el texto se define por el índice de su párrafo y su propio índice dentro de ese párrafo. También existe una denominada "posición especial" en el texto: el índice del párrafo es el número total de párrafos y el índice del carácter es 0. Este es el punto de inserción al final del texto. Algunos métodos del objeto [Text](/es/fine-reader/engine/api-reference/text-related-objects/text) realizan operaciones con la posición especial; es decir, insertan en ella otro fragmento de texto o una imagen.

La propiedad SelectedCharacterRecognitionVariant del objeto CharParams proporciona acceso a un conjunto ampliado de atributos específicos de un solo carácter, representados por el objeto [CharacterRecognitionVariant](/es/fine-reader/engine/api-reference/text-related-objects/characterrecognitionvariant). Estos atributos se establecen durante el reconocimiento y proporcionan cierta información interna del reconocimiento específica de cada carácter. En particular, este objeto proporciona información más precisa sobre la fiabilidad del reconocimiento del carácter, la probabilidad de que el carácter pertenezca a una fuente con serifa, etc.

<div id="text-editing">
  ## Edición de texto
</div>

Puede intentar cambiar los atributos del objeto [Objeto](/es/fine-reader/engine/api-reference/text-related-objects/text), pero debe hacerlo con mucho cuidado si el texto se va a exportar a un formato externo. Los métodos de exportación de ABBYY FineReader Engine asumen que el texto reconocido es el resultado del reconocimiento y que el usuario solo ha corregido los errores de reconocimiento, sin realizar ningún otro cambio. Los objetos del grupo Objeto tienen muchas propiedades interdependientes, y a menudo, al cambiar una de ellas, también es necesario cambiar otras. Por este motivo, los cambios en los atributos del texto reconocido a veces pueden producir resultados de exportación impredecibles.

<div id="plain-text">
  ## Texto sin formato
</div>

También puede acceder al texto reconocido completo de un documento o una página en un formato especial de "texto sin formato", representado por el objeto [PlainText](/es/fine-reader/engine/api-reference/text-related-objects/plaintext). Proporciona información únicamente sobre los símbolos de texto reconocidos, su confianza de reconocimiento y su posición relativa con respecto a la imagen de origen. Sin embargo, puede ser útil si necesita acceder a estos atributos para todos los caracteres de un documento grande. En FRE para Windows: use el método [GetCharacterData](/es/fine-reader/engine/api-reference/text-related-objects/plaintext/getcharacterdata-method), que le permite recibir de una sola vez los datos de todos los caracteres y recorrerlos por su cuenta. Recorrer todos los bloques de texto llevará bastante más tiempo, especialmente si su aplicación funciona mediante DCOM.

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

[Cómo trabajar con Layout y bloques](/es/fine-reader/engine/guided-tour/advanced-techniques/working-with-layout-and-blocks)

[Cómo trabajar con idiomas](/es/fine-reader/engine/guided-tour/advanced-techniques/working-with-languages)

[Uso de algoritmos de votación](/es/fine-reader/engine/guided-tour/advanced-techniques/using-voting-api)
