- Le nom du champ Numéro de facture est présent sur toutes les images, et c’est ce nom qui permet de les différencier des autres documents. Pour cette raison, nous allons faire du nom du champ Numéro de facture un élément obligatoire, c’est-à-dire qu’il sera utilisé comme identifiant pour ce type de document. Pour plus de détails, voir Éléments obligatoires, facultatifs et interdits.
- Le nom peut contenir l’une des expressions suivantes : Invoice no., Credit note No, Invoice Number:, Invoice Number. Nous allons répertorier toutes les variantes possibles dans la chaîne de recherche. Saisissez chaque expression sans espaces afin que le nombre maximal d’erreurs s’applique à l’expression entière et non à chaque mot séparément.
- Nous nous intéressons maintenant uniquement au champ situé sur la première page de chaque document, dans la partie supérieure de cette première page (certaines premières pages contiennent un texte statique semblable au nom, mais situé en bas de la page).
- Dans l’élément InvoiceHeader, créez un élément de type Static Text et nommez-le kwInvoiceNumber.
- Sélectionnez Élément obligatoire dans l’onglet Général (nous avons décidé précédemment de rendre cet élément obligatoire).
- Cliquez sur l’onglet Static Text.
- Dans le champ Texte de recherche, saisissez le texte de recherche : InvoiceNo.|CreditNoteNo|InvoiceNumber:|InvoiceNumber
- Définissez le pourcentage d’erreur maximal sur 20.
- Cliquez sur l’onglet Contraintes de recherche et utilisez des coordonnées absolues pour spécifier la zone de recherche rectangulaire sur la première page :
- Sélectionnez Contraintes de zone de recherche absolue
- Dans le champ Pages, sélectionnez Plage dans la liste déroulante
- Dans le champ Plage, saisissez 1
- Dans le champ Region, spécifiez les coordonnées du rectangle [1, 1, 2475, 1878]
- Une fois les propriétés de la zone de recherche définies, cliquez sur Add… La zone de recherche apparaîtra dans la liste Zones de recherche

- Cliquez sur l’onglet Avancé.
- Dans le champ Relations avancées avant recherche, spécifiez des contraintes supplémentaires : WholeWordMode: true;// Seuls les objets texte entiers seront traités comme hypothèses possibles MaxGapInLine: 50dt;// Distance maximale entre des mots voisins
- En spécifiant une vérification supplémentaire dans le champ Advanced post-search relations, vous pouvez influencer la qualité des hypothèses générées. Par exemple :Si l’élément a été détecté, calculez la différence entre la largeur de référence et la largeur de la région de l’élément détecté, puis vérifiez si elle appartient à l’intervalle flou. Dans le langage FlexiLayout, cette condition peut être écrite comme suit : If not IsNull then { FuzzyQuality: 600dt - width, {-70000,0,0,70000}*dt; } //Cette condition signifie que plus la différence est grande, plus la pénalité est élevée Remarque. Pour spécifier l’emplacement des objets et les distances entre eux, un système de coordonnées bidimensionnel est utilisé. Le point (0, 0), où les axes vertical et horizontal se croisent, se trouve dans le coin supérieur gauche de l’image. L’axe des abscisses est orienté de gauche à droite et l’axe des ordonnées de haut en bas.
- Excluez temporairement l’élément InvoiceFooter et associez le FlexiLayout.
Pour exclure un élément, sélectionnez-le dans l’arborescence des éléments, puis sélectionnez Disable dans le menu FlexiLayout.
