Cuando el elemento fecha no puede detectar una fecha
El proyecto de ejemplo SearchOfDate.fsp
SearchOfDate.fsp (carpeta %public%\ABBYY\FlexiCapture\12.0\Samples\FLS\Tips and Tricks\Date).
El proyecto contiene cinco páginas:
El objetivo es encontrar la fecha en todas las imágenes, incluidas aquellas en las que el formato de fecha no es compatible con el elemento fecha.
Buscar formatos de fecha compatibles con el elemento fecha
Configurar las restricciones de búsqueda para todos los elementos en la sección Relations no es difícil y, por lo tanto, no se describe aquí. Puede consultarlo directamente en el proyecto.
Buscar otros formatos de fecha con un elemento de cadena de caracteres
Si el contenido de un campo de datos puede estructurarse y tiene un formato que el elemento fecha no admite, es aconsejable describir ese formato con una expresión regular en lugar de especificar un alfabeto.No obstante, debe asegurarse de que las imágenes procesadas sean de alta calidad, ya que una expresión regular presupone una coincidencia del 100 % entre el campo y la estructura descrita (los alfabetos, en cambio, permiten un cierto porcentaje de errores, que se especifica en las propiedades del elemento). Por lo tanto, los alfabetos son una herramienta más flexible en los casos en que no se puede garantizar la exactitud del reconocimiento.Si sabe que el mes de la fecha se escribirá como una palabra en el mismo idioma que el idioma de prerreconocimiento, puede ser aconsejable dividir el campo de fecha en tres secciones (día, mes y año) y buscar el campo del mes por separado mediante un elemento de tipo texto estático.Dicho elemento de texto estático debe describir todas las variaciones posibles del mes (por ejemplo, los nombres completos y abreviados del mes en el idioma correspondiente). Los campos de día y año pueden encontrarse entonces a la derecha y a la izquierda del mes mediante elementos de cadena de caracteres.

Capturar fechas parcialmente reconocidas con un elemento de colección de objetos

La condición
if (DateAsString.IsNull == FALSE) then Dontfind() no puede añadirse a las Propiedades avanzadas del elemento DateAsObjectCollection porque, como muestra el ejemplo, la cadena detectada puede contener solo una parte de la fecha.Definir la región del bloque fecha a partir de AlternativeDateGroup
SearchElements.DateGroup.AlternativeDateGroup, que consta de los elementos DateField, DateAsString y DateAsObjectCollection, se especifica en el árbol del proyecto como Source element para el bloque fecha.
Como se utilizó el método Dontfind() para describir las propiedades de los elementos DateAsString y DateAsObjectCollection, la región real del bloque detectado coincidirá bien con la región encontrada por la hipótesis para el elemento fecha, bien con la combinación de las regiones de los elementos DateAsObjectCollection y DateAsString.
En este último caso, se espera que la región del elemento DateAsString forme parte de la región del elemento DateAsObjectCollection, por lo que la región resultante será la del elemento DateAsObjectCollection.
En este caso, puede especificar el elemento de grupo
SearchElements.DateGroup.AlternativeDateGroup como Source element porque la situación es relativamente simple. La región del grupo es una combinación de las regiones de sus subelementos detectados.El método Dontfind() permite omitir la búsqueda de algunos subelementos. Por lo tanto, la región del elemento de grupo SearchElements.DateGroup.AlternativeDateGroup coincidirá con la región del subelemento. En el ejemplo dado, el método Dontfind() no solo ayuda a optimizar el emparejamiento de FlexiLayout, sino que también simplifica la descripción de los bloques.
Usar un elemento de cadena de caracteres para buscar un campo de fecha, sin definir el formato de la cadena ni usar un elemento de colección de objetos, como en el ejemplo proporcionado, puede dar buenos resultados si el área de búsqueda del campo de fecha puede definirse claramente.Sin embargo, si hay varias cadenas de caracteres en el área de búsqueda, el formato de la cadena debe describirse mediante una expresión regular o un alfabeto más restringido. De lo contrario, la hipótesis final puede no ser satisfactoria.Con un elemento de cadena de caracteres, puede limitar el número de caracteres de una cadena, el número de finales de palabra y la longitud de los espacios para descartar hipótesis incorrectas. Si se usa un elemento de colección de objetos, la hipótesis incluirá todos los objetos de la imagen que se encuentren dentro del área de búsqueda y cumplan las restricciones sobre el tamaño del objeto.
