- Text (signalé par l’icône
) sert à extraire des données textuelles
L’agrandissement des régions des blocs de texte peut améliorer la qualité de la reconnaissance. Pour agrandir une région, double-cliquez sur l’élément Blocks pour ouvrir sa boîte de dialogue Propriétés, puis spécifiez les valeurs verticale et horizontale de la propriété Blocks result region inflate. - Barcode (signalé par l’icône
) sert à lire les code-barres - Checkmark (signalé par l’icône
) sert à reconnaître les coches - Picture (signalé par l’icône
) sert à traiter les objets qui n’ont pas été identifiés comme du texte lors de la pré-reconnaissance - Table (signalé par l’icône
) sert à extraire des données de tableaux - Group (signalé par l’icône
) sert à regrouper logiquement des blocs - Groupe de coches (signalé par l’icône
) sert à créer des groupes de coches. Seuls des blocs de coche peuvent être ajoutés à ce type de groupe ; vous ne pouvez pas y créer ni y déplacer des blocs d’autres types. - Repeating Group (signalé par l’icône
) sert à créer un groupe répétitif de blocs - Non-Recognized (signalé par l’icône
) sert à exclure une zone de la reconnaissance
Les données des blocs sont extraites dans une application de capture de données telle qu’ABBYY FlexiCapture.
Propriétés du bloc
- Name - le nom du bloc. Le nom d’un bloc peut contenir des lettres (caractères romains, caractères romains avec signes diacritiques, caractères cyrilliques), des chiffres et des caractères de soulignement. Le nom d’un bloc doit commencer par une lettre ou un caractère de soulignement. Les noms de bloc ne doivent pas contenir d’espaces ni de caractères spéciaux.
- Type - le type du bloc (sélectionné lors de sa création). Le type du bloc doit correspondre au type d’objet(s) situé(s) dans la zone délimitée par le bloc.
- Commentaire - un commentaire fourni par l’utilisateur (facultatif).
- A des instances répétées - indique que le bloc sera constitué de plusieurs instances. Sélectionnez cette propriété si, par exemple, toutes les instances d’un groupe répétitifélément sont utilisées comme région du bloc.
- Ordre de tri des instances - définit l’ordre dans lequel les instances du groupe doivent être réunies dans un bloc. Cette propriété n’est disponible que si A des instances répétées est sélectionné. Valeurs possibles :
- De haut en bas - les instances sont réunies dans un bloc selon leur emplacement sur l’image, de haut en bas
- De gauche à droite - les instances sont réunies dans un bloc selon leur emplacement sur l’image, de gauche à droite
- De droite à gauche - les instances sont réunies dans un bloc selon leur emplacement sur l’image, de droite à gauche
- Dans l’ordre de détection - les instances sont réunies dans un bloc dans l’ordre dans lequel les hypothèses sont générées. Les hypothèses sont générées par ordre décroissant de qualité. Si l’utilisateur a spécifié des conditions supplémentaires pour les instances, les hypothèses sont générées dans l’ordre défini par l’utilisateur. Ainsi, si vous avez besoin d’un ordre différent de l’ordre standard utilisé par le programme, vous pouvez spécifier l’ordre souhaité au moyen de conditions supplémentaires.
- For Layout sélectionne la variante de mise en page où la zone de recherche est spécifiée.
- Élément source - spécifie une zone de l’image identique à la Region de l’élément utilisé pour trouver le bloc sur l’image. Lorsque le FlexiLayout est appliqué à l’image, le programme recherche l’objet (ou les objets) décrit(s) par l’élément. C’est à partir de ces objets que les données seront capturées. Pour un groupe répétitif, vous pouvez soit sélectionner l’une des instances, soit utiliser toutes les instances (AllInstances). Pour plus de détails, voir Utilisation des instances d’un groupe répétitif comme éléments de référence, exclus ou sources.
- Expression - définit une zone de l’image qui ne coïncide avec aucune des régions des éléments. Par exemple, vous pouvez fusionner les régions de certains éléments ainsi que l’espace qui les sépare en un seul bloc, étendre la région d’un élément d’une certaine valeur ou spécifier les coordonnées du bloc sans vous appuyer sur des éléments. Dans ce cas, la région du bloc peut être décrite dans le langage FlexiLayout.
La région d’un bloc est continue. Cela signifie que si vous créez une région à partir de rectangles séparés, les espaces entre eux seront remplis par de fins rectangles supplémentaires afin de rendre la région continue.
Spécifier une région de bloc à l’aide d’instances d’un groupe répétitif
- pour les blocs autres que les tableaux, les instances spécifiées seront celles du champ correspondant
- pour un bloc de tableau, les instances spécifiées seront traitées comme une seule instance du champ, c’est-à-dire qu’ABBYY FlexiCapture traitera un tel bloc comme un champ de type Table avec une région discontinue.
Règles de création de références vers des éléments pour des groupes répétitifs de blocs
Si les références sont créées via l’élément source, la vérification est effectuée lors de la création du FlexiLayout, et si les références sont créées à l’aide du code avancé, une erreur sera détectée lors de la mise en correspondance du FlexiLayout.
Utilisation du langage FlexiLayout pour décrire l’emplacement d’un bloc
| Obtention de la région d’un élément, puis extension de 3 mm en largeur et de 5 mm en longueur | OutputRegion = SomeElement.Rect; OutputRegion.Inflate( 3mm, 5mm ); |
|---|---|
| Fusion des rectangles de région de deux éléments et obtention du rectangle qui circonscrit les rectangles fusionnés | Rect outputRect; outputRect = Element1.Rect Or Element2.Rect; OutputRegion = outputRect; |
| Fusion en une seule région des rectangles qui circonscrivent les régions de deux éléments | RectArray outputRects; outputRects = RectArray( Element1.Rect ); outputRects.Add: Element2.Rect; OutputRegion = Region( outputRects ); |
| Fusion en une seule région des régions des objets correspondant à deux éléments différents | RectArray outputRects; outputRects = Element1.Rects; outputRects.Add( Element2.Rects ); OutputRegion = outputRects.Region; |
| Fusion des régions des objets appartenant à la région de Element1 et suppression des régions des objets appartenant à la région de Element2 | OutputRegion = FormRegion( Element1.Rects, Element2.Rects ); |
| Utilisation d’un élément Table pour spécifier un bloc Table | OutputTable = SearchElements.TableElement; |
| Utilisation d’instances d’hypothèses d’un élément donné pour spécifier un bloc Table | OutputInstances = SearchElements.RepeatingGroup.AllInstances.TemplateElement; |
Utilisation de la variable IsNull
Utilisation de la variable IsNull
- Pour indiquer au programme de considérer la région du bloc comme trouvée si la largeur de la région de l’élément source dépasse 50 dots, saisissez le code suivant dans le champ Region Expression : if Element1.Width < 50dt then IsNull = true;
- Pour indiquer au programme de considérer que la région du bloc de Element1 a été trouvée, saisissez le code suivant dans le champ Region Expression : IsNull = Element1.IsNull
- Supposons que vous deviez utiliser Element1 et Element2 pour rechercher un bloc. Si au moins un des éléments n’a pas été trouvé, le bloc est considéré comme non trouvé. Rect outputRect; Let FieldLeft = Element1.Rect.Left; Let FieldRight = Element2.Rect.Right; Let FieldTop = Element1.Rect.Top; Let FieldBottom = Element2.Rect.Bottom; outputRect = Rect( FieldLeft, FieldTop, FieldRight, FieldBottom); if ((Element1.IsNull == True) or (Element2.IsNull == True) ) then {IsNull = true;} OutputRegion = outputRect;
