Passer au contenu principal
Maintenant que toutes les préparations sont terminées, nous pouvons rechercher le champ de tableau Invoice Table. Commençons par décrire un élément de type Table :
  1. Nous décrivons l’en-tête du tableau. Nous avons décidé (pour des instructions détaillées, voir Étape 13) de décrire les noms des colonnes Reference et Designation à l’aide de mots-clés (Table element → boîte de dialogue Propriétés → Columns tab → dialog box of column Properties), tandis que les noms des colonnes Quantité, Prix unitaire et Total seront détectés à l’aide des éléments auxiliaires décrits précédemment.
  2. Nous décrivons le pied du tableau. Pour décrire le pied de page, nous avons décidé d’utiliser 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 du tableau (pour des instructions détaillées, voir Étape 13).
  3. Nous décrivons la zone de recherche du tableau. Nous utiliserons le nom de colonne Sales pour restreindre la zone de recherche sur la droite.
Pour créer l’élément InvoiceTable :
  1. Créez un élément de type Table et nommez-le InvoiceTable.
  2. Cliquez sur l’onglet Columns.
  3. Cliquez sur Select et spécifiez le bloc InvoiceTable décrit précédemment comme bloc à détecter par l’élément InvoiceTable (pour des instructions détaillées, voir Étape 2).
  4. Sélectionnez la colonne Reference et cliquez sur Properties… Nous utiliserons le mot-clé Reference pour rechercher ce nom de colonne ; laissez donc les valeurs par défaut.
  5. Sélectionnez la colonne Designation et cliquez sur Properties… Nous utiliserons le mot-clé Designation pour rechercher ce nom de colonne ; laissez donc les valeurs par défaut.
  6. Sélectionnez la colonne Quantité et cliquez sur Properties… Nous utiliserons 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 pour sélectionner l’élément TableHeader.kwQuantity.
  1. Sélectionnez la colonne UnitPrice et cliquez sur Properties… Nous utiliserons 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 pour sélectionner l’élément TableHeader.kwUnitPrice.
  1. Sélectionnez la colonne Total et cliquez sur Properties… Nous utiliserons 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 pour sélectionner l’élément TableHeader.kwTotal.
  2. Cliquez sur l’onglet Order.
  3. Il peut y avoir d’autres colonnes entre celles recherchées (par exemple, Unit), mais les colonnes recherchées sont toujours dans l’ordre suivant : Reference, Designation, Quantité, Prix unitaire, Total. Sélectionnez l’option Rules for column order, puis cliquez sur Add… et spécifiez l’ordre de colonnes suivant : Reference << Designation << Quantité << Prix unitaire << Total.
  1. Cliquez sur l’onglet Header. Nous avons besoin de l’en-tête, mais nous n’allons ajouter aucune contrainte de recherche ; laissez donc les valeurs par défaut.
  1. Cliquez sur l’onglet Footer. Nous utiliserons l’élément Footer.kwFooter précédemment détecté pour 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.
  1. Cliquez sur l’onglet Rows.
  2. Comme certaines colonnes du tableau peuvent contenir des entrées sur plusieurs lignes, nous devons 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 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 Quantité et Prix unitaire comme colonnes principales secondaire et tertiaire. Cliquez sur et définissez cet ordre pour les 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. Remarque. Lors du choix des valeurs de décalage, vous pouvez analyser les propriétés géométriques (c.-à-d. 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 Table sur toutes les images où il apparaît. Mais sur certaines images, la colonne Quantité inclut aussi des artefacts indésirables provenant de la colonne précédente. Pour séparer les données utiles du bruit, spécifions 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 Quantité et sélectionnez l’option Check content type. Sélectionnez Number 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 Quantité 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 et spécifiez l’élément InvoiceTable comme élément source.