- à droite et en dessous du nom du champ
- à l’aide de l’élément White Gap pour limiter la zone de recherche par le bas
- à l’aide d’un élément Paragraph
Créer l’élément de groupe grAddress
- Dans l’élément InvoiceHeader, créez un élément de type Group et nommez-le grAddress.
- Cliquez sur l’onglet Relations et spécifiez les contraintes de recherche suivantes pour les éléments du groupe :
- Au-dessus de l’élément kwDeliveryAddress, Offset = -400.
- À gauche de la limite droite de l’élément kwDeliveryAddress, Offset = -800, limite de référence = Right.
- À droite de la limite gauche de l’élément kwDeliveryAddress, Offset = -50, limite de référence = Left.
- En dessous de la limite supérieure de l’élément kwDeliveryAddress, Offset = -20, limite de référence = Top.
Créez l’élément White Gap wgAddressAbove
-
Dans l’élément
InvoiceHeader.grAddress, créez un élément de type White Gap et nommez-le wgAddressAbove. - Cliquez sur l’onglet White Gap.
- Sous Orientation, sélectionnez Horizontal. Définissez Min height sur 55.
- Comme vous recherchez un espace blanc à l’intérieur d’un paragraphe, sous Search among objects of type, sélectionnez uniquement Text.
-
Sous Rubbish, spécifiez les valeurs suivantes :
- Lower threshold limit – 20.
- Upper threshold limit – 80.
- Threshold coefficient (%) – 10.
Les valeurs des propriétés Lower threshold limit, Upper threshold limit et Threshold coefficient (%) ne peuvent être déterminées que par tâtonnements. Commencez par les valeurs par défaut. Si elles ne fonctionnent pas, modifiez-les jusqu’à ce que l’espace blanc soit détecté sur toutes les images de test. - Ne spécifiez aucune contrainte de recherche supplémentaire et conservez les valeurs par défaut pour les autres options.
- Cliquez sur l’onglet Relations.
-
Puisque l’espace blanc ne peut se trouver qu’au-dessous des mots-clés de kwDeliveryAddress, spécifiez les contraintes de recherche suivantes :
- Sous l’élément kwDeliveryAddress, Offset = 20 Offset est nécessaire pour éviter que le programme trouve des espaces blancs dans d’autres zones de l’image, par exemple entre le nom du champ et le texte. Cliquez sur l’onglet Advanced.
-
Comme le champ Delivery Address n’est pas présent sur toutes les images, mais que lorsqu’il apparaît, il est toujours accompagné de son nom, spécifiez la condition supplémentaire suivante dans le champ Advanced pre-search relations : recherchez l’objet d’image uniquement si l’élément kwDeliveryAddress est détecté. Dans le langage FlexiLayout, cette condition peut s’écrire comme suit :
- Associez le FlexiLayout pour vérifier si l’élément wgAddressAbove est détecté sur toutes les images.
-
Puisque le programme trouve parfois plusieurs espaces blancs dans la zone de recherche spécifiée et ne sélectionne pas toujours le bon, imposez des contraintes de recherche supplémentaires. Si vous examinez les images, vous remarquerez que l’espace blanc recherché est celui qui se situe le plus haut dans la zone de recherche donnée. Par conséquent, dans le champ Advanced pre-search relations, spécifiez la condition supplémentaire suivante : recherchez l’objet d’image le plus proche de la limite supérieure de la première page. Dans le langage FlexiLayout, cette condition peut s’écrire comme suit :
- Excluez temporairement l’élément InvoiceFooter et associez le FlexiLayout.
Créez l’élément Paragraph DeliveryAddress
-
Dans l’élément
InvoiceHeader.grAddress, créez un élément de type Paragraph et nommez-le DeliveryAddress. - Cliquez sur l’onglet Relations.
-
Comme DeliveryAddress ne peut se trouver qu’au-dessus du White Gap wgAddressAbove, spécifiez la contrainte de recherche suivante :
- au-dessus de l’élément wgAddressAbove, Offset = 0.
-
Comme la zone de recherche de l’élément DeliveryAddress a déjà été définie au niveau du groupe
InvoiceHeader.grAddress, il n’est pas nécessaire de la redéfinir ici. - Cliquez sur l’onglet Advanced.
-
Comme le nom du champ DeliveryAddress se trouve également dans la zone de recherche, excluez-le afin de n’obtenir que la valeur de DeliveryAddress. En outre, la zone de recherche contient aussi des Separator et du bruit, qu’il est préférable d’exclure également. Pour cette raison, vous ne pouvez pas simplement exclure la région de l’élément kwDeliveryAddress. Il est plus approprié de prendre la région de l’élément kwDeliveryAddress, de l’agrandir pour qu’elle englobe tout le bruit, puis d’exclure le rectangle obtenu. Pour ce faire, spécifiez les contraintes de recherche suivantes dans le champ relations avancées de pré-recherche :
- Excluez temporairement l’élément InvoiceFooter et faites correspondre le FlexiLayout.
-
Définissez l’emplacement du bloc DeliveryAddress comme la région rectangulaire de l’élément DeliveryAddress détecté, simplifiée pour un affichage plus clair et étendue de 5 points verticalement et horizontalement. Pour ce faire, sélectionnez l’option Expression et saisissez l’expression suivante :
