Utilisation de scripts sous ABBYY FlexiCapture
Cette section décrit comment utiliser les scripts permettant de personnaliser les étapes de traitement et les interfaces des postes d'ABBYY FlexiCapture.
Langages de scripts pris en charge
ABBYY FlexiCapture prend en charge les langages de script suivants : C#.Net, VisualBasic.Net, JScript.Net, JScript®, JScript.Compact and VBScript.
Règles spécifiques aux scripts écrits en langages .Net
Règles d'utilisation
En langage VBScript, il est obligatoire d'utiliser le mot clé « Me » lors de la transmission d'une valeur NULL (l'alternative de « this » du JScript), alors qu'en langages .Net, la valeur NULL est transmise sous la forme d'un paramètre ordinaire.
Tous ces paramètres sont connus à l'avance pour chaque autorisation d'accès au script. Les autorisations d'accès déterminent le sous-ensemble des méthodes disponibles à partir des scripts. Lorsque vous traitez des méthodes d'objets, les autorisations pour les objets retournés sont toujours héritées de l'objet source (les exceptions applicables à cette règle sont décrites dans les commentaires des méthodes correspondantes).
Remarque : Les objets de scripts ne peuvent pas être utilisés une fois le script terminé en raison du comportement indéterminé des objets.
Remarque : Pour déboguer les scripts écrits dans l'éditeur de scripts ABBYY FlexiCapture, la méthode MessageBox peut être utilisée.
Fonctions personnalisées
L'éditeur de scripts permet à l'utilisateur de créer ses propres fonctions et procédures et de les appeler par la suite à partir du code des scripts.
Vous devez écrire les procédures et les fonctions personnalisées dans le module global. Il est possible d'y accéder depuis l'Éditeur de script. Pour ce faire, dans la liste déroulante de la barre d'outils de l’éditeur de scripts, sélectionnez un module global disponible : Module de script global de règle, Module de script global d'exportation, Events ou NonInteractiveProcessor.
Toutes les fonctions contenues dans un module doivent être écrites dans le même langage. Vous pouvez écrire le code de base d’un script dans un autre langage que celui utilisé dans le module global correspondant.
Les fonctions globales écrites dans les langages de script JScript®, JScript.Compact et VBScript peuvent être appelées à partir de scripts également écrits dans l'un de ces langages. Vous pouvez par exemple appeler une fonction du module global écrite en JScript à partir du code d’une règle écrite en VBScript.
Les fonctions globales écrites dans les langages .Net peuvent être appelées à partir de scripts écrits dans l'un des langages .Net (C#.Net, VisualBasic.Net or JScript.Net).
Pour appeler une fonction à partir de son module global, un préfixe correspondant (Rules, Export, Events ou NonInteractiveProcessor) doit être utilisé. Par exemple, la fonction EffectuerUneOpération du module Module de script global de règle doit être appelée de la manière suivante : Rules.DoSomething ().
Remarque : Pour les scripts écrits en langages .Net, les fonctions des modules globaux sont appelées par leurs noms sans préfixes.
Remarque : Dans l'éditeur de script, vous ne pouvez pas utiliser les langues de droite à gauche (RTL) pour les constantes de texte. Si, dans votre script, vous devez ajouter du texte écrit de droite à gauche, contournez le problème de l'une des façons suivantes :
- Placez votre texte en RTL dans un message de script d'utilisateur ou une variable d'environnement.
- Utilisez un assemblage externe de votre projet ou de votre définition de document (pour plus d'informations, consultez Assemblages externes).
Délai d'exécution d'un script
Les délais d'exécution par défaut sont de 30 secondes pour l'exportation et de 10 secondes pour les autres scripts.
Pour changer ces valeurs par défaut, spécifiez la valeur suivante dans le registre :
HKEY_CURRENT_USER\Software\ABBYY\FlexiCapture\12.0\Controller\ScriptSupport\DefaultScriptTimeout
Dans le registre, ces valeurs sont exprimées en millisecondes. Si un script ne s'exécute pas au cours du délai d'exécution imparti spécifié, il sera arrêté et un message d'erreur sera retourné : « Délai d'exécution du script dépassé ». Si le script fait partie d'une tâche d'importation, de reconnaissance ou d'exportation, un message d'erreur similaire sera enregistré dans le journal.
Important !Le délai d'exécution du script ne s'applique qu'aux scripts écrits en langages JScript et VBScript.
Important !Pour changer ces délais d'exécution pour les scripts exécutés dans NetworkService, vous devez modifier la branche du registre pour le profil utilisateur correspondant.
Modèle d'objet
Le modèle d'objet est compatible avec les scripts créés dans les versions antérieures d'ABBYY FlexiCapture.
4/12/2024 6:16:03 PM