Skip to main content
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. Marquez donc cet élément comme obligatoire, c’est-à-dire utilisez-le 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. La chaîne de recherche doit inclure ces deux variantes. Spécifiez chacune des chaînes sans espaces afin que le nombre maximal d’erreurs s’applique à 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 pour 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.
Capture d’écran de l’onglet Relations de la boîte de dialogue Properties de SearchElements.InvoiceHeader.StaticText dans ABBYY FlexiLayout Studio, montrant une relation Below vers l’élément kwDeliveryAddress.
  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.