Filetest: Unterschied zwischen den Versionen

Aus Helper
Zur Navigation springen Zur Suche springen
(2969 Ergänzung)
(3459: Wiki erweitert)
 
(23 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 8: Zeile 8:
==Beschreibung==
==Beschreibung==
Besteht aus einem Serverjob OJOHZDOFiletest. Überprüft die Files auf ihre Richtigkeit. Das Ergebnis (0/1) kann in einem Attribut gespeichert werden. Falls ein Test fehlschlägt geht das Objekt zu zum roten Ausgang und im Fehlertext steht, welche Bedingung(en) nicht erfüllt wurde(n).
Besteht aus einem Serverjob OJOHZDOFiletest. Überprüft die Files auf ihre Richtigkeit. Das Ergebnis (0/1) kann in einem Attribut gespeichert werden. Falls ein Test fehlschlägt geht das Objekt zu zum roten Ausgang und im Fehlertext steht, welche Bedingung(en) nicht erfüllt wurde(n).
'''Grundsätzlich sind hier keine Formeln für die Werte möglich, mit Ausnahme:''' ''FileAnzahl''
===Konfiguration FileAnzahl===
Bei diesem Test werden die '''Dateien und Ordner''' im auf oberster Ebene im Objektordner gezählt. Die Dateien in (Unter-)Ordnern zählen nicht. Der Ordner 'Hilfsobjekte' zählt auch.
'''Zugriff auf Metadaten des Objektes, bzw. das einsetzen von Formel sind für diesen Test erlaubt.''' ''Das Metadatum ist wie üblich in eckigen Klammern zu nennen: [MetadatumMitAnzahl]''
===Konfiguration FileTyp===
Bei diesem Test wird jedes File im Objektordner mit konfigurierten Filetyp verglichen. Ordner werden (natürlich) nicht verglichen. Files in Unterordnern werden nur getestet, wenn 'Rekursiv' angekreuzt ist.


===Konfiguration BildformatXY===
===Konfiguration BildformatXY===
Zeile 139: Zeile 149:


Der Filetest beim Abschliessen eines clientseitigen Arbeitsschrittes ist nicht rekursiv.
Der Filetest beim Abschliessen eines clientseitigen Arbeitsschrittes ist nicht rekursiv.
== Dateinamen auf Regex überprüfen ==
Sie können den Dateinamen mithilfe eines Regex überprüfen lassen.
Wählen Sie dazu die Kondition "Dateiname" und den Operator "entspricht Regex", dann '''muss jedes File''' im Objektordner dem Regex entsprechen.
Wenn Sie "entspricht nicht Regex" wählen, dann '''darf kein File''' dem Regex entsprechen.
Tool um Regex zu schreiben: https://regex101.com
[[Datei:Filetest regexmatching.png|500px]]
==Barcodes finden==
Ermittelt, ob die Seiten einen Barcode besitzen. Ein bestimmer Suchwert für den Inhalt des Barcodes kann ebenfalls als Einschränkung mitgegeben werden.
Kann alle Seiten, oder nur die geraden, oder nur die ungeraden prüfen. Wenn wir hier von Seiten sprechen, dann sind damit einzelne Dateien gemeint, welche in der Regel eine einzelne Seite darstellen. Die Reihenfolge der nach Namen sortierten Dateien im Dateisystem legt dabei die Seitenzahl fest. Die erste Datei - Sortiernummer 1 - entspricht demnach einer ungeraden Seite. Datei achte Datei - Sortiernummer 8 - einer geraden Seite.
Unterstüzte Dateitypen - alle gängigen Bildformate.
'''Attribut:''' SeiteHatBarcodes
'''Operator Code:'''  ( = )
'''Wert:''' A/U/G/[Zahl]''','''Barcodeinhalt,Barcodetyp
A = alle Seiten, U = ungerade Seiten, G = gerade Seiten, [Zahl] = zB. 5 => Hat es auf der 5. Seite einen Barcode?
'''Bsp.:'''
1) Suche auf ungeraden Seiten nach einem Barcode: '''Wert = 1'''
2) Suche auf geraden Seiten (2) nach einem Barcode mit dem Wert 0783A-123: '''Wert = 2,0783A-123'''
'''Merke:''' Die Suche nach einem Wert funktioniert aktuell nur für den ersten gefundenen Barcode! Wenn es mehrere Barcodes auf der Seite gibt, wird jeweils der erste Ausgewertet.
Falls eine Zahl angegeben wird, kann der Barcodetyp definiert werden. In der anderen Fällen ist der Parameter nicht implementiert. Ebenfalls kann der Wert ein Regex sein, sofern eine Zahl definiert ist.


==Essentielle Felder==
==Essentielle Felder==

Aktuelle Version vom 13. März 2025, 12:03 Uhr

Mantiseinträge
 1526
 1822
Systemtyp
 18

Beschreibung

Besteht aus einem Serverjob OJOHZDOFiletest. Überprüft die Files auf ihre Richtigkeit. Das Ergebnis (0/1) kann in einem Attribut gespeichert werden. Falls ein Test fehlschlägt geht das Objekt zu zum roten Ausgang und im Fehlertext steht, welche Bedingung(en) nicht erfüllt wurde(n).

Grundsätzlich sind hier keine Formeln für die Werte möglich, mit Ausnahme: FileAnzahl

Konfiguration FileAnzahl

Bei diesem Test werden die Dateien und Ordner im auf oberster Ebene im Objektordner gezählt. Die Dateien in (Unter-)Ordnern zählen nicht. Der Ordner 'Hilfsobjekte' zählt auch.

Zugriff auf Metadaten des Objektes, bzw. das einsetzen von Formel sind für diesen Test erlaubt. Das Metadatum ist wie üblich in eckigen Klammern zu nennen: [MetadatumMitAnzahl]

Konfiguration FileTyp

Bei diesem Test wird jedes File im Objektordner mit konfigurierten Filetyp verglichen. Ordner werden (natürlich) nicht verglichen. Files in Unterordnern werden nur getestet, wenn 'Rekursiv' angekreuzt ist.

Konfiguration BildformatXY

Bei diesem Test können beide Seiten des Bildformats (X und Y) berücksichtigt werden.

  • Operator Codes können sein (>, *>, >>, *>>) Bzw. die Varianten für kleiner (<) und gleich (=)
  • >,= wenn eine Seite grösser/gleich als ihr entsprechender Maximalwert (xi > xs) | (yi > ys)
  • >>,== wenn beide Seiten grösser / gleich wie der entsprechende Maximalwert (xi > xs) & (yi > ys)
  • *>, *= wenn mindestens eine beliebige Seite grösser / gleich ist wie ein beliebiger Maximalwert
  • *>>, *== wenn je beide Seiten grösser / gleich wie ein beliebiger Maximalwert sind (Bildausrichtung gleich oder gedreht)

Der Vergleichswert wird geschrieben: 2000x3000

Konfiguration Farbraum

Bei diesem Test wird der Farbraum aus dem File gelesen. Typische Werte sind 'Gray' oder 'sRGB'. Bitte achten Sie auf Grosskleinschreibung.

Konfiguration Positions SW Histogramm

Bei diesem Test wird ein Histogramm in einem PDF / Bild generiert basierend auf einer bestimmten Position sowie einem Grössenbereich. Grundsätzlich wird immer von links oben aus gerechnet.

1. Parameter = Seite - zB 4 (Wird nur bei PDF's verwendet)
2. Parameter = Position X - zB 250 oder -150 (Bei Bildern in Pixel, bei PDF's in mm / Negative Zahlen werden von Rechts statt Links aus gerechnet)
3. Parameter = Position Y - zB 300 oder - 200 (Bei Bildern in Pixel, bei PDF's in mm / Negative Zahlen werden von Unten statt Oben aus gerechnet)
4. Parameter = Breite - zB 500 oder 25 % (Entweder Prozentangabe oder bei Bildern in Pixel, bei PDF's in mm)
5. Parameter = Höhe - zB 200 oder 15 % (Entweder Prozentangabe oder bei Bildern in Pixel, bei PDF's in mm)
6. Parameter = Helligkeitsgrenzwert - zB 150 (Werte von 0 - 255, wobei 0=Schwarz / 255 = Weiss)
7. Parameter = Prozent - zB 35% (Wie viel Prozent der Pixel müssen über oder unter der angegeben Helligkeit sein)

Hier ein komplettes Beispiel: "1,100,-150,140,5%,200,30%"

  • Es wird Seite 1 gemessen (falls es um ein PDF geht)
  • Es wird der folgende Bildausschnitt genommen: Annahme das Bild ist 1000x500px gross
    • Linke obere Ecke: 100/350 px. (350=500-150)
    • Grösse des Ausschnitts: 140x25 px. (25=5% von 500)
    • Rechte untere Ecke: 240/375 px.
  • Es wird folgende Formel evaluiert:
 (Pixelheller (als Grauwert 200) / TotaleAnzahlPixel) > oder < Prozent (30%).

Es werden also immer die helleren Pixel als der Helligkeitsgrenzwert gezählt und durch die totale Anzahl Pixel geteilt. Das Ergebnis wird mit dem Prozentsatz verglichen. Falls ein Wert nicht angegeben werden soll muss das Komma dennoch da stehen. Beispiel ohne die Angabe der Seite: ",100,-150,140,5%,200,30%".

Beispiele Bildausschnitt

  • Das ganze Bild (Seite 1) soll gemessen werden: "1,1,1,100%,100%..."
  • Links oben in der Ecke soll ein Quadrat von 100px gemessen werden: "1,1,1,100,100..."

Beispiele Helligkeit

  • Es darf fast keine (fast) schwarzen Pixel haben: > "...20, 98%" -> mehr als 98% der Pixel sollen heller sein als fast schwarz (Grauwert 20)
  • Es soll fast ganz weiss sein: > "...240, 99%" -> 99% der Pixel sollen heller als der Grauwert 240 sein (fast weiss)

Konfiguration Ist Extrem

Bei diesem Test wird jedes DO geprüft ob es nach der konfigurierten Weise extrem ist.

1. Parameter = Sortierfeld - Dieser Wert wird aufs "Extrem sein" geprüft. Muss ein AT-Name sein
2. Parameter = Selektionsfeld - Es werden nur DOs berücksichtig die den gleichen Wert im Selektionsfeld haben wie das DO welches gerade angeschaut wird. Muss ein AT-Name sein. Falls leer wird DO_DO_SEQ automatisch verwendet.
3. Parameter = Menge - Ab wann wird ein DO als Extrem beachtet? zB. 10

Hier ein komplettes Beispiel: "seitenanzahl,pdfname,10"
Ist das DO in den Top 10 mit den Seitenzahlen verglichen mit allen DOs welche denselben PDF Namen haben?

Konfiguration Pixeltiefe pro Kanal

Bei diesem Test wird die Anzahl Pixel pro Kanal aus dem File gelesen. Typische Werte sind 8 oder 16.

Konfiguration ICC Profile

Bei diesem Test wird aus dem File die Zeile icc:description gefiltert und der Text danach herausgelesen. Ein typischer Wert ist 'Adobe RGB (1998)'.

Sie können das Feld bei einem Bild auch auslesen:

 identify -verbose "Pfad zum Bild"

Suchen Sie nach der Zeile 'icc:description'

Dateigrösse

Bei diesem Test wird eine Dateigrösse in Bytes geprüft.

Operator Codes können sein (>,<).

SeitenAnzahl

Bei diese Test wird die Anzahl Seiten in einem PDF oder TIFF Dokument geprüft.

Operator Codes können sein (>,<,=,<>).

Allgemeine Metadaten von Bildformaten

Für die unten folgenden Konfigurationen kann für die gesuchten Werte auf diese Auflistungen von TAG Namen zurückgegriffen werden:

TAG Übersicht

EXIF Tags

IPTC Tags

XMP Tags

Suche nach leeren Tags

Falls nach leeren, bzw. fehlenden Werten gesucht werden soll, dann ist der Wertebereicht nach dem Komma leer zu lassen.

Bsp.: Kein Änderungsdatum vorhanden

Konfiguration Metadatum Text

Bei diesem Test wird ein TAG mit Textinhalt verglichen.

Operator Codes können sein (=, <>)

Bsp.: Gesucht wird der Hersteller des Aufnahmegerätes. Der entsprechende TAG heisst 'Make'. Der gesuchte Wert soll auf 'Canon' lauten.

Konfiguration Metadatum Zahl

Bei diesem Test wird ein TAG mit Zahleninhalt verglichen.

Operator Codes können sein (=, <>, >, >=, <, <=)

Bsp.: Gesucht wird nach der X Auflösung des Bildes. Der entsprechende TAG heisst 'XResolution'. Der gesuchte Wert soll grösser oder gleich 3500 sein.

Konfiguration Metadatum Datum

Bei diesem Test wird ein TAG mit Datumsinhalt verglichen.

Operator Codes können sein (=, <>, >, >=, <, <=)

Bsp.: Gesucht wird dem Änderungsdatum. Der entsprechende TAG heisst 'DateModify'. Der gesuchte Wert soll nach dem 23.03.2021 08:05:14 liegen.

Dateien auch in den Unterordnern prüfen

Soll auch in Unterordner geprüft werden, ist folgende Checkbox zu aktivieren:

Der Filetest beim Abschliessen eines clientseitigen Arbeitsschrittes ist nicht rekursiv.

Dateinamen auf Regex überprüfen

Sie können den Dateinamen mithilfe eines Regex überprüfen lassen. Wählen Sie dazu die Kondition "Dateiname" und den Operator "entspricht Regex", dann muss jedes File im Objektordner dem Regex entsprechen. Wenn Sie "entspricht nicht Regex" wählen, dann darf kein File dem Regex entsprechen.

Tool um Regex zu schreiben: https://regex101.com


Barcodes finden

Ermittelt, ob die Seiten einen Barcode besitzen. Ein bestimmer Suchwert für den Inhalt des Barcodes kann ebenfalls als Einschränkung mitgegeben werden.

Kann alle Seiten, oder nur die geraden, oder nur die ungeraden prüfen. Wenn wir hier von Seiten sprechen, dann sind damit einzelne Dateien gemeint, welche in der Regel eine einzelne Seite darstellen. Die Reihenfolge der nach Namen sortierten Dateien im Dateisystem legt dabei die Seitenzahl fest. Die erste Datei - Sortiernummer 1 - entspricht demnach einer ungeraden Seite. Datei achte Datei - Sortiernummer 8 - einer geraden Seite.

Unterstüzte Dateitypen - alle gängigen Bildformate.

Attribut: SeiteHatBarcodes

Operator Code: ( = )

Wert: A/U/G/[Zahl],Barcodeinhalt,Barcodetyp

A = alle Seiten, U = ungerade Seiten, G = gerade Seiten, [Zahl] = zB. 5 => Hat es auf der 5. Seite einen Barcode?

Bsp.:

1) Suche auf ungeraden Seiten nach einem Barcode: Wert = 1

2) Suche auf geraden Seiten (2) nach einem Barcode mit dem Wert 0783A-123: Wert = 2,0783A-123


Merke: Die Suche nach einem Wert funktioniert aktuell nur für den ersten gefundenen Barcode! Wenn es mehrere Barcodes auf der Seite gibt, wird jeweils der erste Ausgewertet.

Falls eine Zahl angegeben wird, kann der Barcodetyp definiert werden. In der anderen Fällen ist der Parameter nicht implementiert. Ebenfalls kann der Wert ein Regex sein, sofern eine Zahl definiert ist.

Essentielle Felder

 AR_FILETEST, HZ_FILETEST   Code kTab Attribut kTab Operator kTab Wert(e) kCR
 HZ_TESTERGEBNIS
 HZ_FILEVERHALTEN

Pane im Produktionsauftrag (FHK_Maske)