Barcodetrenner - Auftrennung von Objekten nach Barcodeblättern / OCR-Text

Aus Helper
Zur Navigation springen Zur Suche springen
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.

Pane im Produktionsauftrag