- Décrivez l’en-tête du tableau. Comme décidé à l’Étape 13, les noms des colonnes Reference et désignation sont décrits à l’aide de mots-clés (tableau element → boîte de dialogue Propriétés → onglet Columns → dialog box of column Propriétés), tandis que les noms des colonnes Quantité, Prix unitaire et Total sont détectés à l’aide des éléments auxiliaires décrits précédemment.
- Décrivez le pied de tableau. Comme décidé à l’Étape 13, le pied de tableau est détecté à l’aide de l’élément décrit précédemment, qui utilise des mots-clés et des expressions pour détecter le début du pied de tableau.
- Décrivez la zone de recherche du tableau. Utilisez le nom de colonne Sales pour restreindre la zone de recherche sur la droite.
Créez l’élément InvoiceTable
- Créez un élément de type tableau et nommez-le InvoiceTable.
- Cliquez sur l’onglet Colonnes.
- Cliquez sur Select et indiquez le bloc InvoiceTable décrit précédemment comme bloc à détecter par l’élément InvoiceTable. Pour des instructions détaillées, consultez Étape 3.
- Sélectionnez la colonne Reference et cliquez sur Propriétés…. Le mot-clé Reference sera utilisé pour rechercher ce nom de colonne ; laissez donc les valeurs par défaut.
- Sélectionnez la colonne Désignation et cliquez sur Propriétés…. Le mot-clé Désignation sera utilisé pour rechercher ce nom de colonne ; laissez donc les valeurs par défaut.
- Sélectionnez la colonne Quantity et cliquez sur Propriétés…. Utilisez l’élément détecté précédemment
TableHeader.kwQuantitypour trouver ce nom de colonne. Sélectionnez l’option Use found element as column name et cliquez sur
pour sélectionner l’élément TableHeader.kwQuantity.

- Sélectionnez la colonne UnitPrice et cliquez sur Propriétés…. Utilisez l’élément détecté précédemment
TableHeader.kwUnitPricepour trouver ce nom de colonne. Sélectionnez l’option Use found element as column name et cliquez sur
pour sélectionner l’élément TableHeader.kwUnitPrice.

- Sélectionnez la colonne Total et cliquez sur Propriétés…. Utilisez l’élément détecté précédemment
TableHeader.kwTotalpour trouver ce nom de colonne. Sélectionnez l’option Use found element as column name et cliquez sur
pour sélectionner l’élément TableHeader.kwTotal. - Cliquez sur l’onglet Ordre.
- D’autres colonnes peuvent se trouver entre les colonnes recherchées (par exemple Unit), mais celles-ci sont toujours disposées dans l’ordre suivant : Reference, Désignation, Quantity, prix unitaire, Total. Sélectionnez l’option Rules for column order, puis cliquez sur Add… et indiquez l’ordre de colonnes suivant :
Reference << Designation << Quantity << Unit Price << Total.


- Cliquez sur l’onglet En-tête. L’en-tête est nécessaire, mais aucune contrainte de recherche n’est ajoutée ; laissez donc les valeurs par défaut.

- Cliquez sur l’onglet pied de tableau. Utilisez l’élément précédemment détecté
Footer.kwFooterpour détecter le pied de tableau. Sélectionnez l’option Use found element as footer, puis cliquez sur
pour sélectionner l’élément Footer.kwFooter.

- Cliquez sur l’onglet Rows.
-
Comme certaines colonnes du tableau peuvent contenir des entrées sur plusieurs lignes, vous devez spécifier une colonne principale pour détecter les lignes. Sélectionnez l’option Use master columns to detect rows.
Spécifiez la colonne Total comme colonne principale, car cette colonne contient toujours des données et chaque entrée correspond à une seule ligne du tableau. Si cette colonne n’est pas détectée dans un document, spécifiez respectivement les colonnes Quantity et prix unitaire comme colonnes principales secondaire et tertiaire. Cliquez sur
et définissez cet ordre pour les colonnes principales.

-
Cliquez sur l’onglet Relations. Comme les colonnes recherchées se trouvent à gauche du début du nom de la colonne Sales (avec un faible écart), définissez la contrainte de recherche suivante :
- À gauche de l’élément
TableHeader.kwSales, - Décalage = -40, Limite de référence = Left.
- À gauche de l’élément
- Effectuez la mise en correspondance du FlexiLayout avec les images de test. Vous constaterez que le programme a correctement détecté l’élément tableau sur toutes les images où il apparaît. Mais sur certaines images, la colonne Quantity inclut aussi des artefacts indésirables provenant de la colonne précédente. Pour séparer les données utiles du bruit, spécifiez le type de contenu pouvant apparaître dans la colonne.
- Ouvrez la boîte de dialogue Propriétés de l’élément InvoiceTable. Cliquez sur l’onglet Columns, ouvrez la boîte de dialogue Propriétés de la colonne Quantity et sélectionnez l’option Check content type. Sélectionnez Number dans la liste déroulante Type of column content.

- Essayez d’effectuer la mise en correspondance du FlexiLayout avec les images de test et assurez-vous que la colonne Quantity ne contient aucune donnée indésirable.
- Pour décrire l’emplacement du bloc InvoiceTable, sélectionnez l’option Source element, puis cliquez sur
et spécifiez l’élément InvoiceTable comme élément source.
