Skip to main content
Maintenant que tous les préparatifs sont terminés, recherchez le champ tableau de facture en créant un élément Table. Le tableau comporte trois parties à décrire :
  • En-tête du tableau – Indiquez les noms des colonnes à l’aide des éléments auxiliaires déjà détectés.
  • Pied du tableau – Utilisez 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 – Limitez 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

1

Créer l’élément Tableau

Dans l’arborescence SearchElements, créez un élément Table nommé InvoiceTable.
2

Sélectionnez le bloc de tableau

Cliquez sur l’onglet Columns, puis sur Select afin de sélectionner le bloc InvoiceTable créé à l’étape 3 comme bloc à rechercher.
3

Attribuer les noms de colonnes

Spécifiez les paramètres de recherche des colonnes du tableau. Pour chaque colonne, sélectionnez-la dans la liste, cliquez sur Propriétés…, sélectionnez Utiliser l’élément trouvé comme nom de colonne, cliquez sur bouton Parcourir, puis sélectionnez l’élément précédemment détecté :
4

Définir l’ordre des colonnes

Cliquez sur l’onglet Order. Les colonnes recherchées peuvent être séparées par d’autres colonnes (par exemple, ExtraQtyTag), mais leur ordre est toujours fixe (d’abord Designation, puis Unit Price, puis Total). Sélectionnez donc Rules for column order, cliquez sur Add…, puis ajoutez les colonnes dans cet ordre : Designation << Unit Price << Total.
Capture d’écran de l’onglet Order des propriétés de l’élément Table InvoiceTable dans ABBYY FlexiLayout Studio, montrant l’option Rules for column order sélectionnée avec les colonnes Designation, Unit Price et Total ajoutées dans l’ordre requis.
5

Conservez les valeurs par défaut de l’en-tête

Cliquez sur l’onglet En-tête. Un en-tête de tableau est requis, mais aucune contrainte supplémentaire ne s’applique ; conservez donc les valeurs par défaut.
6

Définir le pied de tableau

Cliquez sur l’onglet Pied de tableau. Utilisez l’élément InvoiceFooter.Paragraph précédemment détecté pour la dernière partie du tableau. Sélectionnez l’option Utiliser l’élément trouvé comme pied de tableau, cliquez sur Bouton Parcourir, puis sélectionnez l’élément InvoiceFooter.Paragraph.
Capture d’écran de l’onglet Pied de tableau des propriétés de l’élément de tableau InvoiceTable dans ABBYY FlexiLayout Studio, montrant l’option Utiliser l’élément trouvé comme pied de tableau sélectionnée avec l’élément InvoiceFooter.Paragraph choisi comme pied de tableau.
7

Définir les colonnes principales des lignes

Cliquez sur l’onglet Lignes. Comme les cellules de certaines colonnes peuvent contenir plusieurs lignes, définissez des colonnes principales pour séparer les lignes, puis sélectionnez Utiliser des colonnes principales pour détecter les lignes.Commencez par spécifier la colonne Total, car elle contient toujours des données et comporte une ligne de données par enregistrement du tableau. Si cette colonne n’est pas détectée dans l’image, spécifiez les colonnes Prix unitaire et Quantité comme solution de secours pour la séparation des lignes. Utilisez le bouton Bouton Parcourir pour sélectionner ces colonnes.
Capture d’écran de l’onglet Lignes des propriétés de l’élément Table InvoiceTable dans ABBYY FlexiLayout Studio, montrant l’option Utiliser des colonnes principales pour détecter les lignes sélectionnée, avec les colonnes Total, Prix unitaire et Quantité définies comme colonnes principales pour séparer les lignes.
8

Limiter le tableau de droite

Cliquez sur l’onglet Relations. Les colonnes du tableau recherchées se trouvant à gauche du nom de colonne Sales, ajoutez la contrainte de recherche suivante :
  • À gauche de l’élément TableHeader.kwSales, Offset = 0.
Pour les images de mauvaise qualité (par exemple, en cas de bruit entre le corps et le pied de tableau, ou d’en-tête ou de pied de tableau manquant), vous pouvez définir les limites supérieure et inférieure du tableau. Utilisez l’élément kwDesignation comme limite supérieure et l’élément Paragraph comme limite inférieure. Dans l’onglet Relations, ajoutez les contraintes de recherche suivantes :
  • Sous la limite supérieure de l’élément kwDesignation, Offset = -50, Reference boundary = Top.
  • Au-dessus de l’élément Paragraph, Offset = -50, Reference boundary = Bottom.
9

Associer et vérifier la colonne Quantité

Associez le FlexiLayout aux images de test. FlexiLayout Studio détecte correctement l’élément de tableau dans toutes les images, mais dans certaines, la colonne Quantity contient du texte superflu provenant de la colonne précédente. Pour distinguer les données pertinentes des données non pertinentes dans la colonne Quantity, spécifiez le type de contenu de cette colonne.
10

Définir le type de contenu de Quantity

Ouvrez la boîte de dialogue Propriétés de l’élément de tableau InvoiceTable. Cliquez sur l’onglet Colonnes, ouvrez la boîte de dialogue Propriétés de la colonne Quantité, puis sélectionnez l’option Vérifier le type de contenu. Dans Type du contenu de la colonne, sélectionnez Nombre.
Capture d’écran des propriétés de la colonne Quantité dans ABBYY FlexiLayout Studio, montrant l’option Vérifier le type de contenu sélectionnée avec Nombre comme type de contenu de la colonne.
11

Définir les types de contenu pour la devise

Exécutez à nouveau le FlexiLayout et vérifiez que la colonne Quantité ne contient que des chiffres, comme requis. De même, spécifiez le contenu Devise pour les colonnes prix unitaire et Total.
12

Définir l’élément source du bloc

Pour définir l’emplacement du bloc InvoiceTable, sélectionnez l’option Élément source, cliquez sur Bouton Parcourir, puis indiquez InvoiceTable comme élément source.