Verwenden von Skripten in ABBYY FlexiCapture

In diesem Abschnitt wird beschrieben, wie Sie in ABBYY FlexiCapture Skripte für die benutzerdefinierte Anpassung der Verarbeitungsphasen und die Schnittstelle der Verarbeitungsstation verwenden.

Unterstützte Skriptsprachen

ABBYY FlexiCapture unterstützt die folgenden Skriptsprachen: C#.Net, VisualBasic.Net, JScript.Net, JScript®, JScript.Compact und VBScript.

Besonderheiten von in .Net-Sprachen geschriebenen Skripten

Besonderheiten bei der Verwendung

In VBScript muss bei der Weitergabe eines NULL-Wertes (die Alternative von "this" in JScript) das Schlüsselwort "Me" verwendet werden, während mit .Net-Sprachen der NULL-Wert als gewöhnlicher Parameter weitergegeben wird.

Für jedes Skript sind die Zugriffsberechtigungen für alle Parameter im Voraus bekannt. Die Zugriffsberechtigungen bestimmen die Teilmenge an Methoden, die über Skripte zur Verfügung stehen. Bei der Adressierung der Objektmethoden werden die Berechtigungen für zurückgegebene Objekte immer vom Quellobjekt vererbt (Ausnahmen dieser Regel werden in Kommentaren der entsprechenden Methoden beschrieben).

Hinweis. Skriptobjekte können aufgrund des unbestimmten Objektverhaltens nach Abschluss des Skripts nicht verwendet werden.

Hinweis. Für das Debugging von Skripten, die mit dem ABBYY FlexiCapture Skripteditor geschrieben wurden, kann die Methode MessageBox verwendet werden.

Benutzerdefinierte Funktionen

Mithilfe des Skripteditors können Benutzer eigene Funktionen und Prozeduren schreiben und diese dann aus den Codes des Skripts aufrufen.

Benutzerdefinierte Funktionen und Prozeduren sollten in das globale Modul geschrieben werden, auf das vom Skripteditor aus zugegriffen werden kann. Wählen Sie dafür aus der Dropdownliste des Skripteditors ein verfügbares globales Modul: Regel für globales Skriptmodul, Globales Skriptmodul exportieren, Events oder NonInteractiveProcessor.

Alle Funktionen innerhalb eines Moduls müssen in derselben Sprache geschrieben sein. Der Kerncode eines Skripts kann in einer anderen Sprache geschrieben sein als in derjenigen, die im entsprechenden globalen Modul verwendet wird.

In den Skriptsprachen JScript®, JScript.Compact und VBScript geschriebene globale Funktionen können von Skripten aufgerufen werden, die auch in einer diese Sprachen geschrieben wurden. Sie können zum Beispiel von dem Code einer Regel aus, die in VBScript geschrieben ist, eine im globalen Modul enthaltene Funktion aufrufen, die in JScript geschrieben ist.

Alle Funktionen aller globalen Module stehen in allen Skripten zur Verfügung, mit Ausnahme der Skripts, die in .Net-Sprachen geschrieben wurden (C#.Net, VisualBasic.Net oder JScript.Net).

Um eine Funktion von dessen globalem Modul aufzurufen, muss ein entsprechender Präfix verwendet werden (Rules, Export, Events oder NonInteractiveProcessor). Beispiel: Die Funktion DoSomething aus dem Modul Regel für globales Skriptmodul muss folgendermaßen aufgerufen werden: Rules.DoSomething ().

Hinweis. Für Skripte in .Net-Sprachen werden die Funktionen globaler Module mit ihrem Namen und ohne Präfixe aufgerufen.

Hinweis. Sie können keine RTL-Sprachen für Textkonstanten im Skript-Editor verwenden. Wenn Sie RTL-Text in Ihr Skript einfügen müssen, verwenden Sie eine der folgenden Lösungen:

  1. Platzieren Sie Ihren RTL-Text in einer Benutzerskript-Meldung oder in einer Umgebungsvariable.
  2. Verwenden Sie eine externe Assembly für Ihr Projekt oder die Dokumentdefinition (weitere Informationen finden Sie unter Externe Assemblies).

Zeitüberschreitung bei Skriptausführung

Der Standardwert für Zeitüberschreitungen beträgt 30 Sekunden für den Export und 10 Sekunden für andere Skripte.

Zum Ändern des Standardwerts für Zeitüberschreitungen passen Sie den Wert in der Registry an.

HKEY_CURRENT_USER\Software\ABBYY\FlexiCapture\12.0\Controller\ScriptSupport\DefaultScriptTimeout

Der Wert für Zeitüberschreitungen wird in der Registry in Millisekunden angegeben. Dauert die Ausführung eines Skripts länger als der angegebene Wert für die Zeitüberschreitung, wird das Skript beendet und eine Fehlermeldung "Zeitüberschreitung bei Skriptausführung" zurückgegeben. Handelt es sich bei dem Skript um den Teil eines Imports, einer Erkennung oder eines Exporttasks, wird eine ähnliche Fehlermeldung im Protokoll aufgezeichnet.

Wichtig! Zeitüberschreitung bei Skriptausführung gilt nur für in JScript und VBScript geschriebene Skripte.

Wichtig! Um die Standardwerte für Zeitüberschreitungen von Skripten zu ändern, die unter dem NetworkService ausgeführt werden, müssen Sie den Registryeintrag für das entsprechende Benutzerprofil bearbeiten.

Objektmodell

Das Objektmodell ist kompatibel zu Skripten, die mit älteren Versionen von ABBYY FlexiCapture erstellt wurden.

Weitere Informationen über das Objektmodell

12.04.2024 18:16:01

Please leave your feedback about this article

Usage of Cookies. In order to optimize the website functionality and improve your online experience ABBYY uses cookies. You agree to the usage of cookies when you continue using this site. Further details can be found in our Privacy Notice.