Passer au contenu principal
L’analyse des images montre que le nom du champ Numéro de facture apparaît sur toutes les images et permet de les distinguer des autres types de documents. Lors du traitement de documents semi-structurés dans ABBYY FlexiCapture, il est préférable d’éviter la reconnaissance par erreur de documents qui n’appartiennent pas au type sélectionné. Une façon d’identifier un document consiste à créer au moins un élément obligatoire. Nous allons donc marquer cet élément comme obligatoire, c’est-à-dire l’utiliser comme identifiant pour ce type de document. Notez que, sur certaines images, ce nom apparaît sous la forme Invoice No., tandis que sur d’autres, il apparaît sous la forme Credit note no. Notre chaîne de recherche doit inclure ces deux variantes, et nous spécifierons chacune des chaînes sans espaces. Dans ce cas, le nombre maximal d’erreurs s’appliquera à l’ensemble de la phrase, et non à chaque mot séparément. Pour créer l’élément kwInvoiceNumber :
  1. Dans l’élément InvoiceHeader, créez un élément de type Static Text et nommez-le kwInvoiceNumber.
  2. Sélectionnez Required element dans l’onglet Général (nous avons décidé de faire de cet élément un élément obligatoire).
  3. Cliquez sur l’onglet Static Text.
  4. Dans le champ Search text, saisissez le texte à rechercher : « InvoiceNo.|CreditNoteNo ».
  5. Définissez Max error percentage sur 20.
  6. Cliquez sur l’onglet Relations.
  7. Dans l’onglet Relations, indiquez que les mots-clés correspondant au nom du champ Numéro de facture ne peuvent apparaître qu’au-dessous du nom du champ Delivery Address :
    • Au-dessous de l’élément InvoiceHeader.kwDeliveryAddress, Offset = 0.
  1. Cliquez sur l’onglet Advanced.
  2. Étant donné que le champ Delivery Address se trouve dans le tiers supérieur et dans le tiers gauche de l’image, définissez la contrainte de recherche supplémentaire suivante dans le champ Relations avancées avant recherche : Rechercher l’objet dans le tiers gauche de l’image; Rechercher l’objet dans le tiers supérieur de l’image. En langage FlexiLayout : Above: PageRect.Top + PageRect.Height/3; LeftOf: PageRect.Left + PageRect.Width/3;
  3. Testez la mise en correspondance du FlexiLayout avec les images de test et assurez-vous que le programme détecte correctement l’élément sur toutes les images.
En pratique, si l’intitulé d’un champ varie d’une image à l’autre, vous devez veiller à spécifier toutes les variantes possibles du nom, ou au moins la plupart d’entre elles. Vous pouvez demander davantage d’images de test ou contacter votre client afin de connaître les variantes possibles du nom sur les documents de ce type.