- 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.
- En el elemento InvoiceHeader, cree un elemento de tipo Group y asígnele el nombre grDate.
-
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:
- En el elemento
InvoiceHeader.grDate, cree un elemento de tipo Date y asígnele el nombre InvoiceDate. - Haga clic en la pestaña Date.
- Especifique todos los formatos de fecha posibles para el elemento InvoiceDate:

- 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.kwInvoiceNumberaparecerá en el campo Exclude regions of elements.
SearchElements.InvoiceHeader.InvoiceNumber.
- Haga clic en la pestaña Advanced.
-
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:
- Excluya temporalmente el elemento InvoiceFooter y ejecute la coincidencia de FlexiLayout.
-
En el elemento
InvoiceHeader.grDate, cree un elemento de tipo cadena de caracteres y asígnele el nombre InvoiceDateAsString. - Haga clic en la pestaña cadena de caracteres.
- Especifique el alfabeto: ,-./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
- Establezca el porcentaje de caracteres no pertenecientes al alfabeto en un 30 %.
-
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á. - Establezca Max space length en 20. Esto limita la longitud máxima del espacio en la cadena de texto a 20 puntos.
- Para las demás propiedades del elemento, mantenga la configuración predeterminada.
- Haga clic en la pestaña Advanced.
-
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:
-
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:
-
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:
