Footer.kwTotal et sur la même ligne.
Utilisez des éléments de type Character String pour détecter les champs quantité totale et montant total. Pour définir les contraintes de recherche communes à ces éléments, créez un élément Group — grTotal.
Créer l’élément Group grTotal
- Dans l’élément Footer, créez un élément Group et nommez-le grTotal.
-
Sélectionnez l’option Optional element, car nous avons décidé d’interrompre la recherche des sous-éléments si le nom est absent.
Pour plus de détails, consultez l’article d’aide The “Optional” property of a Group element.
- Cliquez sur l’onglet Advanced.
-
Puisque les champs quantité totale et montant total n’apparaissent dans l’image qu’avec le nom
Footer.kwTotal, définissez la contrainte de recherche supplémentaire suivante dans le champ Relations avancées avant recherche : si l’élémentFooter.kwTotaln’a pas été détecté, ne recherchez pas l’objet dans l’image. Dans le langage FlexiLayout :If Footer.kwTotal.IsNull Then DontFind;
Créer l’élément TotalQuantity
- Dans l’élément grTotal, créez un élément de type Character String et nommez-le TotalQuantity.
- Cliquez sur l’onglet Character String.
-
Dans le champ Character count, spécifiez cet intervalle flou :
{-1, 1, 10, INF}. Il s’agit d’une estimation de la longueur de la chaîne de caractères. Considérez que les valeurs possibles peuvent aller de 1 à 10. Toute hypothèse en dehors de cette plage sera pénalisée. - Conservez les valeurs par défaut des autres paramètres de l’élément.
- Cliquez sur l’onglet Relations.
-
Comme le champ quantité totale se trouve toujours au même niveau que le mot-clé
Footer.kwTotal, ou légèrement plus bas, définissez les contraintes de recherche suivantes :- Au-dessus de l’élément
Footer.kwTotal, Offset = -200, Reference boundary = Bottom - Au-dessous de l’élément
Footer.kwTotal, Offset = -20, Reference boundary = Top
- Au-dessus de l’élément
- Cliquez sur l’onglet Advanced.
-
Comme le champ quantité totale est facultatif sur les images, mais que, lorsqu’il apparaît, il apparaît avec la colonne Quantity et sous son nom, définissez la contrainte de recherche supplémentaire suivante dans le champ Relations avancées avant recherche :
Recherchez l’objet sur l’image uniquement si l’élément
TableHeader.kwQuantitya été détecté ; ne cherchez pas à plus de 50 dots à gauche ou à droite des limites respectives du nom de la colonne. Dans le langage FlexiLayout :If Not (TableHeader.kwQuantity.IsNull) Then{LeftOf: TableHeader.kwQuantity.Right, -50 * dot;RightOf: TableHeader.kwQuantity.Left, -50 * dot;}Else DontFind; - 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 concernées.
- Pour décrire l’emplacement du bloc TotalQuantity, sélectionnez l’option Source element, puis cliquez sur ”…” et sélectionnez l’élément TotalQuantity comme élément source.
Créer l’élément TotalAmount
- Dans l’élément grTotal, créez un élément de type Character String et nommez-le TotalAmount.
- Cliquez sur l’onglet Character String.
-
Dans le champ Character count, spécifiez cet intervalle flou :
[-1, 1, 20, 2147483647]. Il s’agit d’une estimation de la longueur de la chaîne de caractères. Considérez que les valeurs possibles peuvent aller de 1 à 20. Toute hypothèse en dehors de cette plage sera pénalisée. - Conservez les valeurs par défaut des autres paramètres de l’élément.
- Cliquez sur l’onglet Relations.
-
Étant donné que le champ montant total se trouve toujours au même niveau que les mots-clés du nom
Footer.kwTotal, définissez les contraintes de recherche suivantes :- Au-dessus de l’élément
Footer.kwTotal, Offset = -20, Reference boundary = Bottom. - En dessous de l’élément
Footer.kwTotal, Offset = -20, Reference boundary = Top.
- Au-dessus de l’élément
- Cliquez sur l’onglet Advanced.
-
Étant donné que le champ montant total ne peut se trouver qu’immédiatement sous le nom de la colonne Total (éventuellement avec un léger décalage) et uniquement entre les colonnes Unit Price et Sales, définissez la contrainte de recherche supplémentaire suivante dans le champ Relations avancées avant recherche :
Si l’élément
TableHeader.kwTotala été détecté, recherchez l’objet à une distance maximale de 70 dots à droite de la limite droite de l’élémentTableHeader.kwTotalet de 50 dots à gauche de la limite gauche de l’élémentTableHeader.kwTotal. Ou, si les élémentsTableHeader.kwUnitPriceetTableHeader.kwSalessont détectés, recherchez l’objet à une distance maximale de 40 dots à droite de la limite gauche de l’élémentTableHeader.kwSaleset à droite de la limite droite de l’élémentTableHeader.kwUnitPrice; sinon, ne recherchez pas l’objet. En langage FlexiLayout :If Not (TableHeader.kwTotal.IsNull) Then{LeftOf: TableHeader.kwTotal.Right, -70 * dot;RightOf: TableHeader.kwTotal.Left, -50 * dot;}ElseIf Not (TableHeader.kwUnitPrice.IsNull) and Not (TableHeader.kwSales.IsNull) Then{LeftOf: TableHeader.kwSales.Left, -40 * dot;RightOf: TableHeader.kwUnitPrice, 0 * dot;}Else DontFind; - 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 concernées.
-
Pour décrire l’emplacement du bloc TotalAmount, sélectionnez l’option Source element, puis cliquez sur
et sélectionnez l’élément TotalAmount comme élément source.
