- En-tête du tableau. Comme décidé précédemment, indiquez les noms des colonnes à l’aide d’éléments auxiliaires déjà détectés.
- Pied du tableau. Comme décidé précédemment, le pied est défini à l’aide de l’élément Paragraph obligatoire déjà détecté du groupe InvoiceFooter, qui identifie le début de la partie finale. Cet élément a été décrit comme étant le plus proche du bas du tableau.
- Zone de recherche du tableau. Vous pouvez limiter la zone de recherche à droite à l’aide du nom de la dernière colonne Sales, qui n’est nécessaire à aucune autre fin.
Créer l’élément InvoiceTable
- Dans l’arborescence SearchElements, créez un élément de type Table et nommez-le InvoiceTable.
- Cliquez sur l’onglet Columns.
- Cliquez sur Select pour sélectionner le bloc InvoiceTable créé précédemment à l’étape 3 comme bloc à rechercher.
- Spécifiez les paramètres de recherche des colonnes du tableau :
- Dans la liste des colonnes, sélectionnez Reference et cliquez sur le bouton Propriétés.
Pour le nom de cette colonne, utilisez l’élément
TableHeader.kwReferencedétecté précédemment. Pour cela, sélectionnez Use found element as column name, puis cliquez sur
et sélectionnez TableHeader.kwReference. - Dans la liste des colonnes, sélectionnez Désignation et cliquez sur le bouton Propriétés.
Pour le nom de cette colonne, utilisez l’élément
TableHeader.kwDesignationdétecté précédemment. - Dans la liste des colonnes, sélectionnez Unit et cliquez sur le bouton Propriétés.
Pour le nom de cette colonne, utilisez l’élément
TableHeader.kwUnitdétecté précédemment. - Dans la liste des colonnes, sélectionnez Quantity et cliquez sur le bouton Propriétés.
Pour le nom de cette colonne, utilisez l’élément
TableHeader.kwQuantitydétecté précédemment. - Dans la liste des colonnes, sélectionnez Prix unitaire et cliquez sur le bouton Propriétés.
Pour le nom de cette colonne, utilisez l’élément
TableHeader.kwUnitPricedétecté précédemment. - Dans la liste des colonnes, sélectionnez Total et cliquez sur le bouton Propriétés.
Pour le nom de cette colonne, utilisez l’élément
TableHeader.kwTotaldétecté précédemment.
- Dans la liste des colonnes, sélectionnez Reference et cliquez sur le bouton Propriétés.
Pour le nom de cette colonne, utilisez l’élément
- Cliquez sur l’onglet Order.
- Comme les colonnes recherchées peuvent être séparées les unes des autres par d’autres colonnes (par exemple, ExtraQtyTag), mais que leur ordre est toujours fixe (Désignation d’abord, puis Prix unitaire, puis Total), sélectionnez la règle d’ordre des colonnes, cliquez sur Add…, puis ajoutez les colonnes dans l’ordre suivant : Désignation << Prix unitaire << Total.
- Cliquez sur l’onglet en-tête. L’en-tête du tableau est nécessaire, mais aucune contrainte supplémentaire n’est imposée ; conservez donc les valeurs par défaut.
- Cliquez sur l’onglet pied. Utilisez l’élément
InvoiceFooter.Paragraphdétecté précédemment pour la partie finale du tableau. Sélectionnez l’option Use found element as pied, cliquez sur
puis sélectionnez l’élément InvoiceFooter.Paragraph.
- Cliquez sur l’onglet Rows.
-
Comme les cellules de certaines colonnes peuvent contenir plusieurs lignes, vous devez spécifier des colonnes principales pour séparer les lignes. Sélectionnez Use master columns to detect rows.
Spécifiez d’abord la colonne Total, car cette colonne contient toujours des données et, pour chaque enregistrement du tableau, elle comporte une ligne de données.
Si cette colonne n’est pas détectée sur l’image, spécifiez les colonnes Prix unitaire et Quantity comme option suivante pour la séparation des lignes. Utilisez le bouton
pour sélectionner ces colonnes.
-
Sélectionnez l’onglet Relations. Comme les colonnes du tableau qui nous intéressent se trouvent à gauche du nom de la colonne Sales, ajoutez les contraintes de recherche suivantes :
- Left of l’élément
TableHeader.kwSales, Offset = 0
- Left of l’élément
- Associez le FlexiLayout aux images de test. Vous remarquerez que le programme détecte correctement l’élément Table sur toutes les images, mais que, sur certaines d’entre elles, la colonne Quantity inclut du texte superflu provenant de la colonne précédente. Pour distinguer les données correctes de la colonne Quantity des données non pertinentes, spécifiez le type de contenu de cette colonne.
- Ouvrez la boîte de dialogue Properties de l’élément Table InvoiceTable. Cliquez sur l’onglet Columns, ouvrez la boîte de dialogue Propriétés de la colonne Quantity, puis sélectionnez l’option Check content type. Dans Type of column content, sélectionnez Number.
- Maintenant, si vous associez le FlexiLayout aux images, vous verrez que la colonne Quantity ne contient que des chiffres, comme requis.
- De même, spécifiez un contenu de type Devise pour les colonnes prix unitaire et Total.
- Pour spécifier l’emplacement du bloc InvoiceTable, sélectionnez l’option élément source. Cliquez sur
et spécifiez InvoiceTable comme élément source.
