Verfügbare Funktionen: Unterschied zwischen den Versionen

Aus Helper
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(8 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 21: Zeile 21:
Die Wortliste ist als [https://helper.ch/wiki/index.php?title=Konfiguration Konfigurationsdatensatz] zu erstellen. Der Name der erstellen Wortliste wird als Parameter zum finden der Liste benötigt.
Die Wortliste ist als [https://helper.ch/wiki/index.php?title=Konfiguration Konfigurationsdatensatz] zu erstellen. Der Name der erstellen Wortliste wird als Parameter zum finden der Liste benötigt.


  §istInWortliste(Metadatumsname,Wortlistenname)
  §istInWortliste(Metadatumsname,Wortlistenname,Suchtyp,Zeilenumbruchtyp)
 
;Metadatumsname: Wert des Metadatums, zB 'Eugen' oder [Vorname]
;Wortlistenname: Name der Wortliste, also des Konfigurationsdatensatzes.
;Suchtyp: 0=Es wird genau nach dem Wert gesucht (Standard), 1=Findet auch 'Hans', wenn in der Wortliste 'Eugen Hans' oder 'Hans-Peter' steht
;Zeilenumbruchtyp: Welcher Zeilenumbruch wird in der Wortliste verwendet: 0=Zeilenumbruch ist 'CR' (Standard), 1=Zeilenumbruch ist 'CRLF'


Bsp.: Es wurde eine Liste mit Vornamen in der Konfiguration erstellt. Diese Liste lautet auf den Namen "Vornamenkonfiguration". Ein Metadatum "Vorname" wurde erstellt, dort wurden zuvor Vornamen gespeichert.
Bsp.: Es wurde eine Liste mit Vornamen in der Konfiguration erstellt. Diese Liste lautet auf den Namen "Vornamenkonfiguration". Ein Metadatum "Vorname" wurde erstellt, dort wurden zuvor Vornamen gespeichert.
Zeile 142: Zeile 147:
   
   
  Wird zurückgegeben:  
  Wird zurückgegeben:  
  Objekt 1 -> 1
  Objekt 1 -> 1 (weil es das erste Objekt ist mit Signatur 'A')
  Objekt 2 -> 1
  Objekt 2 -> 1 (weil es das erste Objekt ist mit Signatur 'B')
  Objekt 3 -> 2
  Objekt 3 -> 2 (weil es das zweite Objekt ist mit Signatur 'A')
  Objekt 4 -> 3
  Objekt 4 -> 3 (weil es das dritte Objekt ist mit Signatur 'A')
  Objekt 5 -> 1
  Objekt 5 -> 1 (weil es das erste Objekt ist mit Signatur 'C')
 
===§minX===
 
Bevor diese Methode ausgeführt werden kann, muss der Schritt [[Files messen]] gemacht werden.
Diese Methode gibt die kleinstmögliche Breite des Objektes nachdem die [[Files messen|Files gemessen]] wurden an, grösser oder gleich dem Parameter.
Es werden alle Files ausgewertet ausser PDFs.
Die Methode erwartet eine Zahl als Pixel-Wert.
 
§minX(minimumPixel)
 
Bsp:
Objekt mit folgenden Files: auto.jpg (Breite: 100), baum.jpg (Breite:200), clown.jpg (Breite:110)
Methode §minX(105) gibt 110 zurück
Methode §minX(110) gibt 110 zurück
Methode §minX(150) gibt 200 zurück
 
===§minY===
 
Bevor diese Methode ausgeführt werden kann, muss der Schritt [[Files messen]] gemacht werden.
Diese Methode gibt die kleinstmögliche Höhe des Objektes nachdem die [[Files messen|Files gemessen]] wurden an, grösser oder gleich dem Parameter.
Es werden alle Files ausgewertet ausser PDFs.
Die Methode erwartet eine Zahl als Pixel-Wert.
 
§minY(minimumPixel)


==Weitere Beispiele==
Bsp:
  §OCRMatchCount('Bericht')>0 ==> Falls das Wort Bericht mindestens 1 Mal gefunden wurde ist der Ausdruck wahr<br>
  Objekt mit folgenden Files: auto.jpg (Höhe: 100), baum.jpg (Höhe:200), clown.jpg (Höhe:110)
  §OCRMatchCount('[0-9][0-9][.]')=0 ==> Falls KEINE 2 stellige Zahl mit einem Punkt gefunden wird ist der Ausdruck wahr<br>
  Methode §minY(105) gibt 110 zurück
  §OCRMatchCount('[BelegName]')>2 ==> Falls der Wert des Attributes BelegName mehr als 2 mal gefunden wird ist der Ausdruck wahr<br>
  Methode §minY(110) gibt 110 zurück
  §OCRMatchCount('[BelegName]',1)>0 ==> Falls der Wert des Attributes BelegName mindestens einmal im OCR der Kindern gefunden wurde.<br>
  Methode §minY(150) gibt 200 zurück




Zeile 175: Zeile 204:


  §OCRTextRegion(5,-2304,-1954,-2972,-2913)  -> entspricht genau dem gleichen Auswahlrechteck mit Abstand Links=359, Abstand oben=631, Breite=350, Höhe=59 '''weil das Bild die gleiche Dimension besitzt!'''
  §OCRTextRegion(5,-2304,-1954,-2972,-2913)  -> entspricht genau dem gleichen Auswahlrechteck mit Abstand Links=359, Abstand oben=631, Breite=350, Höhe=59 '''weil das Bild die gleiche Dimension besitzt!'''
===§FileAnzahl===
Diese Methode gibt dir Anzahl Dateien am aktuellen Datenschritt des Objektes zurück. Dabei werden alle Dateien auch in allen Unterordnern gezählt. Unsichtbare Dateien sowie die Ordner selbst zählen nicht.
§FileAnzahl()
===§Hausnummer===
Diese Methode formatiert einen Hausnummer.
§Hausnummer(Wert)
Beispiele:
12 -> 012
123 -> 123
12a -> 012a
2a -> 002a
==Weitere Beispiele==
§OCRMatchCount('Bericht')>0 ==> Falls das Wort Bericht mindestens 1 Mal gefunden wurde ist der Ausdruck wahr<br>
§OCRMatchCount('[0-9][0-9][.]')=0 ==> Falls KEINE 2 stellige Zahl mit einem Punkt gefunden wird ist der Ausdruck wahr<br>
§OCRMatchCount('[BelegName]')>2 ==> Falls der Wert des Attributes BelegName mehr als 2 mal gefunden wird ist der Ausdruck wahr<br>
§OCRMatchCount('[BelegName]',1)>0 ==> Falls der Wert des Attributes BelegName mindestens einmal im OCR der Kindern gefunden wurde.<br>

Aktuelle Version vom 2. April 2025, 15:50 Uhr

Die hier gelisteten Funktionen lassen sich bei allen Workflowschritten anwenden, welche einen Link zu dieser Seite besitzen.


Funktionen

Beachte: Die Metadatumsfelder sind hier unbedingt als String ('Metadatum') zu übergeben und nicht wie andersweitig in eckigen Klammern.


§getQuittungsFeld

Holt den Wert aus einem Quittungsfeld. Das Objekt muss dazu eine Quittung besitzen. Es wird immer auf die letzte erstellte Quittung zurückgegriffen. Aktuell werden Quittungsdetail im JSON Format unterstützt.

Die Funktion erwartet einen gültigen Pfad zu einem JSON Member, oder anderst gesagt den Schlüssel zu einem Attribut in dem JSON. (JSON Pfade der Quittung finden: Siehe Warten auf Rückmeldung)

§getQuittungsFeld('pfad.zu.dem.gewünschten.feld')

§istInWortliste

Ermittelt ob ein Metadatum in einer Wortliste vorkommt; wobei 1 = kommt vor, 0 = kommt nicht vor.

Die Wortliste ist als Konfigurationsdatensatz zu erstellen. Der Name der erstellen Wortliste wird als Parameter zum finden der Liste benötigt.

§istInWortliste(Metadatumsname,Wortlistenname,Suchtyp,Zeilenumbruchtyp)
Metadatumsname
Wert des Metadatums, zB 'Eugen' oder [Vorname]
Wortlistenname
Name der Wortliste, also des Konfigurationsdatensatzes.
Suchtyp
0=Es wird genau nach dem Wert gesucht (Standard), 1=Findet auch 'Hans', wenn in der Wortliste 'Eugen Hans' oder 'Hans-Peter' steht
Zeilenumbruchtyp
Welcher Zeilenumbruch wird in der Wortliste verwendet: 0=Zeilenumbruch ist 'CR' (Standard), 1=Zeilenumbruch ist 'CRLF'

Bsp.: Es wurde eine Liste mit Vornamen in der Konfiguration erstellt. Diese Liste lautet auf den Namen "Vornamenkonfiguration". Ein Metadatum "Vorname" wurde erstellt, dort wurden zuvor Vornamen gespeichert.

§istInWortliste('Vorname','Vornamenkonfiguration')

§getConfidenceOfWordInRegionXML

Gibt die vom OCR ermittelte Konfidenz zu einem gefundenen Begriff zurück und schreibt den Wert in ein Metadatum. Erlaubt optional die Angabe eines Einschräkungsbereiches, in welchem der gesuchte Begriff vorkommen muss.

Der Bereich ist als Row(left,top,width,height) anzugeben: §getConfidenceOfWordInRegionXML('Suchwort',row(left,top,width,height))

Bsp.:

§getConfidenceOfWordInRegionXML('London',row(57,154,75,25))
0 = Begriff nicht gefunden
0.1 - 100 = Konfidenz des gefundenen Begriffes

§istMin und §istMax

Vergleicht von DO Objekten die Attributswerte des angegebenen Attributs miteinander, und ermittelt ob das DO den grössten oder den kleinsten Wert der verglichenen Objekte besitzt. Alle DO Typen, welchen den gleichen Attributsnamen besitzen, werden für den Vergleich herbeigezogen.
Die Hierarchiestufe der Objekte kann, ausgehend vom Objekt eingeschränkt werden.

Pflicht: Metadatumsname, Hierarchieebene
Optional: Metadatumsname2 (Ohne Metadatumsname2 werden allein die gefundenen Metadaten aus Metadatumsname verglichen, mit werden nur diejenigen Objekte welche den gleichen Wert in Metadatumsname2 haben verglichen).

§istMax(Metadatumsname,Hierachieebene,Metadatumsname2)
§istMax(Metadatumsname,../-2/-1/0/1/2/..,Metadatumsname2)
§istMin(Metadatumsname,../-2/-1/0/1/2/..,Metadatumsname2)

Bsp.:
§istMax('AnzahlDok',1,'Büronummer') Gibt 1 zurück, wenn das Objekt den grössten Wert im Attribut 'AnzahlDok' hat, innerhalb der eigenen Tranche und der gleichen Büronummer. 

Parameter

Metadatumsname: Der Name des Metadatums

Hierachieebene: (Einschränkung)
* 0 = Alle DO des Auftrages (=keine Einschränkung)
* 1 = Alle DO mit dem selben Vorfahren auf Ebene 1 (typischerweise alle Objekte einer Tranche, inklusive der Tranche)
* 2 = Alle DO mit dem selben Vorfahren auf Ebene 2
* 3 = Alle DO mit dem selben Vorfahren auf Ebene 3
* etc.
* -1 = Alle auf der gleichen Ebene wie das DO Objekt, inklusive des Vorfahren 
* -2 = Alle 2 Ebenen höher als das DO Objekt

Metadatumsname2: Schränkt die betrachteten Dos ein. Es werden nur die DO angesehen, die den gleichen Wert im Attribut Metadatumsname2 haben.

§sortierung

Gibt die Sortierreihenfolge des Objektes zurück. Analog zu verwenden wie $min/$max.

§sortierung(Metadatumsname,../-2/-1/0/1/2/.., Metadatumsname2,0/1)
Bsp:
§sortierung('Büronummer',-1,'Metadatumsname2',0)

Parameter

Metadatumsname: Der Name des Metadatums

Hierachieebene: (Einschränkung)
* 0 = Alle DO des Auftrages (=keine Einschränkung)
* 1 = Alle DO mit dem selben Vorfahren auf Ebene 1 (typischerweise alle Objekte einer Tranche, inklusive der Tranche)
* 2 = Alle DO mit dem selben Vorfahren auf Ebene 2
* 3 = Alle DO mit dem selben Vorfahren auf Ebene 3
* etc.
* -1 = Alle auf der gleichen Ebene wie das DO Objekt, inklusive des Vorfahren 
* -2 = Alle 2 Ebenen höher als das DO Objekt

Metadatumsname2: Schränkt die betrachteten Dos ein. Es werden nur die DO angesehen, die den gleichen Wert im Attribut Metadatumsname2 haben.

Sortierreihenfolge: 0 = Aufwärts, 1 = Abwärts

§istEindeutig

Prüft ob für ein DO Objekt ein bestimmtes Metadatum im Vergleich zu weiteren DOs eindeutig ist. Vergleiche sind mit DOs auf wählbarer Hierarchieebene sowie mit gleichem oder abweichendem DO Typ möglich.

§istEindeutig(Metadatumsname, 0/1/2, 0/1/2[,DO Typen])
§istEindeutig(Metadatumsname, Hierarchieebene, Typ-Einschränkung[,'Typ1,Typ2,..'])

Parameter

Metadatumsname: Der Name des Metadatums
Bereich: 0 = Ganzer Auftrag, alle DO dieses Auftrages, 1 =  Alle DO auf Ebene 1, 2 = Alle DO auf Ebene 2
Typ-Einschränkung: 0 = Alle Typen mit dem gleichen Metadatumsname, 1 = Gleicher Typ wie das Vergleichsobjekt, 2 = Alle im zwingend folgenden Parameter angegebenen Typen

Anwendung

§istEindeutig('Verlag',0,0) Alle DO des Auftrages, welche bei einem beliebiegen DO Typ und dem Attribut 'Verlag' das selbe Metadatum besitzen
§istEindeutig('Verlag',1,1) Alle DO auf Ebene 1, welche zum gleichen Typ und dem Attribut 'Verlag' das selbe Metadatum besitzen
§istEindeutig('Verlag',2,0) Alle DO auf Ebene 2, welche bei einem beliebiegen Typ und dem Attribut 'Verlag' das selbe Metadatum besitzen
§istEindeutig('Verlag',2,1) Alle DO auf Ebene 2, welche zum gleichen Typ und dem Attribut 'Verlag' das selbe Metadatum besitzen
§istEindeutig('Verlag',2,2,'Buch, Magazin, Zeitung') Alle DO auf Ebene 2, welche zu den angegebenen Typen 'Buch, Magazin, Zeitung' und dem Attribut 'Verlag' das selbe Metadatum besitzen

Fehleingabe vermeiden:

§istEindeutig('Verlag',2,2) Es wird eine Typeinschränkung (Parameter drei = 2) verlangt, ohne nachfolgende die gesuchten Typen zu nennen.

§KindNr

Diese Methode gibt zurück, das wievielte Kind das Objekt ist.

§KindNr()
Bsp: 
Das Objekt hat 5 Geschwister und ist als viertes erstellt worden. Somit gibt die Methode §KindNr 4 zurück.


§sortierungSignatur

Diese Methode gibt zurück, die Position des Objektes von allen Objekten mit der gleichen Signatur.

§sortierungSignatur()
Bsp: 
Gegeben:
Objekt 1 mit Signatur 'A'
Objekt 2 mit Signatur 'B'
Objekt 3 mit Sigantur 'A'
Objekt 4 mit Signatur 'A'
Objekt 5 mit Signatur 'C'

Wird zurückgegeben: 
Objekt 1 -> 1 (weil es das erste Objekt ist mit Signatur 'A')
Objekt 2 -> 1 (weil es das erste Objekt ist mit Signatur 'B')
Objekt 3 -> 2 (weil es das zweite Objekt ist mit Signatur 'A')
Objekt 4 -> 3 (weil es das dritte Objekt ist mit Signatur 'A')
Objekt 5 -> 1 (weil es das erste Objekt ist mit Signatur 'C')

§minX

Bevor diese Methode ausgeführt werden kann, muss der Schritt Files messen gemacht werden. Diese Methode gibt die kleinstmögliche Breite des Objektes nachdem die Files gemessen wurden an, grösser oder gleich dem Parameter. Es werden alle Files ausgewertet ausser PDFs. Die Methode erwartet eine Zahl als Pixel-Wert.

§minX(minimumPixel)
Bsp:
Objekt mit folgenden Files: auto.jpg (Breite: 100), baum.jpg (Breite:200), clown.jpg (Breite:110)
Methode §minX(105) gibt 110 zurück
Methode §minX(110) gibt 110 zurück
Methode §minX(150) gibt 200 zurück

§minY

Bevor diese Methode ausgeführt werden kann, muss der Schritt Files messen gemacht werden. Diese Methode gibt die kleinstmögliche Höhe des Objektes nachdem die Files gemessen wurden an, grösser oder gleich dem Parameter. Es werden alle Files ausgewertet ausser PDFs. Die Methode erwartet eine Zahl als Pixel-Wert.

§minY(minimumPixel)
Bsp:
Objekt mit folgenden Files: auto.jpg (Höhe: 100), baum.jpg (Höhe:200), clown.jpg (Höhe:110)
Methode §minY(105) gibt 110 zurück
Methode §minY(110) gibt 110 zurück
Methode §minY(150) gibt 200 zurück


§OCRTextRegion

Führt OCR auf einer bestimmen Seitennummer (einzelne Bild Datei!) in einer bestimmten Region aus, und gibt als Resultat den gefundenen Text zurück. Dieser Text lässt sich dann z.B. in ein Metadatum übertragen.

Die Seitennummer wird über die Sortierreihenfolge der Dateinamen im Dateisystem bestimmt. Es werden TIFF, JPG und PNG als Dateiformate unterstützt.

Die wählbare Region, welche eine rechteckige Selektion ist, wird über die Koordinaten X1,X2,Y1,Y2 in Pixel definiert. Wobei X1=linker Rand, X2=rechter Rand, Y1=oberer Rand, Y2=unterer Rand.

Wenn für die Koordinaten negative Werte eingesetzt werden, so werden die Positionen relativ zur Bildgrösse und ausgehend vom rechten oder unteren Bildrand berechnet!

§OCRTextRegion(Seite,X1,X2,Y1,Y2)


Bsp: Seite Nummer 5 (entspricht Datei Nummer 5). Bilddimensionen: 2663 Breite x 3603 Höhe

§OCRTextRegion(5,359,709,631,690)  -> entspricht einem Auswahlrechteck mit Abstand Links=359, Abstand oben=631, Breite=350, Höhe=59
§OCRTextRegion(5,-2304,709,-2972,690)  -> entspricht genau dem gleichen Auswahlrechteck mit Abstand Links=359, Abstand oben=631, Breite=350, Höhe=59  weil das Bild die gleiche Dimension besitzt!
§OCRTextRegion(5,-2304,-1954,-2972,-2913)  -> entspricht genau dem gleichen Auswahlrechteck mit Abstand Links=359, Abstand oben=631, Breite=350, Höhe=59 weil das Bild die gleiche Dimension besitzt!

§FileAnzahl

Diese Methode gibt dir Anzahl Dateien am aktuellen Datenschritt des Objektes zurück. Dabei werden alle Dateien auch in allen Unterordnern gezählt. Unsichtbare Dateien sowie die Ordner selbst zählen nicht.

§FileAnzahl()


§Hausnummer

Diese Methode formatiert einen Hausnummer.

§Hausnummer(Wert)

Beispiele:

12 -> 012
123 -> 123
12a -> 012a
2a -> 002a


Weitere Beispiele

§OCRMatchCount('Bericht')>0 ==> Falls das Wort Bericht mindestens 1 Mal gefunden wurde ist der Ausdruck wahr
§OCRMatchCount('[0-9][0-9][.]')=0 ==> Falls KEINE 2 stellige Zahl mit einem Punkt gefunden wird ist der Ausdruck wahr
§OCRMatchCount('[BelegName]')>2 ==> Falls der Wert des Attributes BelegName mehr als 2 mal gefunden wird ist der Ausdruck wahr
§OCRMatchCount('[BelegName]',1)>0 ==> Falls der Wert des Attributes BelegName mindestens einmal im OCR der Kindern gefunden wurde.