Barcodetrenner - Auftrennung von Objekten nach Barcodeblättern / OCR-Text
- Mantiseinträge
1973, 2980
- Systemtyp
29
Beschreibung
Besteht aus einem Serverjob OJOHZDOBarcodeTrenner. Durchsucht den Ordner eines Objektes nach Trennblätter und erstellt für jedes Trennblatt ein Kind-Objekt und fügt die Bilder bis zum nächsten Trennblatt diesem Kind hinzu. Ein Trennblatt kann ein Barcode mit einem bestimmten Wert sein oder eine Seite welche einen bestimmten Text beinhaltet.
Konfiguration für Barcodes
Barcodetyp
Hier können Sie im Dropdown definieren nach welchen Barcodetypen gesucht werden soll. Falls alle Barcodes gefunden und überprüft werden soll, wählen Sie "Alle finden".
Barcodewert
Definieren Sie einen Wert, welcher der Barcode beinhalten muss, damit diese Seite als Trennblatt zählt. Es ist möglich statische Werte sowie einen Regex zu definieren. Sie können zusätzlich den Platzhalter "[DOSEQ]" (ohne Anführungszeichen) verwenden. Mit dieser Konfiguration wird ein bereits bestehendes DO mit der entsprechenden Nummer gesucht. Die Seite wird nur zum Trennblatt wenn ein bestehendes Objekt gefunden wurde. Falls Sie das Kind nach dieser Sequenznummer zuordnen müssen, lesen Sie den Abschnitt "Signatur der Kinder".
Konfiguration für OCR
Beachten Sie, dass dieser Schritt nur Funktioniert, wenn die Objekte vorher durch den OCR-Serverjob gelaufen sind!
OCR-Trenntext
Mithilfe des OCR-Trenntextes können Sie definieren was für ein Text auf einer Seite stehen muss, damit die Seite als Trennblatt gewertet wird. Es ist möglich statische Begriffe sowie Regex zu definieren. Beachten Sie, dass sich der gesamte Ausdruck auf einer Zeile befinden muss!
Beispiele
OCR-Trenntext: Auszug aus dem Protokoll ==> Es wird auf jeder Seite nach "Auszug aus dem Protokoll" gesucht
OCR-Trenntext: [0-9][0-9][0-9] ==> Es wird auf jeder Seite nach 3 stelligen Zahlen gesucht (123, 822, 111)
OCR-Trenntext: aus .{5} ==> Es wird auf jeder Seite nach "aus <Wort mit 5 Zeichen egal welche>" gesucht ("aus Berlin" nicht aber "aus Bern")
Allgemeine Konfiguration
Modus für erste Datei im Vater
Hier können Sie definieren ob die erste Datei im Vater ein Trennblatt sein muss oder ob alle Dateien bis zum ersten Trennblatt ignoriert werden sollen. Falls die erste Seite ein Trennblatt sein soll sie jedoch keine ist, gibt es ein Fehler.
Modus für Trennblätter
Hier können Sie definieren, was mit dem Trennblatt geschehen soll: Soll die Datei mit ins Kind kopiert werden, oder nicht?
Anzahl Files zu löschen nach dem Trennblatt
Steht diese Zahl auf 0 werden alle Seiten, nach dem Trennblatt bis zum nächsten, ins Kind kopiert. Schreiben Sie zB. 2 hinein werden alle Seiten, bis auf die ersten 2, nach dem Trennblatt ins Kind kopiert.
Diese Zahl kann auch negativ sein; In diesem Falle werden X Blätter vor dem nächsten Trennblatt gelöscht.
Modus für Kinder
Nichts tun
Nichts tun ist aktuell keine Option! Es gibt einen Fehler und der aktuelle Arbeitsschritt wird gestoppt.
Kinder erstellen
Wählen Sie die Option "Kinder erstellen", wird für jedes Trennblatt ein neues Kind erstellt.
Daten bestehendem Kind zuordnen
Wählen Sie diese Option, falls ein bestimmtes Objekt gesucht werden soll, welches die getrennten Daten erhält. Gesucht wird nach dem Typ des Objektes sowie der definierten Signatur. Wird kein passendes Objekt gefunden, gibt es einen Fehler. Das gefundene Objekt wird danach automatisch zum Kind vom Haupt-Objekt.
Typ der Kinder
- Welchen Typ sollen die neu erstellten Kinder erhalten?
- Von welchem Typ sollen die gesuchten Kinder sein?
Signatur der Kinder
Hier definieren Sie eine Omnisformel, welche beim erstellen evaluiert wird und die Signatur des neuen Kindes definiert. Oder aber es definiert die Signatur des zu findenden Objektes (Je nach der Konfiguration "Modus für Kinder")
Für alle "Kinder-Modus" brauchbar:
- Eine Liste der Omnisfunktionen finden Sie hier: [1]
- Es ist möglich Attribute des Vaters zu evaluieren ("[Attributname]")
- Es ist möglich der Ahnen des Vaters zu evaluieren ("[^Attributname]" für jede Generation nach oben ein "^" mehr)
- Es ist möglich via OCR nach Text auf der Seite zu suchen und diesen zu evaluieren ("[OCR-Treffer='<Wort>'+/-<Treffer Offset>]")
- Es ist möglich den Platzhalter [DOSigantur] zu verwenden (Signatur des aktuellen DO / Vater der Kinder)
- Es ist möglich den Platzhalter [BarcodeValue] zu verwenden (Den Wert des Barcodes)
Für den Kind-Modus "Kinder erstellen" brauchbar:
- Es ist möglich den Platzhalter [DOKindNr] zu verwenden (Laufnummer des Kindes -> Das wievielte Kind bin ich?)
Für den Kind-Modus "Daten bestehendem Objekt zuordnen" brauchbar:
- Es ist möglich den Platzhalter [DOSEQ=BarcodeValue] ALLEINE zu verwenden (Sucht das Kind basierend auf der DOSEQ im BarcodeValue und nicht nach der Signatur!)
Beispiele:
- con('Buch_',[Jahr]) ==> Attribut "Jahr" des aktuellen DO wird eigesetzt ==> Mögliche Resultate: Buch_1999 / Buch_2018
- con('Ordner_',[^Farbe])" ==> Attribut "Farbe" des Vaters des aktuellen DO wird eingesetzt ==> Mögliche Resultate: Ordner_grün, Ordner_Blau
- con('Kalender_',[^^Grösse],'_gebunden')" ==> Attribut "Grösse" des Grossvaters des aktuellen DO wird eingesetzt ==> Mögliche Resultate: Kalender_200cm_gebunden
- con('Buch_',[OCR-Treffer="Nr."+1]) ==> Es wird auf der Seite nach dem ersten Vorkommen von "Nr." gesucht und das Folgewort eingesetzt
- con('Buch_',[OCR-Treffer="Personen"+3]) ==> Es wird auf der Seite nach dem ersten Vorkommen von "Personen" gesucht und das 3. Wort nach Personen eingesetzt
- con('Buch_',[OCR-Treffer="[0-9][0-9]"-2]) ==> Es wird auf der Seite nach der ersten 2 stelligen Zahl (21, 00, 11) gesucht und das 2. Wort vor dieser Zahl eingesetzt
Objekte müssen bereits Kinder sein
Hier können Sie definieren ob irgend ein Objekt mit der gewünschten Signatur gesucht werden soll, oder ob dieses bereits ein Kind des Hauptobjektes sein muss.
Nein = Irgend ein Objekt wird gesucht mit der gewünschten Signatur
Ja = Es werden nur bestehende Kinder mit der gewünschten Signatur gesucht
Dateinamen der Kinder für die Belegzuordnung vorbereiten
Dieses Option ist Pflicht für eine anschliessende Belegzuordnung. Falls einer der nächsten Arbeitsschritte eine Belegzuordnung sein wird, dann müssen die Dateinamen der bereits zugeordneten Dateien entsprechend der Namenskonvention des Belegzuordungsfenster geändert werden. Ansonst wird das Belegzordnungsfenster nicht mit den Dateinamen umgehen können und daher nicht verwendbar sein.
Fehler handling
Grundsätzlich stoppt der Job falls ein unerwarteter Umstand auftritt (Fehler beim aktualisieren von Daten, falsche Konfiguration). Ist der Kind-Modus "Daten bestehendem Objekt zuordnen" ausgewählt und es gibt Trennblätter wofür kein passendes Objekt gefunden wurde, arbeitet der Job einfach weiter.
Produktionsauftrag 20P0010
Bei diesem Auftrag werden "]" welche aus dem OCR gelesen wurden durch "1" ersetzt. Diese Anpassung ist nötig, da das GDPicture OCR die Schreibmaschinen Eins als eckige Klammer interpretiert.
Essentielle Felder
HZ_BARCODETYP Welcher Barcodetyp soll geprüft werden?
HZ_BARCODEWERT Nach welchem Wert soll im Barcode gesucht werden, damit die Seite ein Trennblatt wird?
HZ_BARCODEFILEWEG Wieviele Files nach dem Barcodeblatt sollen gelöscht werden?
HZ_BARCODE1WEG 0 = Trennblatt wird nicht ins Kind kopiert 1 = Trennblatt wird ins Kind kopiert
HZ_FORMEL Eine Omnisformel welche evaluiert wird und danach als Signatur für neue Kinder verwendet wird, oder aber mit der bestehende Kinder gesucht werden
HZ_HASHTYP 0 = Es wird nach Barcodes gesucht 1 = Es wird nach OCR-Text gesucht
HZ_DATENVORHERLOSCHEN 0 = Erste Seite muss ein Trennblatt sein 1 = Alle Seiten bis zum ersten Trennblatt werden ignoriert
HZ_FILEVERHALTEN Modus für Kinder: 0 = Nichts tun 1 = Kinder erstellen 2 = Daten bestehendem Kind zuordnen
HZ_DY_SEQ1 Sequenznummer des Objekttypes welche die Kinder haben sollen
HZ_KINDERVERDOPPELN 0 = Objekt muss kein Kind vom Haupt DO sein 1 = Objekt muss bereits ein Kind des Haupt DO sein
HZ_EXPORTFILETYP 0 = Die Dateinamen bleiben bestehen 1 = Die Dateinamen der den Kindesobjekte zugeordneten Dateien werden für die benötigte Nameskonvention bereits zugeordneter Belege im Belegzuordnungsfenster angepasst.
- Erlaubte Werte
Es soll ein regulärer Ausdruck angegeben werden, um nur die erlaubten Worte zuzulassen.
In Wikipedia befindet sich eine genaue Erklärung dazu: https://de.wikipedia.org/wiki/Regulärer_Ausdruck#Reguläre_Ausdrücke_in_der_Praxis
- Beispiel
Das Format der Barcodewerte wäre zum Beispiel: AB1234 Dann wird Folgendes für den Barcodewert angegeben: [A-Z][A-Z][0-9][0-9][0-9][0-9]
Wenn der Anfang der Barcodes immer fix AB wäre, dann kann man stattdessen Folgendes angeben: [A][B][0-9][0-9][0-9][0-9]
Damit ist es fix, dass nur AB am Anfang zugelassen wird. Sonst wäre alles zwischen A-Z erlaubt.
Auf https://guides.gdpicture.com/content/GdPicture.NET.14~GdPicture14.Barcode1DReaderType.html stehen die Barcodetypen von GdPicture und deren Werte.