- Texto (marcado con el icono
) se utiliza para extraer datos de texto
Ampliar las regiones de los bloques de texto puede mejorar la calidad del reconocimiento. Para ampliar una región, haga doble clic en el elemento Blocks para abrir su cuadro de diálogo de propiedades y especifique los valores verticales y horizontales de la propiedad Blocks result region inflate. - Código de barras (marcado con el icono
) se utiliza para leer códigos de barras - Marca de verificación (marcado con el icono
) se utiliza para reconocer marcas de verificación - Imagen (marcado con el icono
) se utiliza para procesar objetos que no se identificaron como texto durante el prerreconocimiento - Tabla (marcado con el icono
) se utiliza para extraer datos de tablas - Grupo (marcado con el icono
) se utiliza para agrupar bloques de forma lógica - Grupo de marcas de verificación (marcado con el icono
) se utiliza para crear grupos de marcas de verificación. Solo se pueden agregar bloques de marcas de verificación a este tipo de grupo; aquí no se pueden crear ni mover bloques de otros tipos. - Grupo repetido (marcado con el icono
) se utiliza para crear un grupo repetido de bloques - No reconocido (marcado con el icono
) se utiliza para excluir un área del reconocimiento
Los datos de los bloques se extraen en una aplicación de captura de datos como ABBYY FlexiCapture.
Propiedades del bloque
- Name - el nombre del bloque. El nombre de un bloque puede contener letras (caracteres latinos, caracteres latinos con diacríticos y caracteres cirílicos), dígitos y guiones bajos. El nombre de un bloque debe comenzar con una letra o un guion bajo. Los nombres de los bloques no deben contener espacios ni símbolos especiales.
- Type - el tipo del bloque (seleccionado al crearlo). El tipo del bloque debe corresponder al tipo de objeto(s) ubicado(s) en el área delimitada por el bloque.
- Comment - un comentario proporcionado por el usuario (opcional).
- Has repeating instances - indica que el bloque constará de varias instancias. Seleccione esta propiedad si, por ejemplo, se van a usar todas las instancias de un grupo repetidoelement como región del bloque.
- Instance sort order - establece el orden en que las instancias del grupo deben unirse en un bloque. Esta propiedad solo está disponible si está seleccionada la opción Has repeating instances. Valores posibles:
- Top to bottom - las instancias se unen en un bloque según su ubicación en la imagen, de arriba abajo
- Left to right - las instancias se unen en un bloque según su ubicación en la imagen, de izquierda a derecha
- Right to left - las instancias se unen en un bloque según su ubicación en la imagen, de derecha a izquierda
- In order of finding - las instancias se unen en un bloque en el orden en que se generan las hipótesis. Las hipótesis se generan en orden descendente de calidad. Si el usuario ha especificado condiciones adicionales para las instancias, las hipótesis se generan en el orden definido por el usuario. Por lo tanto, si necesita un orden distinto del orden estándar que usa el programa, puede especificar el orden deseado mediante condiciones adicionales.
- For Layout selecciona la alternativa de layout en la que se especifica el área de búsqueda.
- Source element - especifica un área en la imagen que es idéntica a la región del elemento que se usa para localizar el bloque en la imagen. Cuando el FlexiLayout se aplica a la imagen, el programa buscará el objeto (o los objetos) descrito por el elemento. Es a partir de estos objetos que se capturarán los datos. Para un grupo repetido, puede seleccionar una de las instancias o usar todas las instancias (AllInstances). Para más información, consulte Using instances of a grupo repetido as reference, excluded or source elements.
- Expression - establece un área en la imagen que no coincide con ninguna de las regiones de los elementos. Por ejemplo, puede combinar en un solo bloque las regiones de varios elementos y el espacio entre ellas, ampliar la región de un elemento en un valor determinado o especificar las coordenadas del bloque sin basarse en ningún elemento. En este caso, la región del bloque puede describirse en FlexiLayout language.
La región de un bloque es continua. Esto significa que, si crea una región a partir de rectángulos separados entre sí, los espacios entre ellos se rellenarán con rectángulos adicionales finos para que la región sea continua.
Especificar la región de un bloque mediante instancias de un grupo repetido
- para los bloques que no son tablas, las instancias especificadas serán las del campo correspondiente
- para un bloque de la tabla, las instancias especificadas se tratarán como una sola instancia del campo; es decir, ABBYY FlexiCapture procesará ese bloque como un campo de tipo Table con una región discontinua.
Reglas para crear referencias a elementos para grupos repetidos de bloques
Si las referencias se crean mediante Source element, la comprobación se realizará cuando se compile el FlexiLayout, y si las referencias se crean mediante código Advanced, se detectará un error al realizar el emparejamiento del FlexiLayout.
Uso de FlexiLayout language para describir la ubicación de un bloque
| Obtener y expandir la región de un elemento en 3 mm de ancho y 5 mm de longitud | OutputRegion = SomeElement.Rect; OutputRegion.Inflate( 3mm, 5mm ); |
|---|---|
| Combinar los Rectangle de las regiones de dos elementos y obtener el Rectangle que circunscribe los Rectangle combinados | Rect outputRect; outputRect = Element1.Rect Or Element2.Rect; OutputRegion = outputRect; |
| Combinar en una sola Region los Rectangle que circunscriben las regiones de dos elementos | RectArray outputRects; outputRects = RectArray( Element1.Rect ); outputRects.Add: Element2.Rect; OutputRegion = Region( outputRects ); |
| Combinar en una sola Region las regiones de los objetos correspondientes a dos elementos diferentes | RectArray outputRects; outputRects = Element1.Rects; outputRects.Add( Element2.Rects ); OutputRegion = outputRects.Region; |
| Combinar las regiones de los objetos que pertenecen a la Region de Element1 y eliminar las regiones de los objetos que pertenecen a la Region de Element2 | OutputRegion = FormRegion( Element1.Rects, Element2.Rects ); |
| Usar un elemento Table para especificar un bloque Table | OutputTable = SearchElements.TableElement; |
| Usar instancias de hipótesis de un determinado elemento para especificar un bloque Table | OutputInstances = SearchElements.RepeatingGroup.AllInstances.TemplateElement; |
Uso de la variable IsNull
Uso de la variable IsNull
- Para indicar al programa que considere que la región del bloque se encontró si el ancho de la región del elemento de origen supera los 50 dots, introduzca el siguiente código en el campo Region Expression: if Element1.Width < 50dt then IsNull = true;
- Para indicar al programa que considere que la región del bloque de Element1 se encontró, introduzca el siguiente código en el campo Region Expression: IsNull = Element1.IsNull
- Suponga que necesita usar Element1 y Element2 para buscar un bloque. Si al menos uno de los elementos no se ha encontrado, se considera que el bloque no se encontró. Rect outputRect; Let FieldLeft = Element1.Rect.Left; Let FieldRight = Element2.Rect.Right; Let FieldTop = Element1.Rect.Top; Let FieldBottom = Element2.Rect.Bottom; outputRect = Rect( FieldLeft, FieldTop, FieldRight, FieldBottom); if ((Element1.IsNull == True) or (Element2.IsNull == True) ) then {IsNull = true;} OutputRegion = outputRect;
