synOCR synOCR - GUI für OCRmyPDF

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.546
Punkte für Reaktionen
1.379
Punkte
234
Im offiziellen Image sind nur ganz wenige Sprachen enthalten. Früher hatte jbarlow83 ein eigenes Image mit allen Tesseract-Sprachen bereitgestellt (jbarlow83/ocrmypdf-polyglot). Das hatte er irgendwann einmal abgekündigt. Seit dem stelle ich es bereit (es ist das offizielle Image mit lediglich allen nachinstallierten Sprachen).
 
  • Like
Reaktionen: mamema

TheNightman

Benutzer
Mitglied seit
16. Feb 2021
Beiträge
3
Punkte für Reaktionen
1
Punkte
59
Hallo, großartiges Tool @geimist und super danke dafür.

Könntest Du noch 2 Optionen einbauen?
1) per ExifTool nur zusätzliche Tags in die Datei schreiben (also bisherige Tags erhalten)
2) das Metadatum 'Creator' änderbar machen (da steht bisher 'ocrmypdf 11.6.1.post3+g36928680.d20210215 / Tesseract OCR-PDF 4.1.1' drin) und per ExifTool ändern (bei mir wäre es z.B. auf 'PFU ScanSnap Organizer' oder ähnlich) - dann kann ich die Output-Dateien mit der Fujitsu ScanSnap Software meines Scanners weiterhin bearbeiten.

Das würde mir helfen bereits getaggte PDF weiter zu verarbeiten.

Und einen Feature-Wunsch hätte ich noch. Die Amazon Rechnungen kommen nun fast immer mit einem Datum, wobei der Monat ausgeschrieben ist (z.B. 1, September 2020). Feature wäre, dass dieses auch als Datum verstanden würde und es als z.B. 2020-09-01 für Dateidatum und der Dateiname benutzt werden könnte.

Bester Dank.
Peter
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.546
Punkte für Reaktionen
1.379
Punkte
234
  1. da muss ich mal gucken, ob dass das ExifTool zulässt. Oder kennst du bereits die Syntax (ggf. also vorher auslesen)?
  2. muss ich mir angucken - der voreingetragene Wert stammt offensichtlich direkt von OCRmyPDF
  3. das steht weit oben auf der ToDo-Liste, ist aber nicht so einfach, in Anbetracht von gekürzten Schreibweisen und Mehrsprachigkeit
 

TheNightman

Benutzer
Mitglied seit
16. Feb 2021
Beiträge
3
Punkte für Reaktionen
1
Punkte
59
@geimist
Zu 2. : exiftool -Creator="PFU ScanSnap Organizer" filename

habe mir jetzt erstmal im Aufgabenplaner der Synology eine von Hand zu startende Aufgabe angelegt, die als root alle pdf-Dateien eines directories incl. Unterordner mit dieser Änderung versieht.

exiftool -ext pdf -r -Creator="PFU ScanSnap Organizer" %hier directory path eintragen%
 
Zuletzt bearbeitet:
  • Like
Reaktionen: geimist

mamema

Benutzer
Mitglied seit
23. Okt 2009
Beiträge
667
Punkte für Reaktionen
132
Punkte
63
@geimist
Zu 2. : exiftool -Creator="PFU ScanSnap Organizer" filename

exiftool -ext pdf -r -Creator="PFU ScanSnap Organizer" %hier directory path eintragen%
kannst Du mir erklären warum dies für Dich wichtig ist, vielleicht kann ich was lernen, denn ich hab da noch nie freingeschaut und finde ocrmypdf auch nicht prickelnd als Wert?
 

Gortosch

Benutzer
Mitglied seit
04. Apr 2020
Beiträge
21
Punkte für Reaktionen
1
Punkte
3
Hi,

ich habe mir jetzt mal in einer ruhigen Minute die Arbeitsweise von ocrmypdf in einem Docker-Container angeschaut und wie deine Software damit "arbeitet". Jetzt ist mir auch klar, wo das Problem mit 7.0 ist. Aber wenn sich nichts ändert, sehe ich keine Zukunft für 7.0 und synOCR. Das wäre extrem schade.

Hast du irgend welche genialen Ideen diese Herausforderung anzugehen?


Grüße
Sven
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.546
Punkte für Reaktionen
1.379
Punkte
234
Hallo Sven,

es gibt zwei Herausforderungen für DSM 7.0:
  1. Zum einen, dass das Paket überhaupt mal läuft. Da hat @voodoo44 schon fleißig gearbeitet. Hier muss zudem Synology in einem nächsten Prerelease noch einen Fehler ausbügeln.
  2. Der zweite Punkt ist - und das meinst du wahrscheinlich - das Docker nach wie vor für die vollständige Steuerung den root-User benötigt (unter dem synOCR nicht mehr laufen wird).
Folgende Einschränkung wird es diesbezüglich in DSM 7.0 geben:
  • Der Button für einen manuellen Programmlauf in der GUI wird nicht funktionieren.
  • Der Aufgabenplaner in der GUI (welcher den Croneintrag schreibt), wird nicht funktionieren.
    Für den User bedeutet das, dass der Zeitplan über den Aufgabenplaner in der Systemsteuerung (hier ist der User root weiterhin möglich) erstellt werden muss. Ist das alles umgesetzt, sollte der Hauptteil also weiterhin funktionieren.
Vielleicht wäre es für die Zukunft eine Option, die gesamte GUI in einen eigenen Dockercontainer zu verlegen, aber das ist jetzt meinerseits nicht spruchreif.
 
Zuletzt bearbeitet:

guidovg

Benutzer
Mitglied seit
26. Nov 2011
Beiträge
142
Punkte für Reaktionen
43
Punkte
34
Mit dem Aufgabeplaner ist es von der Einrichtung her etwas komplizierter für Neueinsteiger, im Sinne einer vernünftigen Einbeindung ins System aber auch die bessere Entscheidung. Ausserdem muss man dann auch den Sicherheitsassistenten nicht mehr anpassen. Ist das Ganze ersteinmal im Aufgabeplaner eingerichtet, braucht man den manuellen Startbutton auch nicht mehr.
 
Zuletzt bearbeitet von einem Moderator:
  • Like
Reaktionen: TheNightman

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.546
Punkte für Reaktionen
1.379
Punkte
234
Ich finde den Button schon praktisch, wenn man nicht auf den nächsten programmierten run warten möchte, aber wir brauchen uns über nichts ärgern, was wir nicht ändern können.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Gortosch

Gortosch

Benutzer
Mitglied seit
04. Apr 2020
Beiträge
21
Punkte für Reaktionen
1
Punkte
3
Hallo Stephan,

ja ich meinte hauptsächlich die "Steuerung" des Docker-Containers.

Aber das klingt doch alles sehr vielversprechend. Super.
Ich danke Euch zwei für Eure tolle Arbeit.


Grüße
Sven
 

guidovg

Benutzer
Mitglied seit
26. Nov 2011
Beiträge
142
Punkte für Reaktionen
43
Punkte
34
Ich finde den Button schon praktisch, wenn man nicht auf den nächsten programmieren run warten möchte, aber wir brauchen uns über nichts ärgern, was wir nicht ändern können.
Ja, das ist er, ich meinte man kann ja auch über den Aufgabenplaner per Knopfdruck einen manuelle Lauf starten.
 

apejovic

Benutzer
Mitglied seit
28. Nov 2013
Beiträge
36
Punkte für Reaktionen
6
Punkte
8
Mahlzeit zusammen,

schon länger her als ich das letzte mal hier gelesen habe.

Hat jemand von euch einen Paginierstempel in Zusammenarbeit mit synoOCR?

Werden die Zahlen per OCR erkannt?

Welche Größe (6/7/8 Stellig, Größe der Zahlen) an Stempel benutzt Ihr?

Welchen Stempel benutzt Ihr?

Danke
 

Lowerwood

Benutzer
Mitglied seit
04. Mrz 2021
Beiträge
2
Punkte für Reaktionen
0
Punkte
1
Hallo Allerseits,

das ist schon ein großartiges Tool, hoffentlich geht das mit DSM 7.0 auch irgendwann so toll weiter.

Ich hätte mal eine Frage zum Verschieben der PDFs in Targetordner per config Datei:
Bei mir läuft das OCR über alle PDFs im _INPUT Ordner und sortiert auch brav alles in die Zielordner, wie in der config Datei definiert. Wenn nun aber keine einzige Regel auf die PDFs zutrifft, dann wird das Original-PDF trotzdem in den Ordner _BACKUP verschoben. So kann ich natürlich erst durch einen gezielten Blick in die Log-Datei festellen, dass da ein Dokument nicht einsortiert werden konnte.

Gibt es einen Schnipsel Code für die config Datei oder eine Option, die bewirkt, dass ein PDF einfach im _INPUT Ordner verbleibt oder in den regulären _OUTPUT verschoben wird, sollte keine einzige Regel zutreffen?

Ich habe schon so einige Seiten aus dem Thread durchgelesen, konnte aber bislang dazu noch nichts finden.

Viele Grüße!
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.546
Punkte für Reaktionen
1.379
Punkte
234
Hallo Lowerwood, und herzlich willkommen im Forum!
… oder in den regulären _OUTPUT verschoben wird, sollte keine einzige Regel zutreffen?
So sollte es eigentlich sein, wenn keine Regel zutrifft.

Passiert das grundsätzlich, wenn keine Regel zutrifft?
Mit "config Datei" meinst du die YAML-Regeldatei?

Damit ich mir mal ein Bild von deiner Konfiguration machen kann, solltest du mir mal bitte eine Logdatei hochladen (Link in meiner Signatur).
 

Lowerwood

Benutzer
Mitglied seit
04. Mrz 2021
Beiträge
2
Punkte für Reaktionen
0
Punkte
1
Hallo geimist,

wollte gerade das Log-File ziehen und habe dabei festgestellt, dass der Fehler vor dem Bildschirm sitzt. Hatte als Zielverzeichnis etwas anderes stehen als _OUTPUT. ... war wohl noch durchs Testen übriggeblieben *hüstel*

Das Tool macht genau das, was es soll und schiebt die Original-PDFs, die nicht durch die Regeln getaggt werden, in das Zielverzeichnis. Als andere landet in den Targetfoldern, die in der YAML festgelegt sind.

Aber trotzdem vielen Dank für die schnelle Reaktion :)

Viele Grüße!
 

mammut-79

Benutzer
Mitglied seit
04. Mai 2017
Beiträge
7
Punkte für Reaktionen
1
Punkte
53
Hallo geimist,

ein grossartiges Tool, genau was ich eine Weile gesucht habe! Vielen Dank!

Eine Frage an dich oder auch die gesammelte Community.

Ich hänge nur leider beim abspeichern in absoluten Pfaden. Ich möchte das eine Datei anhand des Strings 0123456789 in den Order TestOrdner verschoben wird. Alle Durchläufe transportieren von _Input erfolgreich zu _Output, aber nie in den gewünschten ZIelordner. Meine _TagConfig sieht wie folgt aus:

Testdatei:
tagname: TestTag
targetfolder: "/volume1/Manni/_OUTPUT/TestFolder"
condition: any
subrules:
- searchstring: 0123456789
searchtyp: contains
isRegEx: false
source: content
casesensitive: false

Als Ergebnis schreibt er die Datei in einen neuen Ordner TestTag, was ja passieren soll wenn es keinen targetfolder gibt. Sieht jemand was ich da falsch mache? Nachfolgend die zugehörige Log-Datei.

Vielen Dank für jede Hilfe!
Mammut


-----------------------------------
| ==> Installationsinfo <== |
-----------------------------------

synOCR-user: root
synOCR-Version: 1.0.2
Architecture: x86_64
DSM-build: 25426
Device: 918plus (0186672309)
current Profil: default
DB-version: 3
used image (created): jbarlow83/ocrmypdf:latest (2021-03-03T09:08:17)
used ocr-parameter: -srd -l deu
replace search prefix: yes
renaming syntax: §y-§m-§d_§tag
Symbol for tag marking: #
source for filedate: ocr
Docker Test: OK
Loglevel: normal
Application Directory: /usr/syno/synoman/webman/3rdparty/synOCR
Source directory: /volume1/Manni/_INPUT/
Target directory: /volume1/Manni/_OUTPUT/
BackUp directory: /volume1/%2525252525253CPATH%2525252525253E/_BACKUP/


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

PROCESSING: ? Testdatei.pdf (Tue Mar 9 14:28:33 CET 2021)
temp. target file: /tmp/tmp.XSjF7Vj7jk/Testdatei.pdf

? OCRmyPDF-LOG:
reading file from standard input
1 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.0%
Image optimization did not improve the file - discarded
Output sent to stdout
? OCRmyPDF-LOG-END

target file (OK):
? search tags and date:
source for tags is yaml based tag rule file [/volume1/Manni/_INPUT/_TagConfig_[profile_default].txt]
Search by tag rule: "Testdatei" ?
? condition: any
? tag: TestTag
? destination: /volume1/Manni/_OUTPUT/TestFolder
>>> Rule is satisfied

rename tag is: "#TestTag"

Date not found in OCR text - use file date:
day: 09
month:03
year: 2021
? renaming:
apply renaming syntax ? 2021-03-09_#TestTag
? edit metadata ERROR - exiftool not found! Please install it over cphub.net
? move to tag directories
tag directories "TestTag" exists? ? created
target: ./TestTag/2021-03-09_#TestTag.pdf
set a hard link
? Adapt file date (Source: Source file [OCR selected but not found])
? delete temp. target file
? move source file to: /volume1/%2525252525253CPATH%2525252525253E/_BACKUP/Testdatei.pdf
INFO: (PushBullet-TOKEN not set)
INFO: (runtime last file: 00:00:08 (pagecount: 1) | all: 40 PDFs / 100 Pages processed up to now)


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

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.546
Punkte für Reaktionen
1.379
Punkte
234
? move to tag directories
tag directories "TestTag" exists? ? created
target: ./TestTag/2021-03-09_#TestTag.pdf
Du musst in der GUI die Einsortierung auf Kategorieordner umstellen. Tagordner erstellt für jeden gefundenen Tag einen eigenen Ordner.

PS: Und bitte beim Posten von Code / Logs die entsprechende Formatierung des Forums nutzen. Das kann man sonst nur schlecht lesen. Danke :)
 

mammut-79

Benutzer
Mitglied seit
04. Mai 2017
Beiträge
7
Punkte für Reaktionen
1
Punkte
53
Hallo geimist,

kaum macht man es richtig, funktioniert es auch. Super! :) Vielen lieben Dank für die mega-schnelle Antwort!

Das mit der Formatierung werde ich gerne berücksichtigen, war mir nicht bewusst.

Nochmals Danke! :)
 
  • Like
Reaktionen: geimist

mammut-79

Benutzer
Mitglied seit
04. Mai 2017
Beiträge
7
Punkte für Reaktionen
1
Punkte
53
Hallo geimist,

ich habe erneut das Forum durchsucht, aber leider keinen passenden Eintrag gefunden. Bei mir werden leere PDF-Dateien generiert. Im Log-File sind verschiedene Fehler zu erkennen (Font, Content Stream, metadata copying not permitted, ...). Ich habe das Log-File nun hier angehängt. Hoffe das ist besser.

Vielen Dank für deine/eure Meinung zu diesem Fall.

Viele Grüsse
Mammut
 

Anhänge

  • synOCR_2021-03-09_16-42-22.txt
    9,1 KB · Aufrufe: 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