Saltar al contenido principal
El análisis de las imágenes de prueba revela que el campo Fecha de la factura se encuentra a la derecha de su nombre y en el mismo nivel horizontal. Usaremos un elemento fecha para buscar la fecha. En caso de que haya imágenes de mala calidad en las que las fechas no se reconozcan correctamente y la búsqueda de la fecha no arroje resultados, cree un elemento adicional de tipo cadena de caracteres. Para especificar las propiedades comunes a todos estos elementos, debemos crear un elemento compuesto grDate. Para crear el elemento grDate:
  1. En el elemento InvoiceHeader, cree un elemento de tipo grupo y asígnele el nombre grDate.
  2. Haga clic en la pestaña Relations.
  3. Como todos los elementos utilizados para detectar el campo Fecha de la factura solo pueden aparecer a la derecha de la palabra clave kwInvoiceDate y en el mismo nivel que esta, establezca las siguientes restricciones de búsqueda:
    • A la derecha del elemento kwInvoiceDate, Desplazamiento = 0.
    • Encima del elemento kwInvoiceDate, Desplazamiento = -10, Límite del elemento = Bottom.
    • Debajo del elemento kwInvoiceDate, Desplazamiento = -10, Límite del elemento = Top.
Para crear el elemento InvoiceDate:
  1. En el elemento InvoiceHeader.grDate, cree un elemento de tipo fecha y asígnele el nombre InvoiceDate.
  2. Haga clic en la pestaña Date.
  3. En la pestaña Date, especifique todos los formatos de fecha posibles que puedan aparecer en las imágenes. Suponemos que el formato de fecha es día, mes, año, que el idioma es inglés y que no hay otras restricciones para la fecha.
  1. Haga clic en la pestaña Advanced.
  2. Como el campo Fecha de la factura es opcional en este documento, pero cuando aparece lo hace junto con su nombre y siempre se encuentra al lado de este, establezca la siguiente restricción de búsqueda adicional en el campo relación avanzada de prebúsqueda: busque el objeto en la imagen solo si se ha detectado el elemento kwInvoiceDate; busque el objeto de imagen más cercano al elemento kwInvoiceDate. En FlexiLayout language: If InvoiceHeader.kwInvoiceDate.IsNull Then DontFind; Nearest: InvoiceHeader.kwInvoiceDate; Nota. La restricción Nearest también puede especificarse mediante la interfaz gráfica de usuario del programa. Haga clic en la pestaña Relations, seleccione Nearest y, en la lista desplegable To:, seleccione Element y especifique kwInvoiceDate como Reference element.
  3. Pruebe el emparejamiento del FlexiLayout con las imágenes de prueba y asegúrese de que el programa detecte correctamente el elemento en todas las imágenes que contienen un campo Fecha de la factura.
Pruebe y compruebe que, en algunas imágenes, el elemento no se ha detectado. El análisis de los resultados del prerreconocimiento revela que esto ha ocurrido debido al ruido en el área del campo. Ninguna de las propiedades estándar del elemento fecha puede utilizarse para solucionar esta situación, por lo que tenemos que crear un elemento alternativo con restricciones de búsqueda menos estrictas.
Para obtener más información sobre cómo encontrar fechas en imágenes de mala calidad, consulte la sección Tips and Tricks del archivo de Ayuda.
Para crear el 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 Character String.
  3. En el campo de recuento de caracteres, especifique este intervalo difuso: {-1, 8, 14, INF}, que es una estimación de la longitud de la cadena. Suponemos que la cadena puede tener entre 8 y 14 caracteres. Cualquier hipótesis fuera de este rango se penalizará.
  4. Establezca Max space length en 20, lo que significa que el espacio puede tener una longitud de 20 puntos.
  5. Para las demás propiedades, deje los valores predeterminados.
  6. Haga clic en la pestaña Advanced.
  7. Como queremos que el programa busque este elemento solo si no se ha detectado el elemento InvocieDate, establezca la siguiente restricción de búsqueda adicional en el campo relación avanzada de prebúsqueda: Busque el objeto solo si no se ha detectado el elemento InvocieDate. En FlexiLayout language: If Not InvoiceDate.IsNull Then DontFind;
  8. Dado que el campo Fecha de la factura es opcional en este documento, pero siempre que aparece está presente con su nombre y se encuentra junto a este, establezca la siguiente restricción de búsqueda adicional en el campo relación avanzada de prebúsqueda: Busque el objeto en la imagen solo si se ha detectado el elemento kwInvoiceDate; Busque el objeto de imagen más cercano al elemento kwInvoiceDate. En FlexiLayout language: If InvoiceHeader.kwInvoiceDate.IsNull Then DontFind; Nearest: InvoiceHeader.kwInvoiceDate; Nota. La restricción Nearest también puede especificarse mediante la interfaz gráfica de usuario del programa. Haga clic en la pestaña Relations, seleccione Nearest y, en la lista desplegable To:, seleccione Element y especifique kwInvoiceDate como Reference element.
  9. Pruebe el emparejamiento del FlexiLayout con las imágenes de prueba y asegúrese de que el programa detecta correctamente el elemento en todas las imágenes donde hay un campo Fecha de la factura y genera una hipótesis nula para el elemento InvoiceDate.
  10. Para describir la ubicación del bloque InvoiceDate, seleccione la opción Source element y, a continuación, haga clic en y seleccione el elemento InvoiceHeader.grDate como elemento de origen.
La región de un elemento de grupo se calcula uniendo las regiones de todos los subelementos detectados.