Passer au contenu principal
Une fois les images analysées, vous remarquerez que le nom de la colonne Unit Price peut être défini à l’aide du texte de recherche suivant : “UnitPrice”, “Price” et “RATE”, tandis que le nom Unit apparaît sous la forme “Unit”. Pour empêcher le programme de détecter le mot “Unit” dans le nom de la colonne Unit Price, nous allons d’abord décrire Unit Price, car il contient un texte distinctif, puis nous utiliserons une relation supplémentaire pour décrire Unit. Lorsque vous créez un élément pour rechercher les mots-clés du nom de la colonne Unit Price, tenez compte du fait que la colonne Unit Price se trouve toujours à droite de la colonne Quantity. Pour créer un élément kwUnitPrice :
  1. Dans l’élément TableHeader, créez un élément de type Static Text et nommez-le kwUnitPrice.
  2. Cliquez sur l’onglet Static Text.
  3. Dans le champ Search text, indiquez le texte à rechercher : UnitPrice|Price|RATE.
  4. Pour indiquer que le nom recherché se trouve au même niveau que le nom Designation, cliquez sur l’onglet Relations et définissez les contraintes supplémentaires suivantes. Voir Étape 7.2 pour plus de détails.
  5. Dans l’onglet Relations, définissez la condition suivante : rechercher l’élément le plus proche dont la coordonnée X a pour valeur 0.
  1. Cliquez sur l’onglet Advanced.
  2. Comme le nom de la colonne Unit Price se trouve à droite du nom de la colonne kwQuantity, définissez les conditions supplémentaires suivantes dans Advanced pre-search relations :Si l’élément kwQuantity a été détecté, recherchez l’image object située à droite de l’élément kwQuantity. Dans le langage FlexiLayout, cette condition peut s’écrire comme suit : If Not (TableHeader.kwQuantity.IsNull) Then RightOf: TableHeader.kwQuantity, 0 * dot;
  3. Pour optimiser le processus de recherche, définissez une condition supplémentaire :Ne recherchez pas le nom si le nom Designation *n’a pas été détecté. Voir Étape 7.2 pour plus de détails.
  4. Nous pouvons influer sur la qualité des hypothèses générées en définissant des vérifications supplémentaires dans le champ Advanced post-search relations. Dans ce cas, nous pouvons définir la vérification suivante :Si l’élément a été détecté, calculez la différence entre la largeur de référence et la largeur de l’élément détecté et vérifiez si elle appartient à l’intervalle flou indiqué. Dans le langage FlexiLayout, cette condition peut s’écrire comme suit : If not IsNull then { FuzzyQuality: 400dt - width, {-50000,0,0, 50000}*dt; } //Cette vérification signifie que plus la différence est grande, plus le coefficient de pénalité est élevé
  5. Exécutez la commande Associer du FlexiLayout pour vous assurer que l’élément est détecté sur la première page du document.