synOCR synOCR - GUI für OCRmyPDF

forus

Benutzer
Mitglied seit
24. Dez 2017
Beiträge
41
Punkte für Reaktionen
2
Punkte
8
Danke für die schnelle Rückmeldung.
Habe das mit dem SCAN_ einmal ergänzt. Das funktioniert auch, nur beim erneuten Scannen des Ordners wird das dann wiederholt. D.h. die Datei wird wieder umbenannt und das SCAN_ steht dann 2 x im Dateinamen "SCAN_2019-10-28_#rechnung_SCAN_2019-10-28_#rechnung_2...."

Irgendwie fehlt mir noch die Einstellung das er die Datei nur einmalig bearbeitet bzw. umbenennt?
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.563
Punkte für Reaktionen
1.389
Punkte
234
Ich weiß nicht, ob ich dich richtig verstanden habe. So sollte es gehen:
  1. neue Dokumente kommen bereits mit einen Präfix in den Inputordner (so etwas kann man z.T. im Scannerprofil als Dateiname einstellen)
    SCAN_0815.pdf
  2. in deinem synOCR-Profil steht, dass
    a) nur Dokumente bearbeitet werden, die mit SCAN_ im Namen beginnen und
    b) dieser Präfix entfernt werden soll
  3. Wenn synOCR fertig ist, heißt die Datei nur noch 0815.pdf (oder wie auch immer mit der automatischen Umbenennung / Hauptsache ohne SCAN_ am Anfang)
  4. synOCR findet keine neuen Dokumente, die mit SCAN_ beginnen und ist fertig
Das Ganze lässt sich auch analog auf Suffixe anwenden, sowie negieren (d.h. wenn der Präfix / Suffix fehlt, ist die Bedingung erfüllt).
 
Zuletzt bearbeitet:

The Dude

Benutzer
Mitglied seit
20. Mrz 2011
Beiträge
15
Punkte für Reaktionen
2
Punkte
9
Ja, die (alphabetische) Reihenfolge der Regelnamen in der YAML-Regeldatei ist dafür entscheidend. Wenn du nur 'einfache' Regeln in der GUI verwendest, müsste die Reihenfolge (so meine ich mich jetzt zu erinnern) rückwärts sein.
Mit der Reihenfolge rückwärts hat es nun geklappt.
Besten Dank nochmals.
 
  • Like
Reaktionen: geimist

The Dude

Benutzer
Mitglied seit
20. Mrz 2011
Beiträge
15
Punkte für Reaktionen
2
Punkte
9
Habe nochmals eine Frage betreffende dem "Suchmuster Quelldateiname". Kann man hier mehrere Präfix verwenden?
Ich habe teils Dokumente bei welchen der Name bereits passt. Es gibt aber auch Dokumente welche ich herunterlade und dort steht dann nicht Scan im Dateinamen. Diese hätte ich aber auch gerne Automatisch umbenannt.
 

Fink

Benutzer
Mitglied seit
11. Dez 2010
Beiträge
92
Punkte für Reaktionen
5
Punkte
8
Hi @geimist,
sorry das ich mal wieder eine Frage habe, aber ich bin bald durch mit meinem Setup 🤪
Kann man bei den Tags, die man in der GUI verwendet, auch alternativ Namen setzen?
Also im Dokument steht z.B. „a&b“. Ich möchte dann im Dateinamen „aundb“. Oder ein anderes Beispiel: Im Dokument steht „BMW“. Ich möchte dann aber „Auto“ als Tag für den Dateinamen haben.
Geht das über die GUI (z.B. §BMW=Auto)?

Noch eine weiter Frage: In vielen Dokumenten steht z.B. „05. Januar 2022“. Kann man das über die GUI eventuell auch als Datum erkennen?
 

geimist

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

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.563
Punkte für Reaktionen
1.389
Punkte
234
Kann man bei den Tags, die man in der GUI verwendet, auch alternativ Namen setzen?
Das Stichwort ist hier "in der GUI". Da lautet die Antwort: nein. Die Regeln, die du hier einrichten kannst, sind recht dumm und starr.
ABER: wenn du die erweiterten Regeln in einer YAML-Datei verwendest, kannst du das so umsetzen.

Noch eine weiter Frage: In vielen Dokumenten steht z.B. „05. Januar 2022“. Kann man das über die GUI eventuell auch als Datum erkennen?
Leider noch nicht. Da suche ich noch nach einer Lösung (bzw. jemanden, der mit seinen Pythonkenntnissen uns hier unterstützen könnte). Mit Bash sehe ich hier keine Lösung. Es gibt schon Versuche dahingehend, allerdings waren die Ergebnisse teilweise zu empfindlich (false positive). Es sollte halt auch mehrere Sprachen abdecken und nicht nur deutsch (mind. auch englisch). Dazu kommen dann noch Monatskürzel. Da kommt schnell was zusammen, was zu prüfen ist.
 

Fink

Benutzer
Mitglied seit
11. Dez 2010
Beiträge
92
Punkte für Reaktionen
5
Punkte
8
ABER: wenn du die erweiterten Regeln in einer YAML-Datei verwendest, kannst du das so umsetzen.
Du hast nicht zufällig ein Beispiel, wie die YAML für mich aussehen müsste,auf dem Silbertablett? Dann könnte ich mich daran weiter orientieren.🙄

Es geht mir nur um den Dateinamen. Vermutlich wird es in meinem Fall auf eine YAML hinauslaufen, wo ich die „starren“ Tags aus der GUI sowie einfach gemappte Tags nach dem Schema „tag xy = tag abc im doc“ pflege, oder?

Dann müsste ich nur den Pfad zur YAML in der GUI angeben und die starren Tags rausschmeißen, richtig?
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.563
Punkte für Reaktionen
1.389
Punkte
234
Wenn du in der GUI auf den blauen Button zum Konvertieren / Erstellen der Regeldatei klickst, wird dir diese mit den aktuellen Regeln im Inputordner erstellt (deine bisherigen werden ebendort gesichert). In der Regeldatei sollte bereits alles beschrieben sein. Mach das erstmal und wenn du nicht weiterkommst, melde dich nochmal.

Entscheidend ist für dich (auszugsweise):
tagname: so_soll_ich_heißen
- searchstring: such_mich
 
Zuletzt bearbeitet:

Fink

Benutzer
Mitglied seit
11. Dez 2010
Beiträge
92
Punkte für Reaktionen
5
Punkte
8
Entscheidend ist für dich (auszugsweise):
tagname: Ich_stehe_im_Namen
- searchstring: such_mich
Ok hat eigentlich mit der YAMl funktioniert. Nur seltsamerweise werden die verarbeiteten Dateien aus dem Input Folder nicht mehr in den Backup Folder verschoben. Sie sind einfach weg. Im Log steht aber, dass diese erfolgreiche verschoben worden sind. Auch das Debug Log gab mir da keine Hinweise. Hast du da eine spontane Idee?
 

Fink

Benutzer
Mitglied seit
11. Dez 2010
Beiträge
92
Punkte für Reaktionen
5
Punkte
8
Da steht der korrekte Pfad genau wie vorher. An der Stelle des Backups habe ich ja gar nicht rumgespielt.
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.563
Punkte für Reaktionen
1.389
Punkte
234
… Nur seltsamerweise werden die verarbeiteten Dateien aus dem Input Folder nicht mehr in den Backup Folder verschoben. Sie sind einfach weg. Im Log steht aber, dass diese erfolgreiche verschoben worden sind. …
Kannst du das mal bitte mit der FileStation im DSM checken?
Vielleicht kannst du mir auch mal ein Log hochladen (Link in meiner Signatur).
 

Fink

Benutzer
Mitglied seit
11. Dez 2010
Beiträge
92
Punkte für Reaktionen
5
Punkte
8
Kannst du das mal bitte mit der FileStation im DSM checken?
Dort waren sie ebenfalls nicht vorhanden.
Habe es aber nun selbst raus bekommen und "it works as designed" ;)
Ich habe die Dateien im Backup Folder auf einen Tag begrenzt.
Normalerweise teste ich über den Scanner und in dem Fall ist das Dateidatum von heute. Zum testen hatte ich aber alte Dateien in den input folder geworfen. Und somit waren die Dateien älter als einen Tag und wurden gar nicht erst archiviert. Darauf muss man erstmal kommen :rolleyes:

Zurück zur YAML: Damit funktioniert nun alles und ich kann mein Mapping machen. Noch eine abschließende Frage:

Ja, die (alphabetische) Reihenfolge der Regelnamen in der YAML-Regeldatei ist dafür entscheidend.
Ich würde "Rechnung" gerne immer am Anfang stehen haben vor den anderen Tags. Habe es nun damit versucht den Regelnamen einfach "1" zu nennen, in der Hoffnung, dass er dann im Alphabet ganz vorne ist. Hat aber leider nicht funktioniert....
 
  • 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
Damit bist du in eine (noch) undokumentierte Einschränkung gelaufen: Regelnamen dürfen nicht mit einer Zahl beginnen. Das mag das spätere JSON-Format nicht (YAML wird nach JSON konvertiert - Menschen mögen YAML, Maschinen mögen JSON). Also musst du mit 1000 As hantieren. Möglicherweise funktioniert es, wenn du prinzipiell Regelnamen mit einem Unterstrich beginnst und anschließend deine Namessyntax mit einer Zahl fortführst (_01_Rechnungsregel:). Ich habe so eine Sortierung aber noch nicht getestet. Kannst du ja gerne mal schreiben, ob das wie gewünscht funktioniert.
 
Zuletzt bearbeitet:

Fink

Benutzer
Mitglied seit
11. Dez 2010
Beiträge
92
Punkte für Reaktionen
5
Punkte
8
Möglicherweise funktioniert es, wenn du prinzipiell Regelnamen mit einem Unterstrich beginnst und anschließend deine Namessyntax mit einer Zahl fortführst (_01_Rechnungsregel:).
Nein das scheint nicht zu funktionieren. Ich mache nun den Workaround mit dem "A" Prefix. Das reicht für mein Umfeld.
Vielleicht noch eine Verbesserung für das Log: Wäre es eventuell möglich, im Debug Log die Dateinamen der im Durchlauf gelöschten Backupfiles mit aufzunehmen?

Ansonsten vielen Dank nochmal. Es scheint nun alles bei mir zu funktionieren (y):cool:
 
  • Like
Reaktionen: geimist

Paulchen88

Benutzer
Mitglied seit
23. Jan 2022
Beiträge
4
Punkte für Reaktionen
1
Punkte
9
Hallo geimist,
ich nutze dein Tool schon länger und wollte mich jetzt endlich mal an die Profile mit Tags wagen :)
Allerdings stehe ich momentan vor dem Problem, dass anscheinend nur das "Default" Profil abgearbeitet wird. Habe ich irgendwo einen Denkfehler? Das File kommt ocrt im Zielverzeichnis an, allerdings ohne die Umbenennung. Im Logfile lese ich nur was vom Default Profil.

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

synOCR-user: root
synOCR-user is admin: yes
synOCR-version: 1.2.0
Architecture: x86_64
DSM-build: 42218
Device: 416play (1610656389)
current Profil: default
DB-version: 5
used image (created): jbarlow83/ocrmypdf:latest (2021-11-04T07:42:52)
used ocr-parameter (raw): -srd -l deu
ocropt_array: -srd -l deu
search prefix:
replace search prefix: no
renaming syntax:
Symbol for tag marking:
Document split pattern:
Date search method: use standard search via RegEx
source for filedate: ocr
ignored dates by search:
Docker test: OK
DSM notify to user: @administrators
Loglevel: normal
max. count of logfiles: 10
Source directory: /volume1/docker/synOCR/Input/
Target directory: /volume1/Scan/
BackUp directory: /volume1/docker/synOCR/Backup/
rotate backupfiles after: (purge backup deactivated)



----------------------------------
| ==> Funktionsaufrufe <== |
----------------------------------

PROCESSING: ➜ PDF_002566.pdf (Sun Jan 23 21:35:02 CET 2022)
temp. target file: /tmp/tmp.CcySeB8yVr/PDF_002566.pdf

➜ OCRmyPDF-LOG:
reading file from standard input
Start processing 2 pages concurrently
1 skipping all processing on this page
2 skipping all processing on this page
3 skipping all processing on this page
4 skipping all processing on this page
5 skipping all processing on this page
Postprocessing...
Some input metadata could not be copied because it is not permitted in PDF/A. You may wish to examine the output PDF's XMP metadata.
Optimize ratio: 1.00 savings: -0.4%
Image optimization did not improve the file - optimizations will not be used
Output sent to stdout
← OCRmyPDF-LOG-END

target file (OK): /tmp/tmp.CcySeB8yVr/PDF_002566.pdf

➜ search tags and date:
no tags defined
Using date format: 1 (1 = dd mm [yy]yy; 2 = [yy]yy mm dd; 3 = mm dd [yy]yy)
Dates found: 2
check date (dd mm [yy]yy): 12.01.2022
➜ valid
day: 12
month:01
year: 2022
➜ renaming:
apply renaming syntax ➜ PDF_002566
➜ edit metadata FAILED! - exiftool not found! Please install it over cphub.net if you need it
File name already exists! Add counter (1)
target file: PDF_002566 (1).pdf
➜ Adapt file date (Source: OCR)
➜ move source file to: /volume1/docker/synOCR/Backup/PDF_002566 (5).pdf
INFO: (PushBullet-TOKEN not set)

Stats:
➜ runtime last file: 00:00:39
➜ pagecount last file: 5
➜ file count profile : (profile default) - 18 PDF's / 41 Pages processed up to now
➜ file count total: 21 PDF's / 44 Pages processed up to now

➜ delete tmp-files …
➜ purge logfiles:
➜ purge backup deactivated



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


Das Profil habe ich folgendermaßen gebaut:
2022-01-23 22_07_00-Window.png
2022-01-23 22_08_14-Window.png
 


 

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