Saltar al contenido principal
El texto con el que trabaja ABBYY FineReader Engine es texto sin formato; es decir, no contiene marcos, tablas, etc. Todos los caracteres son Unicode. El texto 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 texto)
  • 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 texto están disponibles a través de los objetos y las propiedades correspondientes. Puede acceder al texto reconocido de un documento a través del layout de su página (propiedad IFRPage::Layout).

Texto reconocido en el layout

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 proporciona acceso al texto reconocido de los bloques de texto y tabla, mientras que el objeto 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. Obtenga el texto del código de barras mediante la propiedad IBarcodeBlock::BarcodeText o IBarcodeBlock::Text. La primera devuelve el objeto BarcodeText, que es una colección de caracteres del código de barras reconocido (los objetos BarcodeSymbol). La segunda devuelve el texto del código de barras como una sola cadena.

Objeto y párrafos

El objeto Objeto contiene una colección de párrafos. Se puede acceder a esta colección mediante un objeto Paragraphs, a través de la propiedad Paragraphs del objeto Objeto. El objeto Paragraphs es una colección de objetos Paragraph. Se puede acceder al texto reconocido mediante la propiedad IParagraph::Text. El texto de esta propiedad es una cadena Unicode. También existe un objeto 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. La propiedad IParagraph::Lines proporciona acceso a una colección de líneas del párrafo representadas por el objeto ParagraphLines, que, a su vez, es una colección de objetos 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 proporciona acceso a una colección de palabras del párrafo representadas por el objeto Words, que es una colección de objetos Word. El objeto Word proporciona acceso a una sola palabra del párrafo.

Atributos de caracteres

Cada carácter del texto tiene sus propios parámetros. Se puede acceder a ellos mediante el objeto 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 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 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. 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.

Edición de texto

Puede intentar cambiar los atributos del objeto Objeto, 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.

Texto sin formato

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

Consulte también

Cómo trabajar con Layout y bloques Cómo trabajar con idiomas Uso de algoritmos de votación