AutoOCR 1.10.10 – Scripting jetzt auch für die REST / SOAP Verarbeitung

Mit der Version 1.10.10 steht die Scriptingmöglichkeit jetzt auch über die OCR-Profile für die Web-Service Schnittstelle (REST / SOAP) zur Verfügung. Siehe auch C# / VB.NET Scripting .

Web-Service OCR-Profile - Scripting - Action Web-Service OCR-Profile - Scripting - Action Einstellungen Web-Service OCR-Profile - Scripting - Action Code

Um die Script Aktion zu konfiguriern und um den zusätzlichen “Aktion” Tab anzuzeigen muss das AutoOCR Userinterface mit der Commandline Option /ShowAction gestartet werden:

  • “C:\Program Files\AutoOCR\AutoOCR.exe” /ShowAction – für 32bit
  • “C:\Program Files (x86)\AutoOCR\AutoOCR.exe” /ShowAction – für 64bit

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

AutoOCR 1.10.9 – Neue Funktion – Bild einlesen – Auflösung setzen / ersetzen

Um ein für die OCR Erkennung optimales Ergebnis zu erhalten sollte die Scan Auflösung möglichst 300dpi betragen. Die Scan Anwendung sollte dabei die verwendete Auflösung in die Imagedatei eintragen. Erst über die Anzahl der Pixel und die Angabe der dpi kann die richtige Größe des gescannten Dokuments abgebildet und ermittelt werden. Diese Infos sind wiederum wichtig um ein PDF zu erzeugen das der Dimension des Ausgangsdokuments entspricht. Fehlt die dpi Angabe im Dokument so kann die Dimension für die PDF-Ausgabedatei nicht ermittelt und festgelegt werden. Nicht jede Scan-Anwendung und Verarbeitung trägt die dpi Zahl in das Image Dokument ein. Aus diesem Grund gibt es im AutoOCR jetzt eine Funktion um feststellen zu können ob die dpi Angabe fehlt um diese zu setzen bzw. falls gewünscht auch überschreiben zu können.

Abbyy OCR – Funktion – Vorverarbeiten / Einlesen:

  • Auflösung automatisch ersetzen – überschreibt die Auflösung mit dem eingestellten dpi Wert falls der Wert in der Datei nicht zwischen 50 und 3200dpi liegt.
  • Auflösung nicht ersetzen – es erfolgt keine Modifikation egal welcher Wert vorhanden ist.
  • Auflösung ersetzen – Verwendet den konfigurierten dpi Wert.

Bild_Vorverarbeitung_Einlesen_Settings_#1  Bild_Vorverarbeitung_Einlesen_Settings_#2

AutoOCR – Barcode Erkennung über Scripting

Über die Scripting Funktion von AutoOCR ist es jetzt auch möglich zusätzlich zur OCR Verarbeitung auch eine Barcode Erkennung der verarbeiteten Dokumente durchzuführen. Die erkannten Barcodes können auch in die Felder der PDF Dokumenteninformation geschrieben werden um die Daten direkt weiterzugeben und später wieder auszulesen.

Funktionen AutoOCR Barcode Scripting Add-On:

  • 1D – Barcoderkennung folgender Typen: INDUSTRIAL2OF5, INVERTED2OF5, INTERLEAVED2OF5, IATA2OF5,  MATRIX2OF5, CODE39, CODABAR, BDCMATRIX, DATALOGIC2OF5, CODE128, EAN128, CODE93, EAN13, UPCA, EAN8, UPCE, ADD5, ADD2
  • Barcode Erkennung unabhängig von der Orientierung auf der Seite
  • Festlegung auf welchen Seiten die Erkennung erfolgen soll – Einzelseite, Von-bis, Liste, sowie Kombination dieser Angaben.
  • Schreiben z.b. von Barcode Type, Barcode Wert, Seitenummer in die PDF Dokumenteninfo Felder  – Title , Subject, Author, Keywords
  • Weitere verfügbare Barcode Informationen: Koordinaten – Links/Oben, Breite, Höhe
  • Verfügbar als AutoOCR Scripting Funktion inkl C# Beispielscript

AutoOCR_Barcode_Erkennung

AutoOCR – REST Schnittstelle – Jobs abfragen & löschen erweitert

Die REST Schnittstelle zur Job Abfrage wurde um 3 Felder mit dem ISO Datumsformat erweitert.

EnumJobs Parameters:

the url template would be:
/EnumJobs?pageSize={pageSize}&label={label}&userName={userName}&status={status}&createdFromTo={createdFromTo}&convertedFromTo={convertedFromTo}&sortColumns={sortColumns}

  • pageSize=the size of the page(because of paging)
  • label=the label filter, can contain wildcards *
  • userName=the username filter, can contain wildcards
  • status=the status of the jobs which should be returned, or 100 for all status
  • createdFromTo=”yyyy/MM/dd HH:mm:ss-yyyy/MM/dd HH:mm:ss”
  • convertedFromTo=”yyyy/MM/dd HH:mm:ss-yyyy/MM/dd HH:mm:ss”
  • sortColumns=”ColumName1 ASC,ColumnName DESC,…”

The createdFromTo, convertedFromTo and sortColumns can be empty strings. The available sort columns are the following:

  • DateCreated
  • DateConverted
  • StatusCode
  • UserName
  • JobLabel

Now there are some new fields in the JSON JobResult structure:

  • CreationDateISO
  • FinishedDateISO
  • ConversionStartedDateISO

REST Funktion – Jobs löschen

Es gibt eine Funktion um alle Web-Service Jobs aus der Datenbank zu löschen /DeleteAllJobs. Damit werden alle Datenbank Einträger und auch alle am AutoOCR Server hinterlegten Ergebnisdateien auf einmal gelöscht. Neu hinzugekommen ist jetzt auch die Funktion um Jobs älter als X Tage zu löschen /DeleteJobs(int days)

  • https://autoocr.may.co.at:8001/AutoOCRService/DeleteAllJobs
  • https://autoocr.may.co.at:8001/AutoOCRService/DeleteJobs?days=1

AutoOCR Version 1.10.9 – C# / VB.NET Scripting

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.

Script_Modul_Referenzen  Script_Code_Konfiguration

Standard Script Code:

AutoOCR_scripting

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.

AutoOCR_Script_e_mail_versand

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

 

AutoOCR – Abbyy – PDF Image Qualität bei Verarbeitung von TIFF & JPEG Farbscans mit niedriger Auflösung

Mit der aktuellen Abbyy Version 10 gibt es bei der Verarbeitung von Farbscans ein Problem das zu visuell nicht optimalen PDF Ergebnissen führt.  Verwendet man TIFF oder JPEG als Format für die OCR Verarbeitung von Farbscans mit z.b. 100dpi um daraus ein durchsuchbares PDF zu erzeugen so ist zwar das OCR Ergebnis gut, jedoch ist das im PDF eingebettete Bild von wesentlich schlechter Qualität als das Ausgangsdokument. Wir erwarten hier mit der nächsten Abbyy Version 11 eine Verbesserung.

Man erhält ein visuell besseres Ergebnis falls

  • man statt TIFF und JPEG ein PDF – Image verwendet
  • man die PDF Export Einstellung von “max. Qualität” auf “max. Geschwindigkeit” einstellt
  • mit höherer Auflösung scannt – 300dpi statt 100dpi.

Ebenso sollte man bis zur Verfügbarkeit der Abbyy Version 11 – statt der JPEG2000 die normale JPEG Komprimierung verwenden.