Mit der Version 1.10.9 unterstützt AutoOCR jetzt Scripting. Wird das AutoOCR Userinterface mit der Commandline Option /ShowAction gestartet so kann für jeden konfigurierten Ordner über den Tab „Aktion“ ein Script angelegt und aktiviert werden. Als Programmiersprachen werden C# bzw. VB.NET unterstützt. Die Skript Verarbeitung muss über eine Checkbox Option „Aktiv“ gesetzt werden sonst wird das „Custom Interface“ nicht erzeugt und der Code wird nicht ausgeführt.
Standard Script Code:
AutoOCR Script Funktionen:
Bei der Implementierung einer Aktion muss das OCR.IAction Interface verwendet werden. Dieses Interface stellt über IDisposable aus auch das Standard .NET Interface zur Verfügung.
1.) PreAction(string inputFile, string outputFile)
Diese Funktion wird aufgerufen bevor die OCR Verarbeitung/Konvertierung startet. Der inputFile Parameter ist der voll qualifizierte Pfad des Ursprungsdokuments das verarbeitet werden soll. Der outputFile Parameter ist der voll qualifizierte Pfad des Zieldokuments. Zu beachten ist dass beim Aufruf der Funktion das Zieldokument noch nicht existiert. Mit dieser Funktion können beliebige andere Komponenten initialisiert werden die im Skript Code verwendet werden sollen. Es ist empfohlen die inputFile und outputFile Parameter in „member variablen“ abzuspeichern um zu einem späteren Zeitpunkt z.b. für die „PostAction“ wieder Zugriff darauf zu haben.
2.) PostAction(string error)
Diese Funktion wird aufgerufen nachdem die OCR Verarbeitung abgeschlossen ist und bevor die konfigurierten Aktionen ausgeführt werden. War die Verarbeitung erfolgreich so ist der Error Parameter entweder „null“ oder „leer“ – in dem Fall ist auch bereits die Ausgabedatei (outputFile) vorhanden.
3.) Dispose()
Diese Funktion wird direkt nach der PostAction Funktion aufgerufen. Alle Funktionen zur Bereinigung (cleanup) sollten hier aufgerufen werden.
Die Verarbeitung in AutoOCR erfolgt über folgende Schritte:
- „Custom interface“ wird angelegt
- „PreAction“ wird aufgerufen
- Datei wird verarbeitet
- „PostAction“ wird aufgerufen
- „Dispose“ Aktion wird aufgerufen
Zu beachten ist:
- Der Code muss das OCR.IAction Interface verwenden
- Der Class Name muss Action sein
Bei der Aktivierung der Scripting Funktion wird automatisch ein Standard C# Script Code eingefügt der jedoch nichts ausführt und bewirkt. Werden zusätzlichen als die standardmäßig vorhandenen Referenzen benötigt so sind diese in der Modul / DLL Referenzliste hinzuzufügen.
Folgende Modul / DLL Referenzen sind standardmäßig vorhanden:
- System.dll
- System.Data.dll
- System.Windows.Forms.dll
- NETCommon.dll
- OCR.dll
Eigene Funktionen können dem Script hinzugefügt und in den PreAction, PostAction und Dispose Methoden aufgerufen werden.
Folgendes Beispiel Script sendet nach der OCR Verarbeitung ein E-Mail mit dem Ergebnis Dokument als Anhang an eine konfigurierte E-Mail Adresse.
Fehlersuche / Test:
Um den Script Code zu debuggen muss die AutoOCR User Interface Anwendung mit dem Commandline Parameter /ShowScriptErrors aufgerufen werden. Während der Entwicklung und Test der Skripts sollte die Anwendung mit folgenden Parametern aufgerufen werden: AutoOCR.exe /ShowAction /ShowScriptErrors
Hinweise / Restriktionen:
Die Implementierung erzeugt und führt die Script Funktionen im gleichen Thread aus wie die OCR Verarbeitung. Aus diesem Grund sollte man keine längeren, zeitintensiven Script-Funktionen verwenden, da solche Verarbeitungen damit die AutoOCR Gesamtperformance beeinflussen und verlangsamen. Der Aufruf erfolgt synchron, darum sollte man Scripts keine Masken anzeigen oder modale Funktionen verwenden.
Zu beachten ist dass üblicherweise AutoOCR als Windows-Service installiert wird. Ein Service läuft unter einem bestimmten Account (Standardmäßig unter dem lokalen System Account) und dieser hat andere Rechte als z.b. der aktuell angemeldete Benutzer. Läuft z.b. der AutoOCR Service unter dem lokalen System Account so wird auch der konfigurierte Script unter diesem Account ausgeführt und unterliegt damit den gleichen Restriktionen. Soll z.b. über den Script auf eine Netzwerk Ressource (Share) zugegriffen werden so muss AutoOCR unter einem User Account laufen der über die entsprechenden Rechte verfügt. Siehe Windows Dienst – Zugriff auf Netzwerkressourcen – was ist zu beachten ?
Der Commandline Paramter /ShowScriptErrors sollte nur verwendet werden um die Scripts zu testen und zu debuggen – nicht jedoch im Echtbetrieb. Weiters sollte AutoOCR für den Test als normale Anwendung und nicht als Service installiert werden, ansonsten kann die Verarbeitung blockiert werden. Im Fehlerfall wird eine Message Box angezeigt, läuft die Anwendung als Service so wird diese nicht am Userinterface des angemeldeten Benutzers sondern am Desktop des Accounts unter dem der Service läuft angezeigt.
Anwendungsbereiche:
- Nachgelagerte Verarbeitungsschritte automatisch anstoßen – z.b.: Versand per E-Mail
- Barcode Erkennung
Mit der Version 1.10.9 steht C#/VB.NET Scripting mit der Folder Verarbeitung und mit der nächsten AutoOCR Version wird Scripting auch über die OCR-Profile der Web-Service Schnittstelle zur Verfügung stehen.
Download – AutoOCR – OCR Server inkl. iOCR Engine (ca. 150MB) >>>
Für die Abbyy OCR Engine Version 10 stehen Demolizenzen für 30 Tage bzw. 500 Seiten zur Verfügung – diese können Sie gerne bei uns anfordern
Download- Abbyy FineReader 10.x Rel 4 OCR Engine Setup (ca. 460MB) >>>
Demolizenzkey für FineReader OCR Engine anfordern