synOCR synOCR - GUI für OCRmyPDF

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.563
Punkte für Reaktionen
1.389
Punkte
234
Der einzige Unterschied ist der, dass Quelldateien SOFORT abgearbeitet werden. Einigen Usern ist dies lieber, als ein enges Aufrufintervall …
Mitteilungen werden wie bisher konfiguriert.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Monacum und Gthorsten

psychochicken80

Benutzer
Mitglied seit
17. Mrz 2022
Beiträge
8
Punkte für Reaktionen
1
Punkte
53
Hallo zusammen!
Ich hätte folgenden Änderungsvorschlag für das ermittelte OCR-Datum: Es gibt ja schon die Option Daten auszuschließen, z.B. Geburtsdaten, Vertragsbeginndaten etc. Ich würde an dieser Stelle gerne einen kleinen schlauen Algorithmus implementieren, der ein Datum wählt, das am dichtesten am aktuelle Tagesdatum in der Vergangenheit liegt. Ich scanne meine Post ca. 1x pro Woche und da wäre diese Vorgehen total praktisch.
Es werden ja offenbar schon mehrere Daten gefunden: "Dates found: 10", die dann wohl der Reihe nach geprüft werden? Kann mich jemand auf die Codestelle stupsen, dann würde ich mir das gerne einmal ansehen. Sicherlich wäre es auch sinnvoll, dieses Vorgehen in der GUI ein- und abschaltbar zu machen.
Viele Grüße,
Stefan
 
  • Like
Reaktionen: 206HDI

Gthorsten

Benutzer
Mitglied seit
22. Mai 2021
Beiträge
151
Punkte für Reaktionen
42
Punkte
28
Hallo, der Teil der sich mit dem finden des Datums beschäftigt wird gerade überarbeitet.
Es soll ein python skript verwendet werden.
Die Idee an sich ist ja nicht schlecht. Müsste Stefan mal überlegen ob das auf die Liste kommt. Ich arbeite gerade an dem Skript...
 
Zuletzt bearbeitet von einem Moderator:

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.563
Punkte für Reaktionen
1.389
Punkte
234
Hallo @psychochicken80,
Ich würde an dieser Stelle gerne einen kleinen schlauen Algorithmus implementieren, der ein Datum wählt, das am dichtesten am aktuelle Tagesdatum in der Vergangenheit liegt.
Vielen Dank für deinen Input. Das klingt doch nach einer guten Idee.

Kann mich jemand auf die Codestelle stupsen, dann würde ich mir das gerne einmal ansehen.
Hier findest du die Funktion zum Auslesen des Datums: HIER ab Zeile 871 in synOCR.sh
Der neue Code von @Gthorsten ist dort noch nicht sichtbar, sondern lediglich die ursprüngliche Regexversion (welche auch noch gutes Potenzial nach oben hat).

Müsste Stefan mal überlegen ob das auf die Liste kommt.
Gerne doch. GUI-Schalter sind ja kein Problem.
 

Gthorsten

Benutzer
Mitglied seit
22. Mai 2021
Beiträge
151
Punkte für Reaktionen
42
Punkte
28
Ich baue das direkt mit ein. Also alle gefundenen Daten, die nicht in der Blacklist stehen, werden auf das aktuelle Datum kontrolliert. Das Datum was als nächstes am. Aktuellen ist word genommen
 
Zuletzt bearbeitet von einem Moderator:

psychochicken80

Benutzer
Mitglied seit
17. Mrz 2022
Beiträge
8
Punkte für Reaktionen
1
Punkte
53
Das klingt sehr gut. Wichtig wäre noch, dass das Datum nicht in der Zukunft liegen sollte.
 
Zuletzt bearbeitet von einem Moderator:

Gthorsten

Benutzer
Mitglied seit
22. Mai 2021
Beiträge
151
Punkte für Reaktionen
42
Punkte
28
Yes....
 
Zuletzt bearbeitet von einem Moderator:

mf_2

Benutzer
Mitglied seit
31. Aug 2008
Beiträge
152
Punkte für Reaktionen
4
Punkte
18
@geimist
Ich habe mich mal wieder meiner synOCR Installation auf meiner RS819 gewidmet. Damals hattest du ja das Paket so angepasst, dass es auf der arm-Architektur läuft. Allerdings musste für arm der Seitenzählen via pdfinfo dran glauben, weil es damals kein pdfinfo für arm gab.
Ich habe nun einmal recherchiert und es scheint es innerhalb eines PDF toolkits zu geben:
https://ubuntu.pkgs.org/20.04/ubuntu-main-arm64/poppler-utils_0.86.1-0ubuntu1_arm64.deb.html
Kann man es dort raus extrahieren, sodass du es auch für arm im spk bereitstellen kannst?
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.563
Punkte für Reaktionen
1.389
Punkte
234
Da bräuchte ich deine Hilfe. Ich kann das bei mir nicht testen. Wichtig wäre, dass es statisch kompiliert ist - d.h., alle Abhängigkeiten sind in dem Programm enthalten. Wenn du also ein einzelnes Programm pdfinfo auf der Shell ansprechen kannst, geht es.

Zu deiner Quelle:
Als Abhängigkeit ist dort u.a. libpoppler97 gelistet. Da haben wir also wieder Abhängigkeiten.
 

mf_2

Benutzer
Mitglied seit
31. Aug 2008
Beiträge
152
Punkte für Reaktionen
4
Punkte
18
Prüfe ich gleich, allerdings bin ich über noch ein Problem gestolpert.
Mittlerweile bin ich auf DSM7 und habe den Docker nochmal neu installiert.
Auch synOCR habe ich gelöscht und dann das DSM7 Package neu installiert.
Nun wollte ich das Skript aus dem Aufgabenplaner einmalig ausführen.
Ich bekomme folgende Meldung:

synOCR run at DSM7 or above
➜ check admin permissions: ok
➜ check docker group and permissions: ok [docker:x:65538:synOCR]
chmod: changing permissions of './etc/synOCR.sqlite': Operation not permitted
synOCR wurde gestartet ...
Bitte warten, bis die Dateien fertig abgearbeitet wurden.

Wie bekomme ich das "Operation not permitted" weg?
Im synOCR Log gibt es leider auch haufenweise Fehler:

----------------------------------
| ==> Funktionsaufrufe <== |
----------------------------------
➜ update image [jbarlow83/ocrmypdf:latest] ➜ Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/images/create?fromImage=jbarlow83%2Focrmypdf&tag=latest: dial unix /var/run/docker.sock: connect: permission denied
ERROR at line 270: updatelog=$(docker pull $dockercontainer)
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/images/json?filters=%7B%22dangling%22%3A%7B%22true%22%3Atrue%7D%7D: dial unix /var/run/docker.sock: connect: permission denied
ERROR at line 273: log_purge=$([[ $(docker images -f "dangling=true" --format "{{.ID}}:{{.Repository}}:{{.Tag}}" | grep "ocrmypdf") ]] && docker rmi -f $(docker images -f "dangling=true" --format "{{.ID}}:{{.Repository}}:{{.Tag}}" | grep "ocrmypdf" | awk -F: '{print $1}'))
Error: attempt to write a readonly database
ERROR at line 278: sqlite3 "./etc/synOCR.sqlite" "UPDATE dockerupdate SET date_checked='$check_date' WHERE image='$dockercontainer' "
ERROR - with pdfinfo / exiftool - $pagecount was set to 0

PROCESSING: ➜ img20220316_13390741.pdf (Fri Mar 18 15:02:30 CET 2022)
temp. target file: /tmp/tmp.gnvpxCEDAc/img20220316_13390741.pdf

➜ OCRmyPDF-LOG:
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/create?name=synOCR: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
← OCRmyPDF-LOG-END

┖➜ failed! (target file is empty or not available)
ERROR - with pdfinfo / exiftool - $pagecount was set to 0

PROCESSING: ➜ img20220316_13403470.pdf (Fri Mar 18 15:02:33 CET 2022)
temp. target file: /tmp/tmp.A6VkSY7LoM/img20220316_13403470.pdf

➜ OCRmyPDF-LOG:
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/create?name=synOCR: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
← OCRmyPDF-LOG-END

┖➜ failed! (target file is empty or not available)
ERROR - with pdfinfo / exiftool - $pagecount was set to 0

PROCESSING: ➜ img20220316_13395582.pdf (Fri Mar 18 15:02:35 CET 2022)
temp. target file: /tmp/tmp.mY2Y4TM4Yi/img20220316_13395582.pdf

➜ OCRmyPDF-LOG:
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/create?name=synOCR: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
← OCRmyPDF-LOG-END

┖➜ failed! (target file is empty or not available)
ERROR - with pdfinfo / exiftool - $pagecount was set to 0

PROCESSING: ➜ img20220318_14391363.pdf (Fri Mar 18 15:02:37 CET 2022)
temp. target file: /tmp/tmp.37glilEi2R/img20220318_14391363.pdf

➜ OCRmyPDF-LOG:
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/create?name=synOCR: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
← OCRmyPDF-LOG-END

┖➜ failed! (target file is empty or not available)
➜ purge logfiles:
➜ purge backup deactivated



-----------------------------------
| ==> synOCR ENDE <== |
-----------------------------------

Woran liegen diese Fehler? Ist noch was am Docker kaputt oder ist es ein Thema des synOCR?
 
Zuletzt bearbeitet von einem Moderator:

mf_2

Benutzer
Mitglied seit
31. Aug 2008
Beiträge
152
Punkte für Reaktionen
4
Punkte
18
admin. "root" sehe ich dort leider nicht.
 
Zuletzt bearbeitet von einem Moderator:

mf_2

Benutzer
Mitglied seit
31. Aug 2008
Beiträge
152
Punkte für Reaktionen
4
Punkte
18
Danke, ich musste in der Liste hochscrollen. Jetzt konnte ich es ausführen und es sieht besser aus:

synOCR run at DSM7 or above
➜ check admin permissions: ok
➜ check docker group and permissions: ok [docker:x:65538:synOCR]
synOCR wurde gestartet ...
Bitte warten, bis die Dateien fertig abgearbeitet wurden.

Im synOCR Log habe ich aber nach wie vor dieselben Fehler wie im oberen Beitrag. Ich vermute, dass meine Docker-Installation unter DSM7 nicht korrekt funktioniert, da ich "docker" auf der Kommandozeile auch nicht sauber aufrufen kann. Hast du hierzu Erfahrungen auf arm-Synos?
 
Zuletzt bearbeitet von einem Moderator:

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.563
Punkte für Reaktionen
1.389
Punkte
234
Hast du hierzu Erfahrungen auf arm-Synos?
Sorry, mangels ARM64 Hardware kann ich gar nichts dazu beitragen. Guck mal im Thread, ob du noch andere User findest, die du vielleicht fragen kannst.
Vielleicht findest du mehr Hilfe in einem eigenen Thread.
 

mf_2

Benutzer
Mitglied seit
31. Aug 2008
Beiträge
152
Punkte für Reaktionen
4
Punkte
18
Nun laufen Docker und Portainer wieder. Mit pdfinfo komme ich nicht weiter. Aber ich habe gerade das hier in den Releasenotes von synOCR gefunden:

1.1.2 [2021-04-21]
BUGFIXES:
- an error when the page counter could not be calculated.
IMPROVEMENT:
- counter for processed pages at aarch64 are now possible if Exiftool is installed

Dann suche ich einfach mal nach dem Exiftool.
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.563
Punkte für Reaktionen
1.389
Punkte
234
Dann suche ich einfach mal nach dem Exiftool.
Das entsprechende Paket läuft meines Wissens nach auch (noch) nicht auf >DSM7. Es gab hier im Thread aber schon eine manuelle Installationsanleitung für Exiftool auf DSM7.
 

mf_2

Benutzer
Mitglied seit
31. Aug 2008
Beiträge
152
Punkte für Reaktionen
4
Punkte
18
Habe ich auch gerade gefunden und installiert. Exiftool läuft nun (musste Perl noch installieren, aber das gibt es wiederum schon als DSM7 Package).
Nun bekomme ich dennoch folgenden Fehler:

----------------------------------
| ==> Funktionsaufrufe <== |
----------------------------------
ERROR - with pdfinfo / exiftool - $pagecount was set to 0

PROCESSING: ➜ img20220318_14391363.pdf (Sat Mar 19 13:56:19 CET 2022)
temp. target file: /tmp/tmp.kHRLKTgfh1/img20220318_14391363.pdf

[...]
➜ edit metadata FAILED! - exiftool not found! Please install it over cphub.net if you need it

Woran kann man erkennen, was genau nicht passt? Über cphub kann ich exiftool ja nicht installieren.
Über ssh kann ich es aber aufrufen, es ist also auch in PATH drin.
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.563
Punkte für Reaktionen
1.389
Punkte
234
Wo liegt jetzt nach deiner Installation das Programm exiftool?
Ich vermute, dass es noch nicht in der Pathvariablen aufgenommen ist. Kannst du dich mal auf der Konsole der DS einloggen und which exiftool absetzen?
 

mf_2

Benutzer
Mitglied seit
31. Aug 2008
Beiträge
152
Punkte für Reaktionen
4
Punkte
18
"which exiftool" gibt das zurück:
/usr/share/applications/ExifTool/exiftool
In PATH ist es drin. Ich kann es aus einem beliebigen Verzeichnis heraus via SSH aufrufen.
Muss ich die Syno neu starten, damit es in synOCR auch klappt oder sollte das nicht nötig sein?
 


 

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