Passer au contenu principal
Nous supposons que le champ Recipe # contient toujours une seule ligne. Comme, contrairement au nom du champ, les données de ce champ ne sont pas fixes, vous devez le décrire comme un élément de type Character String. Pour créer l’élément RecipeNumber :
  1. Créez un élément de type Character String et nommez-le RecipeNumber.
  1. Cliquez sur l’onglet Character String.
  1. Définissez l’alphabet, c’est-à-dire tous les caractères susceptibles d’apparaître dans les numéros de recette. À en juger par les images de test, l’alphabet comprend des chiffres et des lettres majuscules de l’alphabet anglais. L’ordre des lettres et des chiffres n’est pas connu à l’avance. Pour définir l’alphabet, cliquez sur le bouton Add… et sélectionnez les caractères requis dans la boîte de dialogue Add New Alphabet. Remarque. Les caractères sélectionnés seront affichés dans la colonne Character Set (onglet Character String, champ Alphabets).
  2. Définissez Percentage of alphabet characters sur 1. Cela signifie que le programme ne tiendra compte que des caractères de cet alphabet lors de la recherche de l’élément RecipeNumber.
Vous pouvez spécifier plusieurs alphabets pour un même élément. Dans ce cas, définissez Percentage of alphabet characters pour chaque alphabet utilisé dans l’élément.
  1. Décochez la case Allow embedded hypotheses. Cela permettra au programme de formuler des hypothèses de longueur maximale répondant à tous les critères de recherche. Sinon, le programme peut formuler plusieurs hypothèses imbriquées, chacune constituée de portions de l’un des alphabets sélectionnés (en tenant compte du pourcentage autorisé de caractères n’appartenant pas à l’alphabet).
  2. Définissez Percentage of non-alphabet characters sur 20 %. Remarque. Cette valeur ne peut être déterminée que par essais et erreurs et peut être modifiée lors de l’ajustement du FlexiLayout.
  3. Dans le champ Character count, spécifiez cette plage floue : { 0, 8, 10, 16 }. Il s’agit d’une estimation de la longueur de la chaîne de caractères. Nous supposons que le numéro comporte toujours 8 chiffres. Par prudence, indiquez au programme que le numéro peut comporter de 8 à 10 chiffres. Toute hypothèse en dehors de cette plage sera pénalisée. Remarque. Cette valeur ne peut être déterminée que par essais et erreurs et peut être modifiée lors de l’ajustement du FlexiLayout.
  4. Cliquez sur l’onglet Relations.
  1. Utilisez l’élément Recipe comme élément de référence pour l’élément RecipeNumber. Le numéro de la recette sera toujours situé à droite du nom du champ et au même niveau que celui-ci. Par conséquent, vous devez spécifier l’emplacement de l’élément par rapport au nom ainsi qu’aux limites supérieure et inférieure de ce nom. Sinon, le programme formulera une hypothèse valide pour tout fragment de texte constitué des caractères de l’alphabet défini, même s’il est situé plus haut ou plus bas que le nom du champ. En résumé : le programme doit rechercher le numéro de recette décrit par l’élément RecipeNumber à droite du nom du champ décrit par l’élément Recipe, et au même niveau que l’intitulé Recipe.
  2. Spécifiez que l’élément RecipeNumber est situé à droite de la limite droite de l’élément Recipe. Pour cela, cliquez sur le bouton Add puis, dans la boîte de dialogue qui s’ouvre, sélectionnez Recipe dans le champ de référence. Dans la liste déroulante Type, sélectionnez Right of, dans la liste déroulante limite de référence, sélectionnez Right et laissez la valeur du champ Offset inchangée (la valeur par défaut est 0). Cliquez sur le bouton ajouter une relation.
  1. Spécifiez que l’élément RecipeNumber se trouve au-dessus ou au même niveau que l’élément Recipe. Pour cela, cliquez sur le bouton Add et, dans la boîte de dialogue qui s’ouvre, sélectionnez Recipe dans le champ de référence. Dans la liste déroulante Type, sélectionnez Au-dessus et définissez Offset sur -50 (cette valeur ne peut être déterminée que par tâtonnements). Cela laissera une certaine marge au programme lors de la détection de la position de l’élément par rapport à la limite supérieure du nom du champ. Les valeurs négatives d’Offset vous permettent de spécifier que la limite inférieure de l’élément se situe au-dessous de la limite inférieure du nom. Cliquez sur le bouton Ajouter une relation.
  2. Spécifiez que l’élément RecipeNumber se trouve au-dessous ou au même niveau que l’élément Recipe. Pour cela, cliquez sur le bouton Add et, dans la boîte de dialogue qui s’ouvre, sélectionnez Recipe dans le champ de référence. Dans la liste déroulante Type, sélectionnez En dessous et définissez Offset sur -50 (cette valeur ne peut être déterminée que par tâtonnements). Cela laissera une certaine marge au programme lors de la détection de la position de l’élément par rapport à la limite supérieure du nom du champ. Les valeurs négatives d’Offset vous permettent de spécifier que la limite supérieure de l’élément se situe au-dessus de la limite supérieure du nom. Cliquez sur le bouton Ajouter une relation. Remarque. Si vous sélectionnez <whole> dans le champ Limite de référence, les valeurs positives d’Offset ne permettent de spécifier que les emplacements suivants : à droite de la limite droite de l’élément, à gauche de la limite gauche de l’élément, au-dessus de la limite supérieure de l’élément, ou au-dessous de la limite inférieure de l’élément. Si vous sélectionnez Top et Bottom dans le champ Limite de référence, les valeurs positives d’Offset limiteront la zone de recherche aux limites supérieure et inférieure de l’élément et excluront les hypothèses qui dépassent les limites gauche et droite du nom du champ.
Essayez la mise en correspondance du FlexiLayout avec les images de test et assurez-vous que le programme trouve correctement le champ contenant le numéro de la recette sur toutes les images.