XTRACT Scripting Grundlagen

Allgemein

Alle Scripte werden im C4 definiert und gepflegt. Im Projekt wird jeweils nur auf die Scriptdefinition verwiesen. Dieses Vorgehen dient der Übersichtlichkeit und erhöht die mögliche Wiederverwendbarkeit von Scripten.

Der Funktionsumfang entspricht dem CLARC Standard-Scripting und den zusätzlichen XTRACT Script-Klassen. 

Dokumentbezogenes Scripting

Dokumentbezogene Scripte werden im Anschluss an die Erkennung aufgerufen und haben Zugriff auf das jeweils in der Bearbeitung befindliche Dokument. Die Konfiguration erfolgt auf der Formularebene. Es kann also je Formular ein entsprechendes Dokumentprozessor-Script hinterlegt werden.

Scripte dieser Art eignen sich am besten bei einer ganzheitlichen Betrachtung und Bearbeitung des Dokuments wie beispielsweise eine Header-Text Auswertung.

Function ccXtractDocumentProcessor : Variant;
Begin
  Result := true;
End; 

Bitte beachten Sie, dass es besonders wichtig ist bei der Verwendung einer entsprechenden XTRACT Subroutine - wie hier ccXtractDocumentProcessor - den Ergebnistyp immer zu setzen.

Trainingsbezogenes Scripting

Trainingsbezogene Scripte werden im Anschluss des Trainings aufgerufen und haben Zugriff auf die Daten und können die verändern sowie mergen. 

Function ccXtractPostTrainingProcessor : Boolean;
Begin
  If DebugModus Then CcXtractProject.Log( 'start Training Processor');
  Result := true;
End;


Feldbezogenes Scripting

Hinter jedem Feld kann ein entsprechendes XTRACT Script hinterlegt werden. Je nach Position des Scripts (Splitting, Identifier oder Extraction) unterscheidet sich der Return-Parameter-Typ der Scriptfunktion ccXtractResultHandler. Die Funktion selbst ist immer identisch.

Feldbezogene Scripte eignen sich beispielsweise für eine inhaltliche Prüfung oder Anpassung des jeweiligen Inhalts.

Alle Scripte für den Extraktionsbereich werden erst nach der Erkennung aufgerufen. So wird der Zugriff auf alle erkannten Inhalte gewährleistet, sofern es innerhalb des Scripts verweise auf andere Felder gibt.

Extraction

Function ccXtractResultHandler : Variant;
Begin
  // WideString Result als Feldinhalt
  Result := 'Field-Content'; 
End;

Hinweis

Im Bereich der Extraktions-Feldskripte gibt es die Möglichkeit den bisherigen Feldwert unverändert zu belassen. Dies kann erzielt werden, indem das Result mit dem Wert Null versehen wird.

Identifier

Function ccXtractResultHandler : Variant;
Begin
  // Integer Result als Confidence
  Result := 100; 
End;

Splitting

Function ccXtractResultHandler : Variant;
Begin
  // Integer Result als Confidence
  Result := 100; 
End;

Validierungs Scripting

Validierungsscripte werden eingesetzt, um das finale Ergebnis einer Erkennung zu bewerten und ggf. noch anzupassen. Validierungsscripte werden immer im Zusammenhang als ein Scriptschema verwendet.

Das Script entscheidet zudem, ob das erkannte Dokument manuell geprüft (validiert) werden muss. Dabei ist es ausreichend, dass ein Script innerhalb des Schemas als Ergebnis false zurückliefert.

Function ccXtractValidationProcessor : Variant;
Begin
  // Boolean Result als Entscheidung (False ~ Fehler)
  Result := True; 
End;

Siehe auch XTRACT Projektkonfiguration > Validation.

Ein Beispiel zum Thema Validierungsscripte finden Sie hier unter XTRACT Scripting Beispiele.