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
Danke @Struppix

Damit ist also ein Teil des Tag vor dem Datum und ein Teil danach.
Das geht nur mit (mindestens) zwei Regeln.
  1. In den 1. Tagnamen kann man auch die Datumsvariablen hinzufügen.
    Versicherung A §yocr-§mocr-§docr
  2. In den 2. Tagnamen dann noch das, was danach greifen soll.
    Infoschreiben
Oder du erstellst dir halt kombinierte Regeln für alle gewünschten Kombinationen. Dann reicht auch jeweils eine.

Die Umbenennungssyntax in der GUI müsste dann leer bleiben.

Kann ich die Uhrzeit einstellen die verwendet wird beim Dateidatum korrigieren?
Nein. Ich habe die Uhrzeit bewusst nicht als Variable implementiert, weil ich keinen praktischen Nutzen dafür gesehen habe.
  • Bei der OCR-Suche im Dokument gibt es in der Regel keine entsprechenden Parameter.
  • Das Dateidatum ist in der Regel der Zeitpunkt des Scannens, welcher wiederum aus meiner Sicht für dir Archivierung irrelevant ist.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: nlsn

DeeKay1

Benutzer
Mitglied seit
20. Jun 2020
Beiträge
100
Punkte für Reaktionen
23
Punkte
24
Olá. Ich muss nochmal kurz zu der Datumsthematik zurückkommen.
Die alphanumerische Datumssuche unterstützt 2- und 4-stellige Jahreszahlen mittels (\d{4}|\d{2})
1697388445710.png

Ist es Absicht, dass die rein numerische Datumssuche hingegen nur 4-stellige Jahreszahlen unterstützt?

Für den regex_long_date möchte ich auch nochmals auf die Verwendung von \b statt \s? am Anfang drängen.
Testfall-Zeile: 91054 Erlangen 30. März 2023

Ergebnis mit \s?: 1697389392570.png

Ergebnis mit \b: 1697389407023.png
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Yippie

nlsn

Benutzer
Mitglied seit
11. Feb 2018
Beiträge
2
Punkte für Reaktionen
1
Punkte
53
  1. In den 1. Tagnamen kann man auch die Datumsvariablen hinzufügen.
    Versicherung A §yocr-§mocr-§docr
Der Hinweis war genau das was ich dafür gebraucht habe. Super, vielen Dank

Nein. Ich habe die Uhrzeit bewusst nicht als Variable implementiert, weil ich keinen praktischen Nutzen dafür gesehen habe.
Ok, das ist auch nicht wirklich relevant. Bisher habe ich eine andere Uhrzeit genutzt, daher die Frage.
 
  • Like
Reaktionen: geimist

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.563
Punkte für Reaktionen
1.389
Punkte
234

bleiki

Benutzer
Mitglied seit
16. Okt 2023
Beiträge
1
Punkte für Reaktionen
0
Punkte
1
Hallo in die RUnde. Ich habe ein problem und verzweifele. Ich habe alles nach Anletung installiert, bekomme aber bei der Ausführung des Skripts folgende Fehlermeldungen:

synOCR run at DSM7 or above
➜ check docker group and permissions: create group docker ...
Lastest SynoErr=[group_set.c:507]
SYNOLocalAccountGroupSet failed, synoerr=0x1700
chown: invalid group: ‘root:docker’
Group Name: [Docker]
Group Type: [AUTH_LOCAL]
Group ID: [65537]
Group Members:
0:[synOCR]
➜ check admin permissions: ok
synOCR wurde gestartet ...
Bitte warten, bis die Dateien fertig abgearbeitet wurden.

Leider kommt bei der synOCR-Oberfläche immer noch die Meldung mit den fehlenden Berechtigungen.

Was muss ich tun...

Danke Euch für Eure Hilfe
 

Das_Elli

Benutzer
Mitglied seit
17. Okt 2023
Beiträge
3
Punkte für Reaktionen
2
Punkte
53
Hallo Stephan,
ich versuche aktuell das Skript für einmalig OCR auf eine hierachische Verzeichnisstruktur mit PDF-Dateien anzuwenden.

genommen habe ich diese Datei:
https://github.com/geimist/synOCR/blob/master/recursive_inputdir_workflow.sh

entsprechend der Anleitung hochgeladen und angepasst
https://www.synology-forum.de/threads/synocr-gui-fuer-ocrmypdf.99647/page-47#post-879535

Die Dateien werden gesammelt, umbenannt und verschoben -> funktioniert. SynOCR anschließend auch alles OK.

Aber meine Indexdatei (multidir_workflow_INDEX.txt ist/bleibt immer leer und hat somit nur 0Byte, keine Inhalt; dadurch scheitert (vermutlich) der Rücktransport.

Also die Datei existiert nach dem ersten Start im gleichen Verzeichnis wie das Programm und wird auch nach dem zweiten Start umbenannt -> hat aber immer nur "0Byte".

Gruß Martin
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.563
Punkte für Reaktionen
1.389
Punkte
234
Zunächst ein herzliches Willkommen @Das_Elli hier im Forum :)

Die entsprechende Zeile (56) war an der entsprechenden Zeile auskommentiert. Warum? Ich kann es dir leider nicht sagen - wahrscheinlich hing es mit einem Test zusammen. Sorry. Aber warum ist das bisher niemandem aufgefallen?

Du kannst dir die aktuelle Version herunterladen oder entfernst einfach selbst das Rautezeichen in der Zeile 56 (von so
echo "${ID}§_§${FILEPATH}§_§${FILENAME}" #>> "${INDEXFILE}"
auf so
echo "${ID}§_§${FILEPATH}§_§${FILENAME}" >> "${INDEXFILE}" ).

Hast du wie angeraten mit einem Testverzeichnis gearbeitet und / oder ein Backup deines Quellverzeichnisses erstellt?
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Das_Elli

Das_Elli

Benutzer
Mitglied seit
17. Okt 2023
Beiträge
3
Punkte für Reaktionen
2
Punkte
53
Die entsprechende Zeile war an der entsprechenden Zeile auskommentiert. Warum? Ich kann es dir leider nicht sagen - wahrscheinlich hing es mit einem Test zusammen. Sorry. Aber warum ist das bisher niemandem aufgefallen?
Warum Sorry? Danke für Dein Know-How. Du hast den Code auch hier (https://git.geimist.eu/geimist/synOCR/src/branch/master) noch veröffentlicht; dort ist das Rautezeichen an der Stelle (dort z.Zt. Zeile 58) nicht enthalten. - Vielleicht ist das eine Möglichkeit das es bisher nicht auffiel?

Weil der Änderungsindex in Github, mein Link oben, jünger war (github war 5 Monate bis zu Deiner heutigen Korrektur; bei git.geimist.eu war/ist letzte Anpassung >1 Jahr) habe ich github genommen.

Du kannst dir die aktuelle Version herunterladen oder entfernst einfach selbst das Rautezeichen in der Zeile 56 (von so
echo "${ID}§_§${FILEPATH}§_§${FILENAME}" #>> "${INDEXFILE}"
auf so
echo "${ID}§_§${FILEPATH}§_§${FILENAME}" >> "${INDEXFILE}" ).
Habe es manuell geändert. -> Index-Datei hat jetzt Inhalte.

Hast du wie angeraten mit einem Testverzeichnis gearbeitet und / oder ein Backup deines Quellverzeichnisses erstellt?
Testverzeichnis aus einem aktuellen Backup

Dann lasse ich heute Nacht mal synOCR in Ruhe drüber laufen und teste morgen den Rücktransport. Melde mich dann nochmal.

Gruß Martin
 
  • Like
Reaktionen: geimist

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.563
Punkte für Reaktionen
1.389
Punkte
234
  • Like
Reaktionen: Das_Elli

DeeKay1

Benutzer
Mitglied seit
20. Jun 2020
Beiträge
100
Punkte für Reaktionen
23
Punkte
24
Dazu wird bestimmt @Gthorsten was sagen können, sobald er dafür Zeit hat …
Sicher, keine Eile. Ich habs zwischenzeitlich bei mir lokal angepasst um zu kucken wie es läuft.

@Gthorsten: Wäre es auch von deiner Seite möglich den Aufruf von search_alpha_numeric_dates und zu tauschen.
1697573955870.png

Eventuell liegt das nur an meinen PDFs aber ich hab häufiger mal solche Zeilen:
26.08.08 August 2008 28

Wenn nun search_alpha_numeric_dates zuerst aufgerufen wird, wird, selbst mit meiner oben genannte Regex-Änderung, immer noch 08 August 2008 als (erstes) Datum erkannt, anstatt 26.08.2008.
Da ich für das Tagging in den Settings das "erste Datum" gewählt habe, werden die PDFs dann falsch benannt.
 

Das_Elli

Benutzer
Mitglied seit
17. Okt 2023
Beiträge
3
Punkte für Reaktionen
2
Punkte
53
Dann lasse ich heute Nacht mal synOCR in Ruhe drüber laufen und teste morgen den Rücktransport. Melde mich dann nochmal.
Einzige Sache wo ich dran denken und drauf achten muss ist, dass ich das "Fehlerverzeichnis" vor dem Rücktransport nochmal anschaue. Beim Test war es nur eine Datei, aber ich vermute in der großen Gesamtheit dürften es wesentlich mehr Dateien sein die ein ERROR auslösen.

Beim Test war der Fehler (EncryptedPdfError: Input PDF is encrypted. The encryption must be removed to perform OCR.) -> Vordruckformular einer Versicherungsgesellschaft; das ist aber vorher schon durchsuchbar gewesen. Konnte ich somit einfach in das "OUTPUT-"Verzeichnis kopieren.

Das Skript zum Verschieben funktioniert, soweit ich das für mich beurteilen kann, einwandfrei. :)


Interessant finde ich in Bezug auf den OCR-Vorgang, dass einige Dateien welche vorher schon durchsuchbar gewesen nach synOCR kleiner geworden sind (vorher 771kb, danach 494kb). Eher werden die Dateien ja größer.
 
  • Like
Reaktionen: geimist

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.563
Punkte für Reaktionen
1.389
Punkte
234
Interessant finde ich in Bezug auf den OCR-Vorgang, dass einige Dateien welche vorher schon durchsuchbar gewesen nach synOCR kleiner geworden sind (vorher 771kb, danach 494kb). Eher werden die Dateien ja größer.
Es gibt ja verschiedene Optimierungsmöglichkeiten, die OCRmyPDF mit durchführen kann. Steuern kannst du das über die Parameter.
Ich scanne fast immer in schwarzweiß. Damit ist eine einfache DIN A4 Seite oft kleiner als 50kB.
 

Yippie

Benutzer
Mitglied seit
01. Feb 2011
Beiträge
643
Punkte für Reaktionen
55
Punkte
54
Das Skript zum Verschieben funktioniert, soweit ich das für mich beurteilen kann, einwandfrei. :)
Aus Interesse (was denn sonst :p) wie sieht das Skript aus, kannst du es Mal posten. Ich gehe dabei davon aus, dass du die Ergebnisdatei an einen anderen Ort/Verzeichnis verschiebst?

Merci!
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.563
Punkte für Reaktionen
1.389
Punkte
234
Steht doch alles in #4.007 ;)
Das Skript ist für den Fall geschrieben, wenn man über eine bestehende Verzeichnisstruktur OCR laufen lassen möchte und sie dabei erhalten bleiben soll.
 
  • Like
Reaktionen: Yippie

Yippie

Benutzer
Mitglied seit
01. Feb 2011
Beiträge
643
Punkte für Reaktionen
55
Punkte
54
Über den Beitrag hab ich irgendwie drübergelesen und bin bei den Links nicht abgebogen :D
 
Zuletzt bearbeitet von einem Moderator:

achimb

Benutzer
Mitglied seit
24. Okt 2023
Beiträge
4
Punkte für Reaktionen
2
Punkte
53
Ich habe gerade synOCR nach der Anleitung installiert, und auch die inotify-tools zur automatischen Ordnerüberwachung installiert.

Leider klappt das nicht, und das scheint in den Email Logs des Cronjobs auf:

---------- START MONITORING ---------- 2023-10-24_13-27-14 ----------
ERROR @ profile default: inotify-tools cannot be started because "/scanner/ocrme default" is not a valid folder!
loop count: 1
does not run - start monitoring ...


Also er hängt immer den Profilnamen an den Foldernamen dran. Auch mit Slash am Ende und anderem Profilnamen macht er den gleichen FEhler:

---------- START MONITORING ---------- 2023-10-24_13-42-04 ----------
ERROR @ profile achim-ocr: inotify-tools cannot be started because "/scanner/ocrme/ achim-ocr" is not a valid folder!
loop count: 1
does not run - start monitoring ...


Ohne inotify kommt lustigerweise folgender Bericht, klappt also auch nicht:

synOCR run at DSM7 or above
➜ check docker group and permissions: ok [docker:x:65536:synOCR]
➜ check admin permissions: ok
synOCR wurde gestartet ...
Bitte warten, bis die Dateien fertig abgearbeitet wurden.
! ! ! Quellverzeichnis oder Berechtigung in der Konfiguration prüfen ! ! !
Folgendes Profil wird übersprungen: (achim-ocr [ID: 1])


Wie kann man das fixen?
 
Zuletzt bearbeitet:

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.563
Punkte für Reaktionen
1.389
Punkte
234
Herzlich willkommen hier im Forum :)

Mir sieht es so aus, dass du keine absoluten Pfade angegeben hast (also ohne /volume...).
Kannst du das mal bitte checken?

Also er hängt immer den Profilnamen an den Foldernamen dran. Auch mit Slash am Ende und anderem Profilnamen macht er den gleichen FEhler:
Das ist nur ein Loggingfehler. Den werde ich beheben.
 
Zuletzt bearbeitet:

Ghost108

Benutzer
Mitglied seit
27. Jun 2015
Beiträge
1.263
Punkte für Reaktionen
71
Punkte
68
@geimist
Habe Probleme mit synocr.
so sieht aktuell mein ERRORLOGFILES Ordner aus - jeder Scan landet aktuell dort:

Bildschirmfoto 2023-10-25 um 08.39.53.png

Das Log File von heute:

-----------------------------------
| ==> installation info <== |
-----------------------------------

synOCR-user: root
synOCR-user is admin: yes
synOCR-version: 1.4.5
Architecture: x86_64
DSM-build: 64570
Device: 718plus (0199208118)
current Profil: ScanOCR
monitor is running?: yes
DB-version: 9
used image (created): jbarlow83/ocrmypdf:latest (2023-10-21T22:31:06)
document author:
used ocr-parameter (raw): -s -l deu+eng --pdf-renderer hocr
ocropt_array: -s -l deu+eng --pdf-renderer hocr
search prefix:
replace search prefix: yes
renaming syntax: §tit
Symbol for tag marking: #
target file handling: useCatDir
Document split pattern:
split page handling: discard
delete blank pages:
threshold black/white:
threshold black pixels:
clean up spaces: false
Date search method: use Python
date found order: firstfound
source for filedate: source
ignored dates by search:
date range in past: 0 [absolute: 0]
date range in future: 0 [absolute: 0]
Docker test: OK
DSM notify to user: Ghost108
apprise notify service:
apprise attachment: false
notify language: ger
Loglevel: normal
max. count of logfiles: 10
rotate backupfiles after: 1 days
Source directory: /volume1/synOCR/
Target directory: /volume1/Daten/
Files are deleted immediately! / No valid directory [/]



●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
● ---------------------------------- ●
● | ==> RUN THE FUNCTIONS <== | ●
● ---------------------------------- ●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

-----------------------------------------------------------------------------------
| check the python3 installation and the necessary modules: |
-----------------------------------------------------------------------------------

prepare_python: OK
Target temp directory: /tmp/tmp.i0ciwulJji


●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
● STEP 1 - RUN OCR / SPLIT FILES, IF NEEDED: ●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●


●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
CURRENT FILE: ➜ scan.pdf
temp. target file: /tmp/tmp.i0ciwulJji/step1_tmp_1698215823/scan.pdf

-----------------------------------------------------------------------------------
| processing PDF @ OCRmyPDF: |
-----------------------------------------------------------------------------------

➜ OCRmyPDF-LOG:
reading file from standard input
InputFileError
← OCRmyPDF-LOG-END

┖➜ failed! (target file is empty or not available)
➜ File name already exists! Add counter (4)
 


 

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