Skip to main content
ABBYY FlexiLayout Studio offre plusieurs fonctionnalités spéciales pour développer des FlexiLayouts supplémentaires pour les projets de factures :
  • Vous pouvez définir la position des éléments par rapport aux régions des champs détectées lors de l’application du FlexiLayout principal du projet de factures.
  • Vous pouvez utiliser les identifiants des fournisseurs et des unités commerciales dans les requêtes adressées au jeu de données de la Document Definition.
  • Vous pouvez exporter les listes de mots-clés et les autres paramètres du FlexiLayout vers un fichier XML. Vous pouvez ensuite les modifier sans avoir à modifier le FlexiLayout ni la Document Definition.

Créer une FlexiLayout supplémentaire

1

Ouvrir un lot dans FlexiCapture

Dans FlexiCapture, ouvrez un lot contenant des factures reconnues.
2

Créer un projet FlexiLayout Studio

Créez un nouveau projet dans ABBYY FlexiLayout Studio. Dans le menu principal, sélectionnez Tools → Export Batch to FlexiLayout Studio → Create New FlexiLayout Studio Project….Cette commande n’est disponible que pour les projets FlexiCapture stockés sur votre ordinateur. Dans une installation distribuée, si le projet est stocké sur le serveur, téléchargez-le d’abord sur votre ordinateur. Pour ce faire, cliquez sur Export Project… dans le menu Project.
Le nouveau projet ABBYY FlexiLayout Studio contient tous les documents du lot FlexiCapture, ainsi que les régions de champs détectées lors de la reconnaissance, sous la forme d’une disposition de référence. Le suffixe du nom du projet indique la version de la Document Definition au moment de la création du projet.

Ajouter un champ à un FlexiLayout supplémentaire

Pour ajouter un champ à un FlexiLayout supplémentaire, créez un bloc pour le champ et définissez son élément de recherche. Les champs de la Document Definition doivent avoir des noms uniques. Nommez donc le bloc en fonction de ce que vous souhaitez faire :

Ajouter des pages à un FlexiLayout supplémentaire

Pour tester sur de nouvelles images les modifications apportées à un FlexiLayout supplémentaire, exportez des lots FlexiCapture vers un projet de factures existant dans ABBYY FlexiLayout Studio. Cliquez sur Tools → Export Batch to FlexiLayout Studio → Add to Existing FlexiLayout Studio Project…. Vous ne pouvez exporter des lots FlexiCapture que vers des projets ABBYY FlexiLayout Studio créés à l’aide de la commande Create New FlexiLayout Studio Project…. Chaque lot FlexiCapture exporté devient un nouveau lot dans le projet ABBYY FlexiLayout Studio.

Exporter les champs ajoutés après la création du projet

La nouvelle Document Definition peut comporter davantage de champs que celle utilisée pour le projet ABBYY FlexiLayout Studio. Dans ce cas, le journal d’export contient un avertissement pour chaque champ supplémentaire. Pour exporter ces champs supplémentaires, ajoutez pour chacun d’eux un bloc portant le même nom dans le nœud CommonBlockRegions de l’arborescence SearchElements.

Effectuer des requêtes sur les jeux de données à partir de la Document Definition

Vous trouverez un exemple de requête dans l’élément DataSetRequestSample. Cet élément est désactivé par défaut.

Type NamedValue

Une valeur nommée. Constructeur : NamedValue( String, String )

Type NamedValueArray

Un tableau de valeurs nommées. Constructeurs :
  • NamedValueArray()
  • NamedValueArray( NamedValue namedValue )

Paramètres de la fonction

Lorsqu’une requête dans searchCriteria contient plusieurs valeurs, combinez-les à l’aide des opérateurs OR et AND :

Fonctions

Rechercher des lignes à partir d’une colonne dans une base de données externe sur une image

1

Lister les colonnes

Utilisez FieldNamesOfFCDataset pour obtenir une liste des colonnes triées par ordre croissant de leur indice.
2

Trouver l’indice de la colonne

Déterminez le numéro d’indice de la colonne dans laquelle vous devez rechercher des données.
3

Créer le filtre

Créez un tableau de conditions pour filtrer les données du jeu de données.
4

Exécuter la recherche

Transmettez à SearchTextFromFCDataSet les numéros d’indice de la colonne et les conditions de filtre (ou à RegularExpressionFromFCDataSet si vous devez utiliser des expressions régulières).
Ce code est généré automatiquement lorsqu’un lot reconnu est exporté depuis FlexiCapture.

Rechercher dans une image des entrées issues de plusieurs colonnes

Chaque appel à la fonction SearchTextFromFCDataSet remplace les paramètres de recherche : l’appeler plusieurs fois n’a donc aucun effet. Pour contourner ce problème, récupérez des string depuis une base de données externe et transmettez-les à la fonction SearchText. SearchText ajoute chaque string aux paramètres de recherche existants au lieu de les remplacer.
1

Lister les colonnes

Créez un tableau des noms des colonnes dans lesquelles vous devez trouver des données.
2

Créer le filtre

Créez un tableau de conditions de filtre pour filtrer les données du jeu de données.
3

Compter les entrées

Déterminez le nombre d’entrées renvoyées à l’aide de la fonction RecordCountOfFCDataset.
4

Préparer la requête

Préparez les données de la requête à l’aide de la fonction PrepareRecordsetOfFCDataset.
5

Lire chaque record

Parcourez tous les records et récupérez le tableau de chaque record à l’aide de la méthode RecordOfFCDataset.
6

Transmettre les valeurs à SearchText

Transmettez la valeur de chaque élément du tableau à la fonction SearchText.

Colonnes complexes

Une colonne complexe d’un jeu de données est stockée sous la forme de plusieurs colonnes dans la base de données externe encodée. Dans les exemples suivants, la colonne complexe Name est stockée sous la forme de trois colonnes : les champs du jeu de données sont donc {VendorId, VATID, Name, Name, Name, City}. Pour obtenir la liste des colonnes renvoyées par une requête, transmettez le tableau searchFields à la fonction FieldNamesOfFCDataset.

Effectuer une requête sur un fichier XML contenant des paramètres FlexiLayout

Vous pouvez effectuer des requêtes sur un fichier XML contenant des paramètres FlexiLayout à l’aide de deux fonctions standard décrites dans la documentation d’ABBYY FlexiLayout Studio :
Pour utiliser ce fichier lorsque vous travaillez sur un FlexiLayout dans ABBYY FlexiLayout Studio, placez-le dans le dossier du projet ou dans l’un de ses sous-dossiers. Le chemin d’accès à ce fichier est relatif au fichier de projet ABBYY FlexiLayout Studio. Si vous chargez un FlexiLayout compilé dans une Document Definition de FlexiCapture et l’utilisez comme FlexiLayout supplémentaire, le fichier XML est placé dans le dossier Templates. Vous pouvez l’y modifier. Lorsque le FlexiLayout est appliqué, le programme gère automatiquement l’accès à ce fichier.