Skip to main content
Maintenant que toutes les préparations sont terminées, vous pouvez rechercher le champ de tableau Invoice Table. Commencez par décrire un élément de type tableau :
  1. 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.
  2. 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.
  3. 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

Pour créer l’élément InvoiceTable :
  1. Créez un élément de type tableau et nommez-le InvoiceTable.
  2. Cliquez sur l’onglet Colonnes.
  3. 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.
  4. 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.
  5. 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.
  6. Sélectionnez la colonne Quantity et cliquez sur Propriétés…. Utilisez l’élément détecté précédemment TableHeader.kwQuantity pour trouver ce nom de colonne. Sélectionnez l’option Use found element as column name et cliquez sur bouton Parcourir pour sélectionner l’élément TableHeader.kwQuantity.
Capture d’écran de la boîte de dialogue Propriétés de la colonne Quantity dans ABBYY FlexiLayout Studio, avec l’option Use found element as column name sélectionnée et définie sur SearchElements.TableHeader.kwQuantity.
  1. Sélectionnez la colonne UnitPrice et cliquez sur Propriétés…. Utilisez l’élément détecté précédemment TableHeader.kwUnitPrice pour trouver ce nom de colonne. Sélectionnez l’option Use found element as column name et cliquez sur bouton Parcourir pour sélectionner l’élément TableHeader.kwUnitPrice.
Capture d’écran de la boîte de dialogue Propriétés de la colonne UnitPrice dans ABBYY FlexiLayout Studio, avec l’option Use found element as column name sélectionnée et définie sur SearchElements.TableHeader.kwUnitPrice.
  1. Sélectionnez la colonne Total et cliquez sur Propriétés…. Utilisez l’élément détecté précédemment TableHeader.kwTotal pour trouver ce nom de colonne. Sélectionnez l’option Use found element as column name et cliquez sur bouton Parcourir pour sélectionner l’élément TableHeader.kwTotal.
  2. Cliquez sur l’onglet Ordre.
  3. 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.
Capture d’écran de l’onglet Ordre de la boîte de dialogue Propriétés de SearchElements.InvoiceTable dans ABBYY FlexiLayout Studio, avec l’option Rules for column order sélectionnée et une règle répertoriant Reference, désignation, Quantity, prix unitaire et Total dans cet ordre.
Dans la boîte de dialogue Modifier la règle d’ordre des colonnes, déplacez les colonnes dans la liste Colonnes sélectionnées dans l’ordre Reference, Désignation, Quantity, UnitPrice, Total.
Capture d’écran de deux boîtes de dialogue Modifier la règle d’ordre des colonnes dans ABBYY FlexiLayout Studio, montrant les colonnes disponibles déplacées dans la liste Colonnes sélectionnées dans l’ordre Reference, désignation, Quantity, UnitPrice, Total.
  1. 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.
Capture d’écran de l’onglet En-tête de la boîte de dialogue Propriétés de SearchElements.InvoiceTable dans ABBYY FlexiLayout Studio, montrant les options Look for header et Header is optional sélectionnées avec les options de recherche par défaut.
  1. Cliquez sur l’onglet pied de tableau. Utilisez l’élément précédemment détecté Footer.kwFooter pour détecter le pied de tableau. Sélectionnez l’option Use found element as footer, puis cliquez sur Bouton Parcourir pour sélectionner l’élément Footer.kwFooter.
Capture d’écran de l’onglet pied de tableau de la boîte de dialogue Propriétés of SearchElements.InvoiceTable dans ABBYY FlexiLayout Studio, avec l’option Use found element as footer sélectionnée et définie sur SearchElements.Footer.kwFooter.
  1. Cliquez sur l’onglet Rows.
  2. 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 Bouton Parcourir et définissez cet ordre pour les colonnes principales.
Capture d’écran de l’onglet Rows de la boîte de dialogue Propriétés of SearchElements.InvoiceTable dans ABBYY FlexiLayout Studio, avec l’option Use master columns to detect rows sélectionnée et Total, Quantity et UnitPrice répertoriés comme colonnes principales.
  1. 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.
    Lors du choix des valeurs de décalage, vous pouvez analyser les propriétés géométriques (c’est-à-dire la taille et les limites) des objets de référence et des objets recherchés détectés lors de la pré-reconnaissance. Sinon, ces valeurs sont déterminées par tâtonnements.
  2. 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.
  3. 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.
Capture d’écran de la boîte de dialogue Propriétés of column Quantity dans ABBYY FlexiLayout Studio, avec l’option Check content type sélectionnée et Number choisi dans la liste déroulante Type of column content.
  1. 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.
  2. Pour décrire l’emplacement du bloc InvoiceTable, sélectionnez l’option Source element, puis cliquez sur Bouton Parcourir et spécifiez l’élément InvoiceTable comme élément source.