synOCR synOCR - GUI für OCRmyPDF

Stimmen alle Pfade in den Profilen? Hast du evtl. noch ein ungenutztes Profil auf "aktiviert" stehen?
Pfade stimmen, ein manueller Durchlauf bzw. durch den Aufgabenplaner funktioniert wie erwartet.

Profil habe ich nur eines. Habe das Standard genommen, angepasst und unbenannt
 
Pfade stimmen, ein manueller Durchlauf bzw. durch den Aufgabenplaner funktioniert wie erwartet.
Profil habe ich nur eines. Habe das Standard genommen, angepasst und unbenannt
  1. Welche synOCR-Version nutzt du? Die normale Releaseversion 1.4.5 oder eine Beta (1.4.99.x)?
  2. Hast du die beiden Button für "Monitoring neustarten" und "Monitoring beenden" dort bei der Sanduhr?
  3. kannst du die Aufgabe im Aufgabenplaner mal herausnehmen? Wenn sie unter "root" läuft, müsstest du sie mal mit dem Parameter stop (statt start) beenden und dann mal über den Button in der GUI starten.
  4. Im Logordner gibt es eine Datei "inotify.log". Das mir bitte mal schicken.
 
  1. Welche synOCR-Version nutzt du? Die normale Releaseversion 1.4.5 oder eine Beta (1.4.99.x)?
  2. Hast du die beiden Button für "Monitoring neustarten" und "Monitoring beenden" dort bei der Sanduhr?
  3. kannst du die Aufgabe im Aufgabenplaner mal herausnehmen? Wenn sie unter "root" läuft, müsstest du sie mal mit dem Parameter stop (statt start) beenden und dann mal über den Button in der GUI starten.
  4. Im Logordner gibt es eine Datei "inotify.log". Das mir bitte mal schicken.
1. Danke für deine Hilfe
1.a) 1.4.5
2) Ja
3) habe ich gemacht. Aktuell keine Veränderung
4) Wo finde ich diese?
 
@guidovg Auch eine schöne Lösung, aber für eine direkte Implementierung wahrscheinlich zu speziell. Bitte bedenke auch, dass im postscript nur die letzte Zuweisung der Variablen zur Verfügung steht, also in dem Fall nur der zuletzt zugewiesene Speicherort, falls die Datei mehrmals einsortiert wird.

Das ist auf jeden Fall sehr speziell. Ich hatte hier eben den Wunsch bzw. WAF, dass alles einfach über das iPad sichtbar sein soll. Und da ich eh schon viele PHP-Seiten für Family-Services gebaut habe, war das in der Form für uns stimmig.

Aber Deine Log-Datei gefällt mir auch sehr gut, vlt. greife ich die in Zukunft per Script ab, dann kann ich mir die Aufrufe per postscript sparen.
 
  • Like
Reaktionen: geimist
Hi @geimist und @guidovg , sehr cool, danke, das ging ja schnell :love:
Dann bin ich mal aufs nächste release gespannt - die php-lösung würde ich als laie so einfach wahrscheinlich nicht umgesetzt bekommen.
 
  • Like
Reaktionen: guidovg
Thema Leerseiten und die Empfindlichkeit.
Habe da heut mit „gespielt“. Ich will „strenger“ sein und habe den Standardwert von 50 versuchsweise auf 65, 75, 85 und 100 gestellt. Monitoring auch neu gestartet und die Versuchsdatei gleichbleibend vorliegendes Original, immer wieder reinkopiert, sodass synOCR was machen muss.
Ergebnis: Keine Änderung. Die „Leerseite“ wurde sozusagen nicht eliminiert. Falls gewünscht, kann ich die besagte Datei zur Verfügung stellen. Allerdings sollte man das vielleicht nicht völlig ausarten lassen.
 
Vielleicht liegt es ja auch an fälschlich erkannten Buchstaben (Durchscheinen der Rückseite). Du kannst es mir gern mal schicken.
 
Hi!

Mal wieder eine Herausforderung.

Mein Zielverzeichnis ist bspw.
volume2/homes/@DH-OURHOME/0/michael-1105/##Dokumente/Schöffenwahl/2025'

Der Postscript-Befehl zum Umbenennen und zum Verschieben der finalen PDF ins o.g. Verzeichnis:
YAML:
postscript: year=$(echo "$(( ${date_yy} ))") && targetpath="/volume2/homes/@DH-OURHOME/0/michael-1105/##Dokumente/Schöffenwahl/${year}" targetfile="$(echo "${output##*/}" | sed -E 's/([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{4})/\3-\2-\1/g' )" && mkdir -p "${targetpath}" && mv "${output}" "${targetpath}/${targetfile}"

Die YML-Datei ist UTF-8 mit Unix LF, sagt zumindest Notepad++.

Ich bekomme den folgenden Fehler und offensichtlich kann synOCR(?) nichts mit den dt. Umlauten wie dem Buchstaben 'ö' anfangen, wenn ich dies richtig interpretiere.

➜ postscript_LANDGERICHT_004_091736380
mkdir: cannot create directory 'volume2/homes/@DH-OURHOME/0/michael-1105/##Dokumente/Sch\303\266ffenwahl/2025': No such file or directory
ERROR at line 2512: eval "${cmd}"
Gibts da einen Workaround?

Edit: Es funktioniert jetzt, aber fragt mich bitte nicht warum. Ich habe zwar noch ein wenig mit den Klammern und Anführungszeichen " Probleme gehabt, aber jetzts gehts ;) Habe den BEfehl oben durch den funktionierenden erstetzt, als Referenz....

Noch eine generelle Frage zu der YML-Datei:
Ich habe oben im Coding, zur besseren Lesbarkeit, Zeilenumbrüche eingefügt, kann ich gleiches direkt auch in der YML-Datei machen? Aktuell leidet die Lesbarkeit bei diesem Monster-Befehle nämlich etwas. Selbst auf einem 32" Screen kann ich nicht mehr die komplette Zeile darstellen.

Habe da bereits versucht dies wie folgt zu erschlagen, aber dann wird überhaupt kein Postscript mehr ausgeführt, man beachte die Zeichenfolge ">-" zu Beginn:

YAML:
postscript: >-
 year=$(echo "$(( ${date_yy} ))")
 && targetpath="/volume2/homes/@DH-OURHOME/0/michael-1105/##Dokumente/Schöffenwahl/${year}" targetfile="$(echo "${output##*/}" | sed -E 's/([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{4})/\3-\2-\1/g' )"
 && mkdir -p "${targetpath}"
 && mv "${output}" "${targetpath}/${targetfile}"
 
Zuletzt bearbeitet:
Gibts da einen Workaround?
Eigentlich funktioniert das. Hab es gerade nochmal probiert.
Ist im DSM auch die Lokaleinstellung korrekt. Das kann manchmal tricky sein.

Ich habe oben im Coding, zur besseren Lesbarkeit, Zeilenumbrüche eingefügt, kann ich gleiches direkt auch in der YML-Datei machen? Aktuell leidet die Lesbarkeit bei diesem Monster-Befehle nämlich etwas. Selbst auf einem 32" Screen kann ich nicht mehr die komplette Zeile darstellen.
Nein, die erste Zeile kannst du aber rausnehmen. Da es die Variable $date_yy ja schon gibt, musst du sie nicht erst in eine neue Variable $year umschreiben.

Bash:
postcript: targetpath="volume2/homes/@DH-OURHOME/0/michael-1105/##Dokumente/Schöffenwahl/${date_yy}"
&& newtargetfile="$(echo "${output##*/}" | sed -E 's/([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{4})/\3-\2-\1/g')"
&& mkdir "${targetpath}"
&& mv "${output}" "${targetpath}/${newtargetfile}"
 
  • Like
Reaktionen: Yippie
Es funktioniert mittlerweil problemlos, habe mein Posting per Edit ergänzt.

Ich weiß, dass date_yy existiert, ich wollte die Variable erstens der besseren Lesbarkeit als year haben und zweitens damit auch etwas kürzer. Ja, darüber kann man jetzt diskutieren ;-)

Hast du vielleicht noch einen Tipp bezüglich der Zeilnumbrüche?
 
Ich habe es nie mit Zeilenumbrüchen getestet. Das Internet sagt, dass es so gehen könnte:
YAML:
text: >
  Dies ist eine mehrzeilige
  Zeichenkette, aber die Zeilenumbrüche
  werden durch Leerzeichen ersetzt.

Intern wird YAML nach JSON konvertiert. Ob das auf diese Art funktioniert kannst du ja mal testen :)
 
  • Like
Reaktionen: Yippie
Das hatte ich tatsächlich auch schon ausprobiert, hat aber nicht funktioniert, jetzt aber schon
:ROFLMAO:
 
  • Haha
Reaktionen: geimist
Nächste Frage, man merkt ich automatisiere gerade viel mit der YML-Datei ;)

Wenn ich in einem Shell-Script auf der Synology folgendes ausführe, am Ende der SED-Anweisung bzw. des RegEx dort, fehlt das "g"!

Also nach "/" folgt kein "g" mehr wie in anderen Beispielen hier im Forum.
Bash:
output="12.05.2025 michael zum 12.09.2025.pdf"
echo "Renaming:     $(echo "${output}" | sed -E 's/([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{4})/\3-\2-\1/')""

Dann bekomme ich als Ausgabe folgendes, nur das erste Datum wird umgebaut!
Renaming: 2025-05-12 michael zum 12.09.2025.pdf

Wenn ich den gleichen SED-Befehl 1:1 in der YML-Datei verwende, dann ist im neuen Dateinamen sowohl das erste als auch das zweite Datum umgebaut worden:
Renaming: 2025-05-12 michael zum 2025-09-12.pdf
Ich will jedoch bewusst nur das erste Datum formatieren.

Wie kommt das? Verwendet synOCR nicht den SED-Befehl der Shell? Denke nicht, denn offenbar wird lt. Protokoll ja ${cmd} ausgeführt.
 
Es wird ganz normal auf der Shell ausgeführt, in der auch das SPK läuft. In der Variable ${cmd} stehen die gesammelten Shellkommandos drin.
Um zu prüfen, welches sed verwendet wird, kannst du ja mal als Postscript which sed probieren. Im Log findest du dann den Pfad zum verwendeten sed.
 
  • Like
Reaktionen: Yippie
Alles gut, war mein Fehler!

Ich habe SED verwendet, obwohls es nichts mehr am Dateinamen umzustellen gab, die Datumsformate waren bereits so wie sie sein sollten und dann habe ich überflüssigerweise SED drüberlaufen lassen welches mir die beiden Datums im Nachgang wieder "zerstört" hat.
 
  • Like
Reaktionen: geimist
Ich habe die Tage das Update des Container Managers auf 24.0.2-1535 gemacht; jetzt habe ich beim Scannen teilweise Probleme mit synOCR gehabt und unter anderem damit experimentiert, den Parameter --pdf-renderer hocr mitzugeben als auch das OCRmyPDF-Image mal auf 16.x anzupassen.

Seitdem bekomme ich allerdings bei jedem Beenden des synOCR-Containers eine „Fehlermeldung“, obwohl das ja das gewünschte Verhalten ist, dass der Container für das OCRen startet und danach beendet wird. Hat jemand eine Lösung, diese Meldung zu deaktivieren, am besten nur im synOCR/OCRmyPDF-Container?
 
Ich habe SynOCR installiert, funktioniert so weit wunderbar, allerdings erschlagen mich die Möglichkeiten bei den Regeln etwas. Deshalb hier eine Anfrage für mein erstes Projekt.

Ich habe Lohnabrechnungen von meiner Frau, der erste zu suchende Begriff lautet Verdienstabrechnung
Dann kommt mein Problem, es stehen zwei komplette Datums drin, die müssen aber ignoriert werden.
Davor steht z. B. 01.2025/01 wenn ich die komplette Zeile kopiere findet er direkt davor
"KÖRPERBEHINDERTE ALLGÄU gi " (habs in Anführungszeichen gesetzt wegen Leerzeichen)
Problem könnte hier das "i" sein, das hat er dahin interpretiert.

Alternativ hätte ich weiter unten noch das hier stehen:
Abrechnungsmonat 01|25/01
Hier ist der "|" eigentlich nicht vorhanden, da ist ein senkrechter Strich von einer Tabelle und ein .
Muss mal nochmal versuchen, wenn ich de Scanner mit mehr Auflösung scannen lasse.

Zwei Sachen sollten jetzt passieren, die Datei soll in den Ordner Outbox/M/Lohnabrechnung
und soll in JAHRMONAT_Lohnabrechnung umbenannt werden.
Das Datum von der Datei wäre cool wenn das auch passend gesetzt wird, ist aber nicht wichtig, wenn der Name passt.

Schon mal Danke für de Starthilfe

Grüße
Stefan
 
Hallo Stefan,
willkommen in unserem Forum.
Zuerst mal eine Frage zum Verständnis: Du verwendest eine YAML Datei zur Suche, richtig? Oder trägst Du die Suchbegriffe in das Feld "zu suchende Tags" im GUI ein ?

Gruß Karsten
 

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat