Skip to main content
En examinant les images, vous remarquerez ce qui suit :
  • Sur certains documents, le champ Date de la facture apparaît à droite du libellé du champ ; sur d’autres, en dessous. Limitez la zone de recherche aux rectangles situés à droite du libellé du champ et en dessous de celui-ci.
  • Utilisez un élément Date pour rechercher la date. De plus, si le nom du champ n’est pas détecté, ne recherchez pas les données du champ.
  • Les dates sont souvent reconnues de manière peu fiable, en raison de défauts de numérisation, de formats de date invalides, etc. Spécifiez un élément Character String supplémentaire au cas où l’élément Date ne trouverait aucune date.
Pour définir les propriétés communes à tous ces éléments, créez un élément Group.

Créer l’élément de groupe grDate

1

Créer l’élément Group

Dans l’élément InvoiceHeader, créez un élément Group et nommez-le grDate.
2

Limiter la zone de recherche

Cliquez sur l’onglet Advanced et définissez des contraintes de recherche supplémentaires : limitez la zone de recherche à un tableau de rectangles composé d’un rectangle à droite du libellé du champ et d’un rectangle sous le libellé du champ, avec un certain décalage. En langage FlexiLayout :

Créer l’élément InvoiceDate

1

Créer l’élément Date

Dans l’élément InvoiceHeader.grDate, créez un élément Date et nommez-le InvoiceDate.
2

Spécifier les formats de date

Cliquez sur l’onglet Date et spécifiez tous les formats de date possibles pour l’élément InvoiceDate :
Capture d’écran de l’onglet Date des propriétés de l’élément InvoiceDate dans ABBYY FlexiLayout Studio, montrant la liste des formats de date spécifiés pour le champ Date de la facture.
3

Exclure les éléments déjà détectés

Sur certaines images, la zone de recherche du champ Date de la facture inclut les éléments déjà détectés kwInvoiceNumber et InvoiceNumber. Pour empêcher FlexiLayout Studio de considérer leurs valeurs comme des hypothèses pour le champ Date de la facture, excluez-les de la zone de recherche :
  • Cliquez sur Add… à côté du champ Exclude regions of elements.
  • Sélectionnez kwInvoiceNumber dans la liste des éléments.
  • Cliquez sur OK. La chaîne SearchElements.InvoiceHeader.kwInvoiceNumber s’affiche dans le champ Exclude regions of elements.
Répétez ces actions pour l’élément SearchElements.InvoiceHeader.InvoiceNumber.
4

Ajouter la contrainte de recherche

Cliquez sur l’onglet Advanced. Le champ Date de la facture est facultatif. Toutefois, lorsqu’un document contient une date dans le champ Date de la facture, le libellé du champ correspondant (décrit précédemment par l’élément kwInvoiceDate) est toujours présent. Dans relations avancées de pré-recherche, ajoutez la condition suivante : recherchez l’objet image uniquement si kwInvoiceDate a été détecté. Dans le langage FlexiLayout :
5

Associer le FlexiLayout

Excluez temporairement l’élément InvoiceFooter, puis associez le FlexiLayout.
Pour les images de mauvaise qualité, lorsque les résultats de reconnaissance ne correspondent à aucun des paramètres standard de l’élément Date, ajoutez un élément alternatif utilisant des conditions de recherche moins strictes pour le champ Date de la facture.

Créer l’élément InvoiceDateAsString

1

Créer l’élément Character String

Dans l’élément InvoiceHeader.grDate, créez un élément Character String et nommez-le InvoiceDateAsString.
2

Spécifier l’alphabet

Cliquez sur l’onglet Character String et spécifiez l’alphabet :,-./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
3

Définir le pourcentage de caractères hors alphabet

Définissez le pourcentage de caractères hors alphabet sur 30 %.
4

Définir le nombre de caractères

Dans le champ Character count, spécifiez l’intervalle flou {-1, 8, 14, INF} pour la longueur de la chaîne de caractères, sachant que les valeurs possibles sont comprises entre 8 et 14 caractères. Toute hypothèse en dehors de cet intervalle est pénalisée.
5

Définir la longueur maximale de l’espace

Définissez Max space length sur 20 afin de limiter la longueur maximale d’un espace dans la chaîne de texte à 20 points. Conservez les paramètres par défaut pour les autres propriétés de l’élément.
6

Ajouter la contrainte de repli

Cliquez sur l’onglet Advanced. Étant donné que l’élément InvoiceDateAsString ne doit être recherché que si l’élément InvoiceDate n’est pas détecté, spécifiez cette condition dans le champ relations avancées de pré-recherche. Dans le langage FlexiLayout :
7

Ajouter la contrainte d’emplacement

Spécifiez une condition supplémentaire, semblable à celle de InvoiceDate : recherchez l’objet image uniquement si l’élément kwInvoiceDate a été détecté, puis recherchez l’objet le plus proche de kwInvoiceDate. Dans le langage FlexiLayout :
8

Définir la région du bloc

Spécifiez l’emplacement du bloc InvoiceDate comme la région rectangulaire de l’élément InvoiceDate ou InvoiceDateAsString détecté, étendue de 5 points verticalement et horizontalement. Sélectionnez l’option Expression et saisissez l’expression suivante :