Erstellen eines Skripts zur Identifizierung und Indexierung von Dokumenten
ABBYY FineReader Server 14 ermöglicht Ihnen, die Identifizierung und Indexierung von Dokumenten mithilfe eines Skripts zu konfigurieren. Dieses Skript kann verwendet werden, um den Dokumententyp zu bestimmen und die Dokumentattribute auf der Grundlage des erkannten Textes, der Strichcodes etc. einzutragen. Das Skript wird für jedes Dokument einzeln ausgeführt, nachdem dieses zusammengesetzt wurde.
Wichtig! Das Skript zur Identifizierung und Indexierung von Dokumenten wird in der Verarbeitungsstation ausgelöst. Damit das Skript mit den freigegebenen Ressourcen richtig funktioniert, müssen Sie die Verarbeitungsstationen daher unter einem Benutzerkonto ausführen, das die erforderlichen Berechtigungen für den Zugriff auf diese Ressourcen hat.
Führen Sie folgende Schritte aus, um das Skript zu erstellen und einzusetzen:
- Legen Sie in der Registerkarte Indexierung des Dialogfeldes Workflow-Eigenschaften die Dokumententypen fest. Die Indexierung von Dokumenten ist nur dann verfügbar, wenn wenigstens ein Dokumententyp festgelegt ist.
- Um einen neuen Dokumententyp hinzuzufügen, klicken Sie auf Neu.... Legen Sie im sich daraufhin öffnenden Dialogfeld Dokumententyp den Namen des Dokumententyps und dessen Attribute fest. Klicken Sie auf OK.
- Klicken Sie auf die Schaltfläche Skript.... Wählen Sie im daraufhin angezeigten Dialogfeld Skripteditor
die Skriptsprache aus und geben Sie den Skripttext ein. Die Referenz "this" oder "Me" bezieht sich auf das Objekt DocumentToIndex.
Hinweis. Um das Dokument nach der Abarbeitung des Indexierungsskripts zur Verarbeitung in der Indexierungsstation in die Warteschlange zu stellen, setzen Sie den Wert SkipManualIndexing des Objekts DocumentToIndex auf FALSE. - Um das Skript zu überprüfen, klicken Sie auf die Schaltfläche Überprüfen. Um das Skript zu speichern, klicken Sie auf OK.
Informationen zur Verwendung von Skripten finden Sie unter Verwenden von Skripten in ABBYY FineReader Server.
Beispiel
Das unten dargestellte Beispielskript ist in JScript geschrieben und dient der Indexierung von Dokumenten auf der Grundlage eines erkannten Textes. Als Dokumenttyp verwendet das Programm einen benutzerdefinierten Text (die Eigenschaft CustomText des Objekts DocumentToIndex), der einem Dokument bei der Ausführung eines Skripts zur Dokumententrennung zugeordnet ist. Das Programm sucht je nach Dokumenttyp auf der ersten Seite nach Schlüsselwörtern. Werden Schlüsselwörter gefunden, legt das Programm den Wert eines Dokumentattributs fest und überspringt die manuelle Indexierung (die Eigenschaft SkipManualIndexing).
Hinweis. Dieses Skript wird bei einem Scripting Demo-Szenario zur Demoverarbeitung verwendet, dessen Einstellungen in ScriptingDemoWorkflow.xml im folgenden Ordner enthalten ist: Beispiele (Start > Programme> ABBYY FineReader Server 14 > Beispiele).
if( CustomText == "" ) {
return;
}
DocumentType = CustomText;
if( DocumentType == "Brochure" ) {
var firstPageText = Pages.Item( 0 ).Text;
if( firstPageText.search( "FineReader Server" ) != -1 ) {
setAttribute( "ABBYY FineReader Server" );
SkipManualIndexing = true;
} else if( firstPageText.search( "FlexiCapture" ) != - 1 ) {
setAttribute( "ABBYY FlexiCapture" );
SkipManualIndexing = true;
}
}
function setAttribute( newValue )
{
for( i = 0; i < Attributes.Count; i++ ) {
var attribute = Attributes.Item( i );
if( attribute.Name == "Product Name" ) {
attribute.Value = newValue;
break;
}
}
}
Event-Handler
Event-Handler können für jeden Dokumententyp eingerichtet werden. Um einen Event-Handler zu erstellen oder zu aktivieren, klicken Sie auf die Schaltfläche Skripte... im Dialogfeld Dokumententyp, wählen ein Ereignis und klicken auf die Schaltfläche Skript bearbeiten.... Die folgenden Ereignise sind verfügbar:
- Wenn der Dokumententyp geändert wird
Handler für dieses Ereignis werden ausgeführt, sobald der Typ eines Dokuments geändert wird. Das kann passieren, wenn ein Standarddokumententyp in den Workflow-Einstellungen angegeben wurde, ein anderes Skript den Typ eines Dokuments ändert oder wenn der Typ eines Dokuments auf der Indexierungsstation geändert wird. Event-Handler für das Ereignis Bei Änderung des Dokumententyps kann für die Zuweisung vorbestimmter Werte für Dokumentenfelder verwendet werden, die das Objekt IDocumentAttributes verwenden. Hinweis. Event-Handler für das Ereignis Bei Änderung des Dokumententyps werden auf der Station ausgeführt, auf der der Typ des Dokuments geändert wurde. Ein Beispiel für ein Event-Handler-Skript, das einen vorbestimmten Wert einem einzeiligen Attribut zuordnet, finden Sie unten. for( i = 0; i < Attributes.Count; i++ ) { |
- Wenn der Wert eines Dokumentattributs geändert wird
Handler für dieses Ereignis werden auf einer Indexierungsstation ausgeführt, sobald ein Operator den Wert eines Feldes ändert und die Änderung abschließt, indem der Mauszeiger in ein anderes Feld bewegt wird. Sie erlauben die Änderung der Werte von Feldern auf der Basis der Werte anderer Felder, die das Objekt IDocumentAttributesChanged verwenden. Handler für das Ereignis Bei Änderung des Attributwertes des Dokuments kann außerdem für die Änderung möglicher Werte der Felder Liste anhand der Eigenschaft PossibleValues des Attributobjekts geändert werden. Diese Eigenschaft besteht aus einer bearbeitbaren Reihe von Zeichenfolgen. Ein Beispiel eines Skripts, das einen Wert einem Listenattribut auf der Basis des Werts des anderen Attributs hinzufügt, finden Sie unten.
if( ChangedAttributeName == "First name" || ChangedAttributeName == "Last name" ) { |
- Nach Abschluss der Dokumentindizierung
Handler für diesen Ereignistyp, die auf einer Indexierungsstation ausgeführt werden, wenn die Indexierung aus einem der folgenden Gründe angehalten wurde:
Handler für das Ereignis When Document Indexing Is Finished verwenden das Objekt IDocumentAttributesIndexingFinished. Ein Beispiel eines Skripts, das den Namen eines Operators zurückgibt, der ein Dokument abgelehnt hat, finden Sie unten. if (IndexingResult == 1){ |
Weitere Informationen
26.03.2024 13:49:48