- En el elemento Footer, cree un elemento Grupo y asígnele el nombre grTotal.
- Seleccione Optional element, porque decidimos detener la búsqueda de los subelementos si el nombre no está presente. Nota. Para más detalles, consulte el artículo de Ayuda Tips and tricks\The “Optional” property of a Group element.
- Haga clic en la pestaña Advanced.
- Dado que los campos Cantidad total y Total Amount solo aparecen en la imagen junto con el nombre Footer.kwTotal, establezca la siguiente restricción de búsqueda adicional en el campo de relación avanzada de prebúsqueda:If the Footer.kwTotal element has not been detected, do not look for the object on the image. En FlexiLayout language: If Footer.kwTotal.IsNull Then DontFind;
- En el elemento grTotal, cree un elemento de tipo cadena de caracteres y asígnele el nombre TotalQuantity.
- Haga clic en la pestaña Character String.
- En el campo recuento de caracteres, especifique este intervalo difuso: {-1, 1, 10, INF}. Esta es una estimación de la Longitud de la cadena de caracteres. Suponemos que los valores posibles pueden ir de 1 a 10. Cualquier hipótesis fuera de este intervalo será penalizada.
- Deje los valores predeterminados para los demás parámetros del elemento.
- Haga clic en la pestaña Relations.
- Dado que el campo Cantidad total siempre está situado al mismo nivel que las palabras clave del nombre Footer.kwTotal o ligeramente más abajo, establezca las siguientes restricciones de búsqueda:
- Encima del elemento Footer.kwTotal, Offset = -200, Reference boundary = Bottom
- Debajo del elemento Footer.kwTotal, Offset = -20, Reference boundary = Top Nota. Antes de establecer los valores de los desplazamientos, puede ser útil analizar las propiedades geométricas (es decir, el tamaño y los límites) de los objetos vecinos detectados durante el prerreconocimiento. Los valores de desplazamiento se seleccionan mediante prueba y error.
- Haga clic en la pestaña Advanced.
- Dado que el campo Cantidad total es opcional en las imágenes, pero cuando aparece lo hace junto con la columna Quantity y debajo de su nombre, establezca la siguiente restricción de búsqueda adicional en el campo de relación avanzada de prebúsqueda:Look for the object on the image only if the TableHeader.kwQuantity element has been detected; Look no farther than 50 dots to the left or to the right of the respective boundaries of the column name. En FlexiLayout language: If Not (TableHeader.kwQuantity.IsNull) Then { LeftOf: TableHeader.kwQuantity.Right, -50 * dot; RightOf: TableHeader.kwQuantity.Left, -50 * dot; } Else DontFind;
- Pruebe la coincidencia del FlexiLayout con las imágenes de prueba y asegúrese de que el programa detecte correctamente el elemento en todas las imágenes en las que corresponda.
- Para describir la ubicación del bloque TotalQuantity, seleccione la opción Source element, luego haga clic en ”…” y seleccione el elemento TotalQuantity como elemento de origen.
- En el elemento grTotal, cree un elemento de tipo cadena de caracteres y asígnele el nombre TotalAmount.
- Haga clic en la pestaña Character String.
- En el campo recuento de caracteres, especifique este intervalo difuso: [-1, 1, 20, 2147483647]. Esta es una estimación de la longitud de la cadena de caracteres. Suponemos que los posibles valores pueden oscilar entre 1 y 20. Cualquier hipótesis fuera de este rango será penalizada.
- Deje los valores predeterminados de los demás parámetros del elemento.
- Haga clic en la pestaña Relations.
- Como el campo Total Amount siempre está ubicado al mismo nivel que las palabras clave con el nombre Footer.kwTotal, establezca las siguientes restricciones de búsqueda:
- Encima del elemento Footer.kwTotal, Offset = -20, Reference boundary = Bottom.
- Debajo del elemento Footer.kwTotal, Offset = -20, Reference boundary = Top.
- Haga clic en la pestaña Advanced.
- Como el campo Total Amount solo puede ubicarse inmediatamente debajo (quizá con un pequeño desplazamiento) del nombre de la columna Total y solo entre las columnas Unit Price y Sales, establezca la siguiente restricción de búsqueda adicional en el campo relación avanzada de prebúsqueda:Si se ha detectado el elemento TableHeader.kwTotal , busque el objeto a no más de 70 puntos a la derecha del límite derecho del elemento TableHeader.kwTotal y a no más de 50 puntos a la izquierda del límite izquierdo del elemento TableHeader.kwTotal ; o, si se detectan los elementos TableHeader.kwUnitPrice y TableHeader.kwSales , busque el objeto a no más de 40 puntos a la derecha del límite izquierdo del elemento TableHeader.kwSales y a la derecha del límite derecho del elemento TableHeader.kwUnitPrice *; de lo contrario, no busque el objeto.*En FlexiLayout language: If Not (TableHeader.kwTotal.IsNull) Then { LeftOf: TableHeader.kwTotal.Right, -70 * dot; RightOf: TableHeader.kwTotal.Left, -50 * dot; } Else If Not (TableHeader.kwUnitPrice.IsNull) and Not (TableHeader.kwSales.IsNull) Then { LeftOf: TableHeader.kwSales.Left, -40 * dot; RightOf: TableHeader.kwUnitPrice, 0 * dot; } Else DontFind; Nota. Antes de establecer los valores de los desplazamientos, quizá le convenga analizar las propiedades geométricas (es decir, el tamaño y los límites) de los objetos vecinos detectados durante el prerreconocimiento. Los valores de desplazamiento se seleccionan por prueba y error.
- Pruebe la coincidencia de FlexiLayout con las imágenes de prueba y asegúrese de que el programa detecte correctamente el elemento en todas las imágenes en las que corresponda.
- Para describir la ubicación del bloque TotalAmount, seleccione la opción Source element, luego haga clic en
y seleccione el elemento TotalAmount como elemento de origen.
