Skip to main content
Una vez que haya examinado las imágenes, observará que:
  • En algunos documentos, el campo Fecha de la factura se encuentra a la derecha del nombre del campo, mientras que en otros aparece debajo. Por lo tanto, limite el área de búsqueda a rectángulos situados a la derecha y debajo del nombre.
  • Use un elemento Date para buscar la fecha. Además, especifique la siguiente condición: si no se detecta el nombre del campo, no se buscarán los datos del campo.
  • Con bastante frecuencia, las fechas pueden reconocerse de forma poco fiable. Esto puede deberse a defectos de escaneo, formatos de fecha no válidos, etc. Por lo tanto, especifique un elemento adicional de cadena de caracteres por si el elemento Date no encuentra ninguna fecha.
Para especificar la configuración común a todos los elementos, cree un elemento de tipo Group. Para crear un elemento grDate de tipo Group:
  1. En el elemento InvoiceHeader, cree un elemento de tipo Group y asígnele el nombre grDate.
  2. Haga clic en la pestaña Advanced y especifique restricciones de búsqueda adicionales: limite el área de búsqueda al array de rectángulos compuesto por un rectángulo a la derecha del nombre del campo y otro rectángulo debajo del nombre del campo con cierto desplazamiento. En FlexiLayout language esta restricción puede escribirse de la siguiente manera:
Para crear un elemento InvoiceDate:
  1. En el elemento InvoiceHeader.grDate, cree un elemento de tipo Date y asígnele el nombre InvoiceDate.
  2. Haga clic en la pestaña Date.
  3. Especifique todos los formatos de fecha posibles para el elemento InvoiceDate:
Captura de pantalla de la pestaña Date de las propiedades del elemento InvoiceDate en ABBYY FlexiLayout Studio, que muestra la lista de formatos de fecha especificados para el campo Fecha de la factura.
  1. En algunas imágenes, el área de búsqueda del campo Fecha de la factura incluirá los elementos kwInvoiceNumber e InvoiceNumber ya detectados. Para evitar que el programa considere los valores de estos elementos como hipótesis para el campo Fecha de la factura, excluya estos elementos del área de búsqueda:
    • Haga clic en el botón Add… situado junto al campo Exclude regions of elements.
    • Seleccione kwInvoiceNumber en la lista de elementos.
    • Haga clic en OK. La cadena SearchElements.InvoiceHeader.kwInvoiceNumber aparecerá en el campo Exclude regions of elements.
Repita estas acciones para el elemento SearchElements.InvoiceHeader.InvoiceNumber.
  1. Haga clic en la pestaña Advanced.
  2. El campo Fecha de la factura no es un elemento obligatorio. Sin embargo, si un documento contiene una fecha (en el campo Fecha de la factura), siempre tendrá el nombre de campo correspondiente en el documento (descrito anteriormente por el elemento kwInvoiceDate). Por lo tanto, puede especificar una condición de búsqueda adicional en relación avanzada de prebúsqueda: Busque el objeto de imagen solo si se ha detectado kwInvoiceDate. En FlexiLayout language, esta condición puede escribirse de la siguiente manera:
  3. Excluya temporalmente el elemento InvoiceFooter y ejecute la coincidencia de FlexiLayout.
Para imágenes de baja calidad, cuando los resultados del reconocimiento no se ajustan a ninguno de los parámetros estándar del elemento Date, agregue un elemento alternativo que use condiciones menos estrictas para buscar el campo Fecha de la factura. Para crear un elemento InvoiceDateAsString:
  1. En el elemento InvoiceHeader.grDate, cree un elemento de tipo cadena de caracteres y asígnele el nombre InvoiceDateAsString.
  2. Haga clic en la pestaña cadena de caracteres.
  3. Especifique el alfabeto: ,-./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
  4. Establezca el porcentaje de caracteres no pertenecientes al alfabeto en un 30 %.
  5. En el campo recuento de caracteres, especifique el intervalo difuso {-1, 8, 14, INF} para la longitud de la cadena de caracteres, asumiendo que los posibles valores están en el rango de 8 a 14 caracteres. Cualquier hipótesis fuera de este intervalo se penalizará.
  6. Establezca Max space length en 20. Esto limita la longitud máxima del espacio en la cadena de texto a 20 puntos.
  7. Para las demás propiedades del elemento, mantenga la configuración predeterminada.
  8. Haga clic en la pestaña Advanced.
  9. Dado que el elemento InvoiceDateAsString debe buscarse solo si el elemento InvoiceDate no se detecta en la imagen, especifique la siguiente condición en el campo relación avanzada de prebúsqueda: busque el objeto de imagen solo si el elemento InvoiceDate no se detecta. En FlexiLayout language, esta condición puede escribirse de la siguiente manera:
  10. Especifique una condición adicional para InvoiceDate, similar a la anterior: busque el objeto de imagen solo si se ha detectado el elemento kwInvoiceDate. Busque el objeto de imagen más cercano al elemento kwInvoiceDate. En FlexiLayout language, esta condición puede escribirse de la siguiente manera:
  11. Especifique la ubicación del bloque InvoiceDate como la región rectangular del elemento InvoiceDate o InvoiceDateAsString detectado, ampliada en 5 puntos vertical y horizontalmente. Para ello, seleccione la opción Expression y escriba la siguiente expresión: