Skip to main content
Ahora que ya se han completado todos los preparativos, puede buscar el campo Invoice Table creando un elemento de tabla:
  1. Encabezado de la tabla. Como se decidió antes, especifique los nombres de las columnas mediante elementos auxiliares ya detectados.
  2. Pie de tabla de la tabla. Como se decidió antes, el Pie de tabla se especifica mediante el elemento requerido ya detectado Paragraph del grupo InvoiceFooter, que identifica el comienzo de la parte final. Este elemento se describió como el más cercano a la parte inferior de la tabla.
  3. Área de búsqueda de la tabla. Puede limitar el área de búsqueda por la derecha usando el nombre de la última columna Sales, que no necesita para ningún otro fin.

Cree el elemento InvoiceTable

Para crear un elemento InvoiceTable:
  1. En el árbol SearchElements, cree un elemento de tipo Table y asígnele el nombre InvoiceTable.
  2. Haga clic en la pestaña Columns.
  3. Haga clic en Select para seleccionar el bloque InvoiceTable creado anteriormente en el Paso 3 como bloque de búsqueda.
  4. Especifique los parámetros de búsqueda de las columnas de la tabla:
    • En la lista de columnas, seleccione Reference y haga clic en el botón Propiedades… Para el nombre de esta columna, use el elemento TableHeader.kwReference detectado anteriormente. Para ello, seleccione Use found element as column name y, a continuación, haga clic en Botón Examinar y seleccione TableHeader.kwReference.
    • En la lista de columnas, seleccione Designation y haga clic en el botón Propiedades… Para el nombre de esta columna, use el elemento TableHeader.kwDesignation detectado anteriormente.
    • En la lista de columnas, seleccione Unit y haga clic en el botón Propiedades… Para el nombre de esta columna, use el elemento TableHeader.kwUnit detectado anteriormente.
    • En la lista de columnas, seleccione Quantity y haga clic en el botón Propiedades… Para el nombre de esta columna, use el elemento TableHeader.kwQuantity detectado anteriormente.
    • En la lista de columnas, seleccione UnitPrice y haga clic en el botón Propiedades… Para el nombre de esta columna, use el elemento TableHeader.kwUnitPrice detectado anteriormente.
    • En la lista de columnas, seleccione Total y haga clic en el botón Propiedades… Para el nombre de esta columna, use el elemento TableHeader.kwTotal detectado anteriormente.
  5. Haga clic en la pestaña Order.
  6. Como las columnas buscadas pueden estar separadas entre sí por otras columnas (por ejemplo, ExtraQtyTag), pero su orden siempre es fijo (primero Designation, luego Unit Price y después Total), seleccione Reglas para el orden de las columnas, haga clic en Add… y agregue las columnas en el siguiente orden: Designation << Unit Price << Total.
Captura de pantalla de la pestaña Order de las propiedades del elemento de tabla InvoiceTable en ABBYY FlexiLayout Studio, que muestra la opción Reglas para el orden de las columnas seleccionada, con las columnas Designation, Unit Price y Total agregadas en el orden requerido.
  1. Haga clic en la pestaña Header. El encabezado de la tabla es necesario, pero no se aplican restricciones adicionales, así que mantenga los valores predeterminados.
  2. Haga clic en la pestaña Footer. Use el elemento InvoiceFooter.Paragraph detectado anteriormente para la parte final de la tabla. Seleccione la opción Use found element as footer, haga clic en Botón Examinar y luego seleccione el elemento InvoiceFooter.Paragraph.
Captura de pantalla de la pestaña Footer de las propiedades del elemento de tabla InvoiceTable en ABBYY FlexiLayout Studio, que muestra la opción Use found element as footer seleccionada con el elemento InvoiceFooter.Paragraph elegido como pie de tabla.
  1. Haga clic en la pestaña Rows.
  2. Como las celdas de algunas columnas pueden contener varias líneas, debe especificar columnas maestras para la separación de líneas. Seleccione Use master columns to detect rows. Primero, especifique la columna Total, ya que esta columna siempre contiene datos y, para cada registro de la tabla, tiene una línea de datos. Si esta columna no se detecta en la imagen, especifique las columnas Unit Price y Quantity como siguiente opción de separación de líneas. Use el botón Botón Examinar para seleccionar estas columnas.
Captura de pantalla de la pestaña Rows de las propiedades del elemento de tabla InvoiceTable en ABBYY FlexiLayout Studio, que muestra la opción Use master columns to detect rows seleccionada, con las columnas Total, Unit Price y Quantity especificadas como columnas maestras para la separación de filas.
  1. Seleccione la pestaña Relations. Dado que las columnas de la tabla que nos interesan se encuentran a la izquierda del nombre de la columna Sales, agregue las siguientes restricciones de búsqueda:
    • A la izquierda del elemento TableHeader.kwSales, Offset = 0
    Para imágenes de baja calidad (por ejemplo, si hay ruido entre el cuerpo y el pie de tabla, o si no hay encabezado ni pie), puede especificar límites superior e inferior para la tabla. En este caso, puede usar el elemento kwDesignation como límite superior y el elemento Paragraph como límite inferior. En la pestaña Relations, agregue las siguientes restricciones de búsqueda:
    • Debajo del límite superior del elemento kwDesignation, Offset = -50, Reference boundary = Top
    • Encima del elemento Paragraph, Offset = -50, Reference boundary = Bottom
  2. Haga Match del FlexiLayout con las imágenes de prueba. Verá que el programa detecta correctamente el elemento de tabla en todas las imágenes, pero en algunas de ellas la columna Quantity incluye texto redundante de la columna anterior. Para separar los datos válidos de la columna Quantity de los datos irrelevantes, especifique el tipo de contenido de esta columna.
  3. Abra el cuadro de diálogo Propiedades del elemento de tabla InvoiceTable. Haga clic en la pestaña Columns, abra el cuadro de diálogo Propiedades… de la columna Quantity y seleccione la opción Check content type. En Type of column content, seleccione Number.
Captura de pantalla de las propiedades de la columna Quantity en ABBYY FlexiLayout Studio, que muestra seleccionada la opción Check content type con Number elegido como el tipo de contenido de la columna.
  1. Ahora, si hace Match del FlexiLayout con las imágenes, verá que la columna Quantity contiene solo dígitos, como se requiere.
  2. Del mismo modo, especifique Divisa como contenido para las columnas UnitPrice y Total.
  3. Para especificar la ubicación del bloque InvoiceTable, seleccione la opción Source element. Haga clic en botón Examinar y especifique InvoiceTable como elemento de origen.