-
À propos d'ABBYY FlexiCapture
- Nouveautés d'ABBYY FlexiCapture 12
- Types de documents traités à l'aide d'ABBYY FlexiCapture
- Brève description du traitement de document à l'aide d'ABBYY FlexiCapture
- Installation et exécution du programme
- Architecture d'ABBYY FlexiCapture
-
Configuration du programme
- Configuration d'ABBYY FlexiCapture
- Multi-tenant
-
Création d'un projet
- Propriétés de projets
- Variables d'environnement
- Importation d'image
- Types de lots
- Configuration des workflows
- Outils
- Priorité du lot par défaut
- Paramètres du SLA
- Rôles personnalisés de l'opérateur
- Paramètres d'enregistrement
- Téléchargement d'un projet vers le serveur d'application
- Tester un projet
- Paramètres des skins
- Qualité des images affichées
-
Définitions de document
- Création de définitions de document fixes
- Création d'une définition de document pour traiter des documents flexibles et non structurés
- Création d'une définition de document pour les documents ne nécessitant pas une extraction de données automatique
- Ensembles de documents
-
Les champs de définitions de documents
- Champ de saisie de texte
- Coches
- Groupes de coches
- Code barre
- Images
- Tableaux
- Groupe de champs
- Champ de service
- Champs d'index
- Lien vers un champ existant
- Champs sans région
- Création d'un champ comportant une région non rectangulaire
- Champs avec plusieurs instances
- Champ contenant plusieurs régions
- Modification du nom d'un champ
- Copie, déplacement et suppression de champs
- Exclusion d'une région de la reconnaissance
- Assistant de définition de document
- Modification et publication d'une Définition de Document
- Assemblage de documents multipages
- Propriétés de définitions de documents
- Propriétés d'une section de définition de document
- Validation par règle
- Configuration de l’exportation
- Configuration de la présentation des données dans la fenêtre de document
- Test de définitions de documents
- Localiser une Définition de document
-
Classification
- Scénarios de classification
- Profils de classification
- Équilibre précision/rappel
-
Création d'un classificateur
- Configuration du classificateur
- Configuration de votre classificateur et chargement des images
- Apprentissage des classificateurs
- Analyse des résultats de classification
- Improving your classifier
- Classification à partir de la base de données des entreprises
- Exportation et importation de classificateurs
- Mappage des catégories vers les sections de la définition de document
- Apprentissage d'extraction de champs
- Utilisation d'un projet configuré
-
ABBYY FlexiCapture pour factures
- Fonctionnalités de la reconnaissance et de l'extraction de données d'ABBYY FlexiCapture for Invoices
- Comment capturer des factures
-
Comment configurer un projet de capture de factures
- Paramètres de pays et de langues
- Connexion des bases de données d'entités commerciales et de fournisseurs
- Paramètres d'exportation de données
- Statut des documents des projets de ABBYY FlexiCapture for Invoices
- Formation d'ABBYY FlexiCapture for Invoices
- Règles
- Capturer des champs de facture supplémentaires
- Analogie des bons de commande
- Activer des fonctionnalités de programme supplémentaires pour les opérateurs
- Utiliser plusieurs Définitions de document
- Modifier les paramètres de facture des fichiers XML
- Mise à jour de la Définition de document pour les factures
- Systèmes fiscaux
- Caractéristiques techniques
- Capturing receipts
- Capturing purchase orders
- Using NLP to process unstructured documents
- Interface d'ABBYY FlexiCapture
-
Annexe
-
Utilisation de scripts sous ABBYY FlexiCapture
- Règles spécifiques aux scripts écrits en langages .Net
- Assemblages externes
- Modèle d'objet
-
Scripts permettant de personnaliser les étapes de traitement
-
Types de scripts
- Règle de script
- Script d'autocorrection
- Script d'exportation
- Script utilisateur (action personnalisée)
- Script d'assemblage de document
- Script de reconnaissance personnalisée
- Règle d'étape
- Scripts de traitement
- Script de mise à jour de jeu de données
- Script de validation de jeu de données
- Script de classification de documents
-
Gestionnaires d'événements
- Lot créé
- Lot supprimé
- Modification des paramètres du lot
- Modification de la structure d'un lot (page ajoutée/page supprimée/document ajouté/document supprimé)
- Pages déplacées
- Lot ouvert/fermé
- Vérification de l’intégrité du lot
- Modification de paramètres du document
- Modification de l'état du document
- Exportation terminée
- Scripté exécuté après la vérification des règles
- Avant l'association
- Requête de vérification de champs
-
Objets
- IActionResult
- IAssemblingError
- IAssemblingErrors
- IBatch
- IBatchCheckResults
- IBatchItem
- IBatchItems
- IBatchTypeClassifier
- IBatchTypeClassifierResult
- IBinarizationParams
- IBoxedBoolean
- ICharacterParams
- ICharactersParams
- ICheckmarkGroupValue
- ICheckmarkValue
- IDataSet
- IDataSetQuery
- IDataSetRecord
- IDocument
- IDocuments
- IDocumentExportResults
- IDocumentsExportResults
- IDocumentDefinitionInfo
- IDocumentDefinitionInfoArray
- IEditablePictureObject
- IExportFieldsToRedact
- IExportImageSavingOptions
- IField
- IFieldRegion
- IFieldRegions
- IFields
- IFlexiCaptureTools
- ILocalContrastParams
- IMatchedSectionInfo
- IMatchingInfo
- IPage
- IPageClassificationResult
- IPages
- IPictureObject
- IPictureObjectsInfo
- IPrincipal
- IPrincipals
- IProcessingCallback
- IProject
- IProperties
- IProperty
- IPropertyModificationInfo
- IRecordCheckResult
- IRecordset
- IRect
- IRects
- IRoutingRuleResult
- IRuleContext
- IRuleError
- IRuleErrors
- IRuleTag
- IRuleTags
- IScriptBinaryAttributes
- IScriptDefinitionContext
- ISectionDefinitionInfo
- ISectionDefinitionInfoArray
- IShadowsHighlightsParams
- IStageInfo
- IUserAttachment
- IUserAttachments
- IUserSessionInfo
- IValue
- IVARIANTArray
- TAssemlingErrorType
- TBatchItemType
- TColorToFilter
- TExportFieldType
- TExportType
- TImageCompressionType
- TPageClassificationType
- TPdfAVersion
- TPdfDocumentInfoType
- TPdfTextSearchAreaType
- TPrincipalType
- TProcessingPriority
- TPropertyType
- TRuleErrorType
- TStateType
- Exemples de scripts
- Noms internes des langues de reconnaissance
-
Types de scripts
-
Scripts de traitement des évènements de l'interface
-
Gestionnaires d'événements
- À la fermeture du document
- À la fermeture du projet
- À l'activation du document
- À l'activation du contrôle de champ
- Au retour de la tâche
- En cas de commande utilisateur
- À la désactivation du contrôle de champ
- À la fermeture du document
- À la fermeture de la tâche
- À la fermeture du projet
- À la modification de région
- À la modification du mode de la fenêtre Tâche
- À l'ouverture du document
- À la création de la fenêtre Tâche
- Au rejet de la tâche
- À la conception du contrôle de région
- À l'étape Envoyer vers
- À la validation du champ de texte
-
Objets
- IBoolean
- IBoxedFieldControl
- IDocumentEditor
- IDocumentItem
- IDocumentItems
- IDocumentsCollection
- IDocumentsWindow
- IDrawContext
- IErrorControl
- IErrorControls
- IErrorsWindow
- IFieldControl
- IFieldRegionControl
- IFieldRegionControls
- IFormWindow
- IImageWindow
- IMainMenu
- IMainWindow
- IMenu
- IMenuItem
- IPageControl
- IPageItem
- IPageItems
- IPagesCollection
- IPoint
- ISelection
- IShellRational
- IShellRect
- IShellRects
- ITaskWindow
- ITextEditor
- IToolbar
- IToolbarButton
- IToolbars
- TCommandBarType
- TCommandID
- TDockingType
- TDocumentState
- TErrorType
- TSelectionType
- TTaskWindowMode
- TTextSize
- TUserRole
- TWorkWindowType
-
Gestionnaires d'événements
- Script utilisateur pour le poste de vérification Web
-
Création d'un formulaire lisible par machine
- Formulaires lisibles par machine
- Éléments de formulaires lisibles par machine
- Méthodes de remplissage de formulaire
- Types de formulaires lisibles par machine
- Choix du type de formulaire adéquat
- Exigences générales pour les formulaires lisibles par machine
- Couleurs recommandées pour les formulaires simili détourés
-
Raccourcis clavier
- Raccourcis clavier de la station de configuration de projets
- Raccourcis clavier de la station de vérification
- Raccourcis clavier de la station de vérification des données
- Raccourcis clavier de l'éditeur de définition de document
- Raccourcis clavier de la fenêtre de vérification groupée
- Raccourcis clavier dans la fenêtre de vérification de champ
- Raccourcis
- Autres options
- Description des commandes du serveur de traitement
- Exemples de projets ABBYY FlexiCapture
- Langues de reconnaissance prises en charge
- Supported classifier languages
- Polices requises pour un rendu correct des caractères
- Types de textes pris en charge
- Types de codes barres pris en charge
- Formats d'entrée pris en charge
- Traiter des fichiers PDF
- Formats de fichiers d'exportation
- Formats de la date
- Caractères alphabétiques utilisés dans les expressions régulières
- Brevets
- Technologies tierces
- Glossaire
- Support technique
- Comment acheter ABBYY FlexiCapture
- Contrat de licence utilisateur final (CLUF)
-
Utilisation de scripts sous ABBYY FlexiCapture
Exemples de script d'assemblage
Script d'assemblage en présence de documents tributaires de la valeur d'un champ
Le script de cet exemple permet d'assembler des documents en ensembles de documents définis par une définition d'ensemble de documents. La définition d'ensemble de documents contient une section intitulée Formulaire de l'emprunteur et des références aux définitions de document suivantes :
- Passeport
- Documents du garant
- Documents du co-emprunteur
- Référence de l'employeur
La section Formulaire de l'emprunteur inclut les champs suivants :
- Nom du co-emprunteur
- Montant du prêt
Les documents à inclure dans l'ensemble de documents dépendent de la valeur du champ Montant du prêt. Le script contient deux valeurs seuil qui déterminent quels documents sont inclus dans l'ensemble :
- Si le montant du prêt est inférieur à la première valeur seuil, l'ensemble de documents doit uniquement contenir un passeport.
- Si le montant du prêt est supérieur à la première valeur seuil, mais inférieur à la seconde valeur seuil, l'ensemble de documents doit contenir un passeport et une référence de l'employeur.
- Si le montant du prêt est supérieur à la seconde valeur seuil, l'ensemble de documents doit contenir un passeport, une référence de l'employeur et les documents du garant.
En plus de ceci, si le champ Nom du co-emprunteur contient une valeur, l'ensemble de documents doit contenir les documents du co-emprunteur.
Le script ci-dessous a recours à cette logique pour assembler les ensembles de documents.
à l'aide deSystem.Collections.Generic; intcreditSum=0; boolcreditSumFound=false; stringcocreditor=""; intformCount=0; stringformName=« Formulaire de l'emprunteur »; // Définitions de document utilisées dans l'ensemble de documents intreferenceFromWorkCount=0; stringreferenceFromWorkName=« Référence de l'employeur »; intguaranteeDocsCount=0; stringguaranteeDocsName=« Documents du garant »; intcocreditorDocsCount=0; stringcocreditorDocsName=« Documents du co-emprunteur »; intpassportCount=0; stringpassportName=« Passeport »; foreach(IBatchItemiteminBatchItems){ // Trouver le formulaire et déterminer le montant du prêt if(item.Type==TBatchItemType.BIT_Page) { if(item.AsPage.SectionName!=formName) AssemblingErrors.AddCustomError(« Ne peut pas contenir les sections suivantes : « +item.AsPage.SectionName,1); else { cocreditor=item.AsPage.Document.IndexedItemValue("Nom de l'emprunteur").ToString(); stringcreditSumText=item.AsPage.Document.IndexedItemValue(« Montant du prêt »).ToString(); if(!int.TryParse(creditSumText,outcreditSum)) AssemblingErrors.AddCustomError(« Le montant du prêt n'a pas été reconnu : « +creditSumText,1); else creditSumFound=true; formCount++; } } // Compter les documents dans l'ensemble elseif(item.Type==TBatchItemType.BIT_Document){ if(item.AsDocument.TemplateName==referenceFromWorkName) referenceFromWorkCount++; elseif(item.AsDocument.TemplateName==guaranteeDocsName) guaranteeDocsCount++; elseif(item.AsDocument.TemplateName==passportName) passportCount++; elseif(item.AsDocument.TemplateName==cocreditorDocsName) cocreditorDocsCount++; else AssemblingErrors.AddCustomError(« L'ensemble de documents ne peut pas contenir le document »+item.AsDocument.TemplateName,1); } } // Vérifier le nombre de sections et de documents dans l'ensemble if(formCount>1) AssemblingErrors.AddCustomError(« Il y a trop de documents du type : « +formName,formCount); elseif(formCount<1) AssemblingErrors.AddCustomError(« Les documents suivants manquent : « +formName,1); if(passportCount>1) AssemblingErrors.AddCustomError(« Il y a trop de documents du type : « +passportName,passportCount); elseif(passportCount<1) AssemblingErrors.AddCustomError(« Les documents suivants manquent : « +passportName,1); // Vérifier que l'ensemble de documents contient un co-emprunteur si un nom de co-emprunteur est présent dans le formulaire if(cocreditor!=""&&cocreditorDocsCount<1) AssemblingErrors.AddCustomError(« Les documents suivants manquent : « +cocreditorDocsName,1); elseif(cocreditor!=""&&cocreditorDocsCount>1) AssemblingErrors.AddCustomError(« Il y a trop de documents du type : « +cocreditorDocsName,cocreditorDocsCount); elseif(cocreditor==""&&cocreditorDocsCount>0) AssemblingErrors.AddCustomError(« Il y a trop de documents du type : « +cocreditorDocsName,cocreditorDocsCount); // Vérifier que l'ensemble de documents contient tous les documents requis, car le montant du prêt dépasse l'un des seuils if(creditSumFound) { if(creditSum>50000)// nécessite une référence de l'employeur { if(referenceFromWorkCount>1) AssemblingErrors.AddCustomError(« Il y a trop de documents du type : « +referenceFromWorkName,referenceFromWorkCount); elseif(referenceFromWorkCount<1) AssemblingErrors.AddCustomError(« Les documents suivants manquent : « +referenceFromWorkName,1); } if(creditSum>500000)// nécessite les documents du garant { if(guaranteeDocsCount>1) AssemblingErrors.AddCustomError(« Il y a trop de documents du type : « +guaranteeDocsName,guaranteeDocsCount); elseif(guaranteeDocsCount<1) AssemblingErrors.AddCustomError(« Les documents suivants manquent : « +guaranteeDocsName,1); } }
Script d'assemblage qui vérifie si des documents sont manquants
Dans cet exemple, le script fonctionne avec la définition de l'ensemble de documents intitulé Documents d'identification. La définition de l'ensemble de documents contient des références aux définitions de document suivantes :
- Passeport
- Permis de conduire
Les ensembles de documents produits par le script peuvent inclure un seul document de chacun de ces types mais au moins un document de ces types.
Le script ci-dessous a recours à cette logique pour assembler des ensembles de documents.
à l'aide de System.Collections.Generic; à l'aide de System; string docSetName = « Documents d'identification »; intpagesCnt = 0; // Liste des types de documents pouvant être inclus dans l'ensemble Liste<chaîne> autorisé =nouvelleListe<chaîne>{« Passeport », « Permis de conduire »}; // Limite du nombre de documents de chaque type dans l'ensemble Liste<int> allowedCount =nouvelleListe<int>{1,1}; // Le nombre de documents détectés dans l'ensemble Liste<int>foundCount = nouvelleListe<int>{0,0}; // Le nombre de documents et de pages dans l'ensemble foreach(IBatchItem itemin BatchItems) { if(item.Type == TBatchItemType.BIT_Document) { if(item.AsDocument.TemplateName == docSetName) AssemblingErrors.AddCustomError(« Ne peut pas contenir un ensemble imbriqué », 1); else if(allowed.Contains(item.AsDocument.TemplateName)) { int i = allowed.IndexOf(item.AsDocument.TemplateName); foundCount[i]++; } } else if(item.Type == TBatchItemType.BIT_Page) pagesCnt++; } // Vérifier le nombre de documents et de pages if(foundCount[0] + foundCount[1] == 0) AssemblingErrors.AddCustomError(« Au moins un document d'identification est requis », 1); for(int i = 0; i < allowed.Count; i++) { if(foundCount[i] > allowedCount[i]) AssemblingErrors.AddCustomError(« Nombre maximal de documents : « + allowed[i] + » : « + allowedCount[i]); } if (pagesCnt > 0) AssemblingErrors.AddCustomError(« L'ensemble de documents ne peut pas contenir de pages n'appartenant pas à un document », pagesCnt);
15.03.2021 9:22:26