Saltar al contenido principal
Texto estático es un elemento de FlexiLayout que describe un texto predefinido. El texto puede consistir en una palabra o en una frase. Las frases se diferencian de las palabras en que contienen al menos un espacio. Una frase puede escribirse en varias líneas. Los elementos de Texto estático se marcan con Icono del elemento Texto estático en el árbol de FlexiLayout. El programa utiliza elementos de Texto estático para buscar texto estático, es decir, texto conocido de antemano. El programa considera los objetos Recognized Words y Recognized Lines detectados durante el prerreconocimiento y ubicados en el área de búsqueda del elemento como candidatos a texto estático. Por lo general, todas o muchas de las imágenes del lote incluyen texto estático. Puede tratarse del encabezado del documento (por ejemplo, Factura) o de los nombres de los campos (por ejemplo, fecha, para:, de:). Estos objetos, detectados como Recognized Words durante el prerreconocimiento, suelen utilizarse como “indicadores” al buscar cualquier texto que pueda introducirse en los campos correspondientes. Por ejemplo, es natural esperar una fecha junto al texto estático “Fecha”.

Propiedades del elemento de texto estático

Las propiedades de un elemento de texto estático se especifican en la pestaña texto estático del cuadro de diálogo de propiedades del elemento. Para abrir el cuadro de diálogo de propiedades, haga clic con el botón derecho en el elemento del árbol de FlexiLayout y seleccione Propiedades… en el menú contextual.
Captura de pantalla de la pestaña de texto estático del cuadro de diálogo de propiedades de un elemento de texto estático en ABBYY FlexiLayout Studio.
  • Texto a buscar — El texto que se buscará en la imagen. Si necesita encontrar una frase o varias palabras y sabe que siempre estarán en la misma línea, ignore los espacios (deje la opción Take spaces into account sin seleccionar) para acelerar la búsqueda. En este caso, puede escribir la frase de búsqueda sin espacios; el programa los elimina de todos modos cuando la opción Take spaces into account no está seleccionada. Por ejemplo, para encontrar el nombre ‘Purchase Agreement’, que aparece escrito en una sola línea en todos los documentos, escriba PURCHASEAGREEMENT. Use una barra vertical (el símbolo |) para separar variantes. Por ejemplo, si documentos similares pueden tener nombres como Contract o Agreement, escriba CONTRACT|AGREEMENT. Las variantes de frases se encierran entre llaves y se separan con una barra vertical: { }|{ }. Puede indicar variantes de palabras dentro de frases (la opción Take spaces into account debe estar seleccionada). Por ejemplo, si escribe {SALE|PURCHASE AGREEMENT|CONTRACT}|{CUSTOMER|CLIENT APPLICATION} en el campo Texto a buscar, el programa busca las siguientes frases: sale agreement, purchase agreement, sale contract, purchase contract, customer application, client application. Para introducir cadenas largas, haga clic en Botón Examinar para abrir una ventana independiente de entrada de datos.
  • Buscar texto en la base de datos — Busca en la imagen un fragmento de texto de una base de datos. Una consulta SQL que empieza por el comando SELECT encuentra los campos pertinentes en la tabla. Luego, el programa busca en la imagen el texto contenido en el campo encontrado.
    1. En el campo Connection string, escriba la cadena de conexión de la base de datos, o haga clic en Botón Examinar para abrir el cuadro de diálogo estándar de conexión a bases de datos.
    2. En el campo Query text, escriba la consulta. También puede hacer clic en Botón Examinar para abrir una ventana independiente de entrada de datos.
  • Buscar texto desde archivo — Busca en la imagen un fragmento de texto de un archivo. Haga clic en el botón Browse… para seleccionar el archivo. Para obtener más información, consulte Using databases and text files in the FlexiLayout language.
  • Número máximo de errores — El número máximo de errores en la palabra. El programa comprueba cada palabra de la frase si las palabras de la frase están separadas por espacios. En caso contrario, la frase se considera una sola palabra. Si el número de errores de una palabra es mayor que el número especificado en este campo, la palabra se considera no detectada. Un error corresponde a una operación de eliminación, inserción o sustitución necesaria para que el texto coincida con el texto escrito en el campo Texto a buscar. De forma predeterminada, esta propiedad es ilimitada. Por ejemplo, suponga que el campo Texto a buscar contiene la palabra ‘meet’ y que el número máximo de errores está establecido en 1. Si el programa encuentra la palabra ‘moot’ en esta área de búsqueda, hay 2 errores en la palabra, por lo que ‘meet’ se considera no encontrada.
  • Porcentaje máximo de errores — El porcentaje máximo de errores en la palabra (calculado como la relación entre el número de errores de la hipótesis y el número de letras de la hipótesis). Si el porcentaje de errores de una palabra es mayor que el porcentaje especificado en este campo, la palabra se considera no detectada. El valor predeterminado es 30 %. Si especifica tanto el número máximo de errores como el porcentaje máximo de errores, el programa utiliza el criterio más estricto e ignora el otro.
  • Longitud máxima del espacio — Establece la longitud máxima del espacio dentro del objeto detectado.
  • Solo palabras completas — Busca solo palabras completas.
  • Distinguir mayúsculas y minúsculas — Habilita la búsqueda con distinción entre mayúsculas y minúsculas (el programa distingue entre letras minúsculas y mayúsculas).
  • Take spaces into account — Permite espacios en la cadena de búsqueda. Si esta opción no está seleccionada, los espacios se eliminan de la cadena de búsqueda, lo que acelera la búsqueda. Sin embargo, si la frase de búsqueda puede aparecer en varias líneas o si puede faltar alguna palabra de la frase, habilite la opción Take spaces into account y escriba la frase de búsqueda conservando los espacios.
Las siguientes opciones están disponibles solo si Take spaces into account está seleccionada:
  • Permitir varias líneas — Permite que la frase se escriba en varias líneas.
  • Penalización por salto de línea — Establece una penalización para los saltos de línea dentro de las palabras. La penalización es un número de 0 a 1. La calidad de la hipótesis se multiplica por este número tantas veces como saltos de línea haya en la frase. Si se permiten saltos de línea en la frase, establezca este parámetro en 1, ya que multiplicar la calidad de la hipótesis por 1 no disminuye su calidad.
  • Permitir omitir palabras — Permite omitir palabras en la frase.
  • Penalización por palabra omitida — Establece una penalización para las palabras omitidas. La penalización es un número de 0 a 1. La calidad de la hipótesis se multiplica por este número tantas veces como palabras omitidas haya en la frase. Si algunas palabras pueden omitirse en la frase, establezca este parámetro en 1, ya que multiplicar la calidad de la hipótesis por 1 no disminuye su calidad.

Recomendaciones para crear un elemento de texto estático

Como el texto estático se conoce de antemano, puede usarse un elemento de texto estático como elemento de referencia para buscar otros objetos de imagen. Siga estas directrices:
  • Para asegurarse de que el texto estático seleccionado pueda reconocerse de forma fiable en todas las imágenes, vea los resultados del prerreconocimiento en todas las imágenes haciendo clic en Botón Recognized Words o Botón Recognized Lines para palabras y frases, respectivamente. Asegúrese de que las letras estén correctamente agrupadas en palabras y de que las palabras estén correctamente agrupadas en líneas.
  • Es preferible seleccionar texto estático impreso en letras más grandes, que siga siendo el mismo incluso en escaneos de baja calidad, o en el que el número de errores de OCR sea predecible.
  • Si los documentos contienen solo texto estático en letra pequeña que no puede reconocerse de forma fiable durante el prerreconocimiento (es decir, si la cantidad y los tipos de errores varían mucho entre distintas imágenes), es mejor describir esos fragmentos de texto no como texto estático, sino como colección de objetos, con las opciones Text y Punctuation mark seleccionadas. (También puede que necesite seleccionar la opción Picture: haga clic en Botón Raw Objects (Raw Objects) en la Toolbar y seleccione el objeto correspondiente en la imagen. El tipo de objeto aparece en la línea DataType de la ventana Propiedades.)
  • Es preferible seleccionar fragmentos únicos de texto estático para evitar coincidencias incorrectas y mantener al mínimo las restricciones de búsqueda adicionales.
  • Si hay nombres de una sola palabra (que planea encontrar mediante elementos de texto estático) y nombres de varias palabras que contienen las mismas palabras que los nombres de una sola palabra, cree primero los elementos para los nombres de varias palabras. Esto evita que el programa detecte erróneamente nombres de una sola palabra dentro de nombres de varias palabras.

Recomendaciones para los idiomas chino, japonés y coreano

Para las cadenas en chino, japonés y coreano, puede usar un parámetro de búsqueda especial. Este parámetro afecta a la forma en que el programa cuenta el número de errores en la hipótesis encontrada en comparación con el valor especificado en el elemento Texto a buscar. Cuando este parámetro está habilitado, en las operaciones de inserción, eliminación y reemplazo, cada una de las cuales cuenta como un error, solo se permiten como caracteres de reemplazo los caracteres con formas similares. Por lo tanto, sustituir un carácter por otro similar cuenta como un error, mientras que sustituirlo por un carácter distinto cuenta como dos errores, porque se realizan dos operaciones: eliminar un carácter e insertar uno nuevo. Este modo de búsqueda afecta únicamente a las cadenas en chino, japonés y coreano.
Para estos idiomas, la búsqueda de palabras completas no está disponible, porque los textos en estos idiomas a menudo no se dividen explícitamente en palabras.
Para habilitar este modo de búsqueda, introduzca el siguiente código en el panel relación avanzada de prebúsqueda de la pestaña Advanced:
SuggestOnlySimilarChars(Logic value = true);
De forma predeterminada, el parámetro SuggestOnlySimilarChars tiene el valor false.