Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core docform
Während eines docform Trainings lesen Sie bestimmte Bereiche auf dem Dokument aus. Dies gelingt durch Ausleseelemente, erkennbar an dem Diskettensymbol:
In den Einstellungen dieser Auslesekästchen steht Ihnen die Extraktion mit Extraktoren zur Verfügung. Durch diese können Sie den ausgelesenen Text leicht anpassen, bzw. den Ausleseprozess mit Automatismen versehen.
Wie in dem folgenden GIF zu sehen ist, wurde im Dokument das Rechnungsdatum mit dem Wert 25.11.2018 markiert. Durch die Anpassung eines Extraktors wandelt docform diesen Text um. Beispielsweise:
Nein, idealerweise wurde die perfekte und gewünschte Einstellung bereits von Ihrem Entwickler getroffen und bei den Dokumententypen korrekt vordefiniert (undefined>agorum core docform - Dokumententypen). In der Regel passen Sie, als Anwender, in einem docform-Training den Extraktor nur bei Sonderfällen an.
Ein Extraktor ist ein JavaScript, dass im Hintergrund aufgerufen wird. Als Übergabeparameter wird diesem Skript unter anderem der Wert des Auslesefelds übergeben und dadurch verarbeitet.
Wie Sie bereits festgestellt haben, wird agorum core mit einer Vielzahl an nutzbaren Extraktoren ausgeliefert. In diesem Abschnitt wird Ihnen deren Funktionsweise erläutert.
Hinweis: In agorum core 11 wurden für Neuinstallationen unvollständige und ungenutzte Extraktoren entfernt. Wenn Sie Bestandskunde sind und Ihr agorum core nur aktualisiert worden ist, sind diese Extraktoren in Ihrem System eventuell noch vorhanden. Folgende Extraktoren können Sie ignorieren oder von Ihrem IT-Team entfernen lassen:
Bestellnummer
IBAN
Mengeneinheit
Preiseinheit
Teilenummer
UstID
Währung mit Konvertierung
Parameter-Test
Alle Zeichen des gesetzten Auslesefeldes werden übernommen. Es findet keine Umwandlung statt.
Parameter:
Es liegen keine Einstellungsmöglichkeiten / Parameter vor.
Art des Rückgabewertes:
string (Zeichenkette)
Das System übernimmt aus dem Auslesefeld nur Zeichenketten aus den Ziffern von 0-9.
Beispiele:
Parameter:
Es liegen keine Einstellungsmöglichkeiten / Parameter vor.
Art des Rückgabewertes:
string (Zeichenkette)
Es wurden Zeichenketten bestehende aus A-Z a-z 0-9 übernommen. Sobald ein Sonderzeichen (beispielsweise Punkt, Komma oder Klammer) erscheint stoppt der Ausleseprozess.
Beispiele:
Parameter:
Es liegen keine Einstellungsmöglichkeiten / Parameter vor.
Art des Rückgabewertes:
string (Zeichenkette)
Der Extraktor wandelt eine Zahl in eine Ganzzahl um. Auch Minuszeichen werden erkannt und übernommen. Das Minus kann dabei vor und hinter der Zahl stehen
Beispiele:
Parameter:
Es liegen keine Einstellungsmöglichkeiten / Parameter vor.
Art des Rückgabewertes:
long (Ganzzahl)
Dieser Extraktor Dezimalzahlen werden extrahiert. z.B. 102,09
Parameter:
Je nach Nationalität existieren verschiedene Dezimal- und Tausendertrennzeichen. Deshalb können Sie einen zusätzlichen Parameter zum Identifizieren der länderspezifischen Schreibweise angegeben, z.B.:
Deutschland: 1.000.000,00 Parameter: `de-DE` U.S.A. : 1,000,000.00 Parameter: `en-US` Schweiz: 1'000'000.00 Parameter: `de-CH`
Bei allen drei Beispielen wird 1.000.000,00
als Wert ausgegeben.
Hinweis: Tragen Sie keinen Parameter ein, nutzt der Extraktor de-DE als Gebietsschema (Supported Locales). Ein davon abweichender Parameter wird jedoch priorisiert behandelt. Die Priorität gestaltet sich so:
MAIN_MODULE_MANAGEMENT/docform/control/DefaultLocale
Wie Sie Parameter im Training eintragen können, sehen Sie hier:
Art des Rückgabewertes:
double (Dezimalzahl)
Übernahme des Datums. Der Extraktor unterstützt folgende Formate:
23 Januar 17 2017 Januar 23 23 Januar 2017 23 Jan 2017 23.01.2017 31.1.2017
Parameter:
Es liegen keine Einstellungsmöglichkeiten / Parameter vor.
Art des Rückgabewertes:
date (Datum)
Vom markierten Bereich werden (negative/positive) Zahlen mit und ohne Minus (vor und hinter der Zahl), Kommas und Punkte ausgelesen.
Parameter:
Je nach Nationalität existieren verschiedene Dezimal- und Tausendertrennzeichen. Deshalb können Sie einen zusätzlichen Parameter zum Identifizieren der länderspezifischen Schreibweise angegeben, z.B.:
Deutschland: 1.000.000,00 Parameter: `de-DE` U.S.A. : 1,000,000.00 Parameter: `en-US` Schweiz: 1'000'000.00 Parameter: `de-CH`
Bei allen drei Beispielen wird 1.000.000,00
als Wert ausgegeben.
Hinweis: Tragen Sie keinen Parameter ein, nutzt der Extraktor de-DE als Gebietsschema (Supported Locales). Ein davon abweichender Parameter wird jedoch priorisiert behandelt. Die Priorität gestaltet sich so:
MAIN_MODULE_MANAGEMENT/docform/control/DefaultLocale
Art des Rückgabewertes:
double (Dezimalzahl)
Definition eines regulären Ausdrucks, um ein gewisses Format auszulesen.
Parameter:
Sie tragen Ihren regulären Ausdruck bei den Parametern ein, siehe auch: Regular Expressions
Art des Rückgabewertes:
string (Zeichenkette)
Der Datumstreifen ist ein sehr spezieller und inspirierender Extraktor, mit dem wir das Problem, dass kein OCR Handschriften erkennen kann, umgehen. In diesem Fall entstand der Datumstreifen in Zusammenarbeit mit einem Bestandskunden: Dieser lässt Dokumente aus der Produktion gegen docform laufen, die ein Datumswert enthalten müssen. Dieser Wert kann nur handschriftlich gesetzt werden. Um jedoch einen automatisierten Ausleseprozess zu ermöglichen, wurde in Zusammenarbeit folgendes Layout des auszufüllenden Dokumentes entwickelt:
Die Mitarbeiter streichen im Alltag das aktuelle Datum weg:
Das Dokument wird eingecsannt, an docform geschickt und mit folgendem Trainingsaufbau ausgelesen:
Parameter:
Als Parameter tragen Sie das Startjahr und Endjahr ein, getrennt durch ein Leerzeichen:
<Startjahr> <Endjahr>
Art des Rückgabewertes:
date (Datum)
Tipp: Probieren Sie den Extraktor mit unseren Beispieldokumenten aus:
Hinweise:
Der Extraktor JavaScript erlaubt es, eigene kleine JavaScripte einzufügen. Ausführliche Beispiele finden Sie in folgenden Dokumentationen:
Dabei erfahren Sie, dass der Wert aus unserem Auslesefeld als Parameter value verwendet werden wird. value ist dabei ein String. Egal ob Sie ein Datumsfeld, eine Zahl oder ähnliches auslesen. Sie müssen in dem JavaScript darauf achten, dass Sie eine Datentyp-Umwandlung vornehmen.
Parameter:
Als Parameter tragen Sie das entsprechende JavaScript ein. Dabei verarbeiten Sie die Variable value. In dieser liegt als Zeichenkette der, im Auslesefeld, vorliegende Text vor.
Art des Rückgabewertes:
Im Standard wird eine Zeichenkette zurückgegeben. Sie können den return-Wert jedoch leicht in jeden anderen Metadatentyp mit Unterstützung von JavaScript-Modul "ac" transformieren.
Dieser Extraktor gibt einen Ja/Nein- bzw. True/False-Wert zurück. Sehr praktisch beispielsweise für Umfragen, oder Archivierungsdeckblätter, die digital oder handschriftlich ausgelesen werden. Anbei Beispiele:
Tipp: Probieren Sie den Extraktor mit unseren Beispieldokumenten aus:
Parameter:
Als Parameter übergeben Sie eine Bedingung anhand der Extraktor entscheiden kann, welcher return-Wert zurückgegeben wird. Anbei ein paar Beispiele:
Bei einem Prüfprotokoll werden durchgeführte Prüfungen angekreuzt. Das entsprechende Feld im Dokument ist eine 0. Mit Angabe des folgenden Parameters wird bestimmt, dass bei Erkennung einer 0,
O
oder o
der Wert false
ist:
false=[0Oo]
Wird ein anderes Zeichen erkannt (Prüfer hat eine Stelle angekreuzt), ist der Wert true.
true=Netto
true=(Netto|MwSt.)
Art des Rückgabewertes:
boolean (Boolean)
Der Extraktor gibt eine Dezimalzahl mit 2 Nachkommastellen aus und rundet bei Bedarf die Nachkommastellen auf.
Parameter:
Je nach Nationalität existieren verschiedene Dezimal- und Tausendertrennzeichen. Deshalb können Sie einen zusätzlichen Parameter zum Identifizieren der länderspezifischen Schreibweise angegeben, z.B.:
Deutschland: 1.000.000,00 Parameter: `de-DE` U.S.A. : 1,000,000.00 Parameter: `en-US` Schweiz: 1'000'000.00 Parameter: `de-CH`
Bei allen drei Beispielen wird 1.000.000,00
als Wert ausgegeben.
Hinweis: Tragen Sie keinen Parameter ein, nutzt der Extraktor de-DE als Gebietsschema (Supported Locales). Ein davon abweichender Parameter wird jedoch priorisiert behandelt. Die Priorität gestaltet sich so:
MAIN_MODULE_MANAGEMENT/docform/control/DefaultLocale
Art des Rückgabewertes:
double (Dezimalzahl)
Eine Dezimalzahl mit so vielen Nachkommastellen, wie sie im Dokument vorhanden ist.
Wenn Sie in einem Training kein Auslesefeld definieren, also keinen bestimmten Bereich in Ihrem Papierdokument markieren, das das System auslesen soll, so setzt dieser Extraktor automatisch eine 0 in das Auslesefeld.
Parameter:
Je nach Nationalität existieren verschiedene Dezimal- und Tausendertrennzeichen. Deshalb können Sie einen zusätzlichen Parameter zum Identifizieren der länderspezifischen Schreibweise angegeben, z.B.:
Deutschland: 1.000.000,00 Parameter: `de-DE` U.S.A. : 1,000,000.00 Parameter: `en-US` Schweiz: 1'000'000.00 Parameter: `de-CH`
Bei allen drei Beispielen wird 1.000.000,00
als Wert ausgegeben.
Hinweis: Tragen Sie keinen Parameter ein, nutzt der Extraktor de-DE als Gebietsschema (Supported Locales). Ein davon abweichender Parameter wird jedoch priorisiert behandelt. Die Priorität gestaltet sich so:
MAIN_MODULE_MANAGEMENT/docform/control/DefaultLocale
Art des Rückgabewertes:
double (Dezimalzahl)
Liegt das Zahlungsziel in diesem Format vor <Zahl> Tage Netto (Leerzeichen sind optional) ist dieser Extraktor für Sie interessant.
Beispiele:
Lesen Sie diesen Text aus, wird Ihnen nur die Zahl (15, 5698 oder 3) ausgegeben.
Parameter:
Es liegen keine Einstellungsmöglichkeiten / Parameter vor.
Art des Rückgabewertes:
long (Ganzzahl)
Dieser Extraktor verarbeitet Datumswerte, die in dem Format ddMMyyyy im Dokument vorliegen, zum Beispiel 25012022. Als Rückgabewert erhalten Sie 25.01.2022.
Parameter:
Es liegen keine Einstellungsmöglichkeiten / Parameter vor.
Art des Rückgabewertes:
date (Datum)
Dieser Extraktor verarbeitet Datumswerte, die in dem Format yy MM dd im Dokument vorliegen, zum Beispiel 22 02 06. Als Rückgabewert erhalten Sie 06.02.2022
Parameter:
Es liegen keine Einstellungsmöglichkeiten / Parameter vor.
Art des Rückgabewertes:
date (Datum)
Achtung: Datenverlust durch Änderung der mitgelieferten Skripte. Bei Updates werden Ihre Änderungen an den mitgelieferten Skripten überschrieben. Ändern Sie die mitgelieferten Extraktoren nicht ab, sondern erstellen Sie eigene Extraktoren.
Um eigene Extraktoren anzulegen, befolgen Sie diese Schritte. Voraussetzung ist, dass Sie bereits ein eigenes Konfigurationsprojekt über den template manager angelegt haben:
MetaDb/MAIN_MODULE_MANAGEMENT/docform/control/Extractors
Sie können Ihren konfigurierten Extraktor auch in einer metadata-collection verwenden. Hierfür müssen Sie innerhalb der metadata-collection den Namen des dazugehörigen Property-Bundles angeben. Wie dies genau funktioniert, sehen Sie in den nachfolgenden Schritten anhand eines Beispiels:
MAIN_MODULE_MANAGEMENT/docform/control/Extractors
Hinweis: In diesem Beispiel ist der Extraktor in der Gruppe und das Bundle heißt . DateOrCw
steht hierbei für die Auswahl zwischen Datum und der Kalenderwoche. Wie die Ordnerstruktur in der MetaDb aussieht, sehen Sie in Abbildung 1.
Tipp: Sie können zum Ausprobieren gerne unsere metadata-collection-Beispiele verwenden. Diese finden Sie in dieser Dokumentation.
extractorParameters
(hier: 'dd.MM.yyyy') an.
Hinweis: Im Folgenden sehen Sie ein Beispiel dafür, wie Sie den Extraktor in einer metadata-collection angeben können:
... - delivery_date: docform: extractor: DateOrCw extractorParameters: 'dd.MM.yyyy' optional: true ...
Ihnen liegen Beispiele zur Erstellung von Extraktoren in folgendem Skript vor:
Eigene Dateien/Administration/Scripting/Libraries/docform-samples/extractor.js
Hinweis: Beachten Sie, dass diese Beispiele nicht vollständig sind und als Inspirationsquellen angesehen werden sollten!
Ob die Extraktorenbeispiele bei Ihnen in der MetaDb vorliegen, und somit gleich eingesetzt werden können, ist von Ihrer ersten eingesetzten agorum core Version abhängig:
Um die Extraktoren zu betrachten oder neu anzulegen, gehen Sie wie folgt vor:
MetaDb/MAIN_MODULE_MANAGEMENT/docform/control/Extractors
Der Extraktor von Interesse besitzt keinen MetaDb-Eintrag. Diesen erstellen Sie nun, wie oben beschrieben neu, um den Extraktor testen zu können. Nutzen Sie dazu die Angaben aus der Spalte Einträge MetaDb der folgenden Tabelle:
- MetaDb-Bundle Bezeichnung: Bezeichnung des Bundels, dass unter dem MetaDb zu Extractors angelegt wird.
- JavaScript-Wert: In dem neuen Bundle legen Sie einen MetaDb Entry namens JavaScript an. Dort wird der in der Tabelle hinterlegte Wert gespeichert.
- Text-Wert: In dem neuen Bundle legen Sie einen MetaDb Entry namens Text an. Dort wird der in der Tabelle hinterlegte Wert gespeichert.
Name | Einträge MetaDb | Beschreibung |
---|---|---|
Teilenummer | MetaDb-Bundle Bezeichnung: BspTeilenummer
MetaDb Entry namens JavaScript und der dazugehörige Wert: require('docform-samples/extractor').extractTeilenummer(value)
MetaDb Entry namens Text und der dazugehörige Wert: Teilenummer |
Dieser Extraktor wurde beispielhaft für eine Teilnummer erstellt und liest folgende Werte basierend auf regulären Expressionen aus:
Parameter: Es liegen keine Einstellungsmöglichkeiten / Parameter vor. Art des Rückgabewertes: string (Zeichenkette) |
Bestellnummer | MetaDb-Bundle Bezeichnung: BspBestellnummer
MetaDb Entry namens JavaScript und der dazugehörige Wert: require('docform-samples/extractor').extractBestellnummer(value)
MetaDb Entry namens Text und der dazugehörige Wert: Bestellnummer |
Dieser Extraktor gibt eine Zeichenkette zurück, die maximal aus 7 Zeichen besteht. Beispiel:
Parameter: Es liegen keine Einstellungsmöglichkeiten / Parameter vor. Art des Rückgabewertes: string (Zeichenkette) |
IBAN | MetaDb-Bundle Bezeichnung: BspIBAN
MetaDb Entry namens JavaScript und der dazugehörige Wert: require('docform-samples/extractor').extractIBAN(value)
MetaDb Entry namens Text und der dazugehörige Wert: IBAN |
Dieser Extraktor gibt den markierten Auslesebereich zurück, entfernt jedoch die Leerzeichen. Parameter: Es liegen keine Einstellungsmöglichkeiten / Parameter vor. Art des Rückgabewertes: string (Zeichenkette) |
Mengeneinheit | MetaDb-Bundle Bezeichnung: BspMengeneinheit
MetaDb Entry namens JavaScript und der dazugehörige Wert: require('docform-samples/extractor').extractMengeneinheit(value)
MetaDb Entry namens Text und der dazugehörige Wert: Mengeneinheit |
Wenn folgende Bezeichnungen für eine Mengeneinheit gefunden werden, ist die Ausgabe
Parameter: Es liegen keine Einstellungsmöglichkeiten / Parameter vor. Art des Rückgabewertes: long (Ganzzahl) |
Preiseinheit | MetaDb-Bundle Bezeichnung: BspPreiseinheit
MetaDb Entry namens JavaScript und der dazugehörige Wert: require('docform-samples/extractor').extractPreiseinheit(value)
MetaDb Entry namens Text und der dazugehörige Wert: Preiseinheit |
Wenn folgende Bezeichnungen für eine Preiseinheit gefunden werden, ist die Ausgabe
Parameter: Es liegen keine Einstellungsmöglichkeiten / Parameter vor. Art des Rückgabewertes: long (Ganzzahl) |
UStId | MetaDb-Bundle Bezeichnung: BspUStId
MetaDb Entry namens JavaScript und der dazugehörige Wert: require('docform-samples/extractor').extractUStId(value)
MetaDb Entry namens Text und der dazugehörige Wert: UStId |
Dieser Extraktor gibt die UStId zurück. Die Umsatzsteuer-Identifikationsnummer beginnt mit zwei Großbuchstaben gefolgt von einer Zahlenfolge. Für Deutschland wurde zudem eine Korrektur eingetragen. Sollte bei einem eingescannten Dokument DE schlecht zu lesen sein, und 0E oder OE vom OCR erkannt worden sein, werden die Buchstaben automatisch in DE korrigiert. Parameter: Es liegen keine Einstellungsmöglichkeiten / Parameter vor. Art des Rückgabewertes: string (Zeichenkette) |
Währung (mit Konvertierung) | MetaDb-Bundle Bezeichnung: BspWaehrung
MetaDb Entry namens JavaScript und der dazugehörige Wert: require('docform-samples/extractor').extractWaehrung(value)
MetaDb Entry namens Text und der dazugehörige Wert: Währung (mit Konvertierung) |
Statt des Währungssymbols wird das Währungskürzel ausgegeben. Parameter: Es liegen keine Einstellungsmöglichkeiten / Parameter vor. Art des Rückgabewertes: string (Zeichenkette) |
Parameter-Test | MetaDb-Bundle Bezeichnung: paramTest
MetaDb Entry namens JavaScript und der dazugehörige Wert: JSON.stringify({value:value,parameters:parameters.split('\n')})
MetaDb Entry namens Text und der dazugehörige Wert: Parameter-Test |
Der Extraktor ist in der MetaDb ein Property-Eintrag und besteht aus einem String: JSON.stringify({value:value,parameters:parameters.split('\n')}) Der gesamte Wert (value) wird ausgelesen und durch einen Parameter definiert. Er demonstriert, wie ein Exktraktor die Parameter übergeben bekommt. Beispiel für JavaScript: Neuen Property-Eintrag mit folgenden Angaben erstellen: Name: DatumTest Property-Eintrag: JavaScript: JavaScript: transform(value).date(parameters.split('\n')[0],parameters.split('\n')[1]) Im Dokumententyp wird als Parameter zusätzlich angegeben: dd MMMM yyyy de Der ausgelesene Wert ist: Ablageort: MAIN_MODULE_MANAGEMENT/docform/control/Extractors/ Parameter: Es liegen keine Einstellungsmöglichkeiten / Parameter vor. Art des Rückgabewertes: long (Ganzzahl) |