synOCR synOCR - GUI für OCRmyPDF

Syngen

Benutzer
Mitglied seit
16. Jan 2014
Beiträge
9
Punkte für Reaktionen
2
Punkte
53
Bei der Version 1.2.0.7 funktioniert es mit dem PDF/A. Auf die Metadaten hatte ich nicht geachtet. Ist für mich auch nicht so wichtig. Wenn beides zusammen nicht geht, könnte man vielleicht einen Schalter einbauen PDF/A oder Metadaten :)
 

Yippie

Benutzer
Mitglied seit
01. Feb 2011
Beiträge
634
Punkte für Reaktionen
51
Punkte
54
Frage: (wollte mir jetzt nicht alle 150 Seiten durchlesen ;))
Gibt es eine Möglichkeit in einem PDF Dokument zwei Begriffe via OCR zu erkennen, um davon einen für die Bennenung des finalen Dateinamens zu verwenden?

Das Dokument hat immer den Begriff "Europäische Union" im Text und zusätzlich eine laufende Nummer wie bspw. DE-DEG220420-10. Ein anderes Dokument hat dann die Nummer DE-DEG220420-11, DE-DEG220420-12 usw.

Mein Vorhaben wäre eben den ersten Begriff komplett zu erkennen und den zweiten Begriff generisch wie DE-DEG*.
Wenn das OCR diese Textfragmente findet, soll der Dateiname aber den vollständigen zweiten Begriff erhalten: "Datei DE-DEG220420-10.pdf", "Datei DE-DEG220420-11"' usw.

Ist das möglich? Wenn ja was muss ich einstellen?

Michael
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.466
Punkte für Reaktionen
1.285
Punkte
234
Zuletzt bearbeitet:

Yippie

Benutzer
Mitglied seit
01. Feb 2011
Beiträge
634
Punkte für Reaktionen
51
Punkte
54
Hast du dich schonmal mit der YAML-Regeldatei beschäftigt?
Damit sollte dein Vorhaben umsetzbar sein.
Nö, noch nicht, aber das sollte zu schaffen sein. Programmierkenntnisse sind vorhanden auch YAML-Dateien hatte ich schon Mal am Bildschirm, vor allem im Zusammenhang mit Docker.

Danke! Ich meld mich wieder falls ich nicht weiterkomme...
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.466
Punkte für Reaktionen
1.285
Punkte
234
Ohne es jetzt getestet zu haben, könnte die Regel ungefähr so aussehen:
YAML:
rule_01:
    tagname: FallBackName
    tagname_RegEx: "DE-DEG[[:digit:]]{6}-[[:digit:]]{2}"
    condition: all
    subrules:
    - searchstring: Europäische Union
    - searchstring: "DE-DEG[[:digit:]]{6}-[[:digit:]]{2}"
      isRegEx: true

Lass dir einfach in der GUI die Regeldatei erstellen (wird in den Inputordner gelegt) und füge diese Regel ein.
 
  • Like
Reaktionen: Yippie

Yippie

Benutzer
Mitglied seit
01. Feb 2011
Beiträge
634
Punkte für Reaktionen
51
Punkte
54
Oke, Danke für den Tipp!
 

Yippie

Benutzer
Mitglied seit
01. Feb 2011
Beiträge
634
Punkte für Reaktionen
51
Punkte
54
Zwei Fragen zum Taggen und zur Text-Erkennung:

Verstehe ich das richtig, dass
YAML:
tagname: EUROPEAN UNION
tagname_RegEx: "DE-DEG[[:digit:]]{6}-[[:digit:]]{2}"
"tagname" immer dann verwendet, wenn der Ausdruck bei "tagname_RegEx" nicht zutrifft?

Wenn ich dann als "OCR Rename-Syntax" folgendes einstelle "Cites §tag", erhalte ich in diesem Fall entweder einen Dateinamen, wie "Cites DE-DEG220420-22.pdf" oder im Fallback-Fall "Cites EUROPEAN UNION.pdf"?

Es stellt sich hierbei jedoch die Frage, warum nicht "tagname_RegEx" angewendet wurde. Die Ursache liegt wohl im PDF selbst. Dies wäre der Teil des PDFs welcher den finalen Tag erzeugen sollte:
1655366007965.png
Im PDF-Editor ist dies leider so erkannt worden:
1655366058017.png
Kann man da möglicherweise noch die OCR-Engine feintunen?

Andere Frage: Wird die YAML-Datei bzw. das Profil nur dann angewendet, wenn die Bedingungen "condition: all" zutreffen und andernfalls auf das default-Profil gewechselt?

Merci,
Michael
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.466
Punkte für Reaktionen
1.285
Punkte
234
"tagname" immer dann verwendet, wenn der Ausdruck bei "tagname_RegEx" nicht zutrifft?
tagname wird gesetzt, wenn die Regel erfüllt ist (also die Subrules zugeschlagen haben), aber tagname_RegEx nicht gesetzt ist oder nicht gefunden wird.

Wenn ich dann als "OCR Rename-Syntax" folgendes einstelle "Cites §tag", erhalte ich in diesem Fall entweder einen Dateinamen, wie "Cites DE-DEG220420-22.pdf" oder im Fallback-Fall "Cites EUROPEAN UNION.pdf"?
Sofern die Regel erfüllt ist, ja.
Sonst müsstest du noch eine weitere Regel erstellen, welche davon unabhängig geprüft würde.

Kann man da möglicherweise noch die OCR-Engine feintunen?
Du siehst ja selbst, dass überlappender Text für eine Maschine eine Herausforderung darstellt. Das Thema OCR bin ich ja auch nicht wirklich zuständig - das Paket OCRmyPDF stammt von James Barlow. Vielleicht findest du etwas in der Doku.

Ist die Schrift immer so versetzt / überlappt?
Vielleicht könntest du am RegEx noch etwas feilen …
 
Zuletzt bearbeitet:

Yippie

Benutzer
Mitglied seit
01. Feb 2011
Beiträge
634
Punkte für Reaktionen
51
Punkte
54
Andere Frage: wie bekomme ich einen Dateinamen zustande, welcher den erkannten Text aus einem der Tags, bspw. der Schlüsselwörter "searchstring" oder "tagname_RegEx" verwendet?

Es steht ja nur §tag zur Verfügung.
 

Yippie

Benutzer
Mitglied seit
01. Feb 2011
Beiträge
634
Punkte für Reaktionen
51
Punkte
54
So, habe die unzureichende Texterkennung nun "umgangen" und suche nun lediglich nach dem Text
YAML:
searchstring: "[[:digit:]]{6}-[[:digit:]]{2,}"
Dies umgeht das Problem, dass "DE-DEG" von zusätzlichem Text überlagert wird.

Da "DE-DEG" immer im Dokument vorkommt, ist nun mein Dateiname nach dem Muster "Cites DE-DEG§tag" aufgebaut ;)

Problem somit erledigt! Danke für alle Tipps!
 
  • Like
Reaktionen: geimist

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.466
Punkte für Reaktionen
1.285
Punkte
234
Und wenn du dann doch einmal einen zusätzlichen Scanworkflow implementieren musst, kannst du dir einfach ein weiteres Profil mit anderen Parametern erstellen.
 

allahopp

Benutzer
Mitglied seit
15. Mai 2022
Beiträge
133
Punkte für Reaktionen
10
Punkte
18
Ich möchte mich diesem Thema mal auch anschliessen wollen ;)

Zuerst mal auch von meinerseite mal ein großes Dankeschön an alle, die die Zeit investieren und solche userfreundliche Anwendungen erstellen (y)

Wir sind aktuell dabei unsere ca. 2000 Dokumente aus einem WIN-basierten DMS nach ecoDMS zu migrieren, und dabei ganz getreu dem Motto "Wenn wir uns jetzt nochmals die Arbeit machen, dann richtig". Da kommt man natürlich um das große Thema OCR nicht umher.

Ich verfolge diesen Thread schon länger und habe mir gestern ins VDSM synOCR installiert (war vorher nicht möglich da die alte NAS Docker nicht unterstützt hat) --> läuft auch alles ohne Probleme :)

Allerdings hätte ich mal (aktuell) 2 Fragen was die Performance angeht:

Ausgangssituation:
- VM mit VDSM Version 7.0.1
- Zugewiesene CPU-Kerne: 2
- Zugewiesener RAM: 4GB

1) Bei Speicherung von einem neuen Profil oder bei Änderungen von Parametern benögtig synOCR ca. 30 Sekunden bis der Hinweis der erfolgreichen Speicherung erscheint. Ist das normal?
2) Nutze in synOCR nur die Paramter "-rdf -l deu+eng" und sonst nur Standard (keine Suchmuster, keine Tags). Bei einer neu eingescannten 10-seitigen PDF (inkl 2 für ecoDMS relevante Trennblätter [300dpi, Farbe, Größe ca. 6,6 MB]) benötigt "ocrmypdf" ca. 2-3 Minuten; bei kleineren PDFs ca. 1-2 Minuten. Auch hier wollte ich mal wissen, ob diese Zeiten "normal" sind unter der Prämisse der zugewiesenen Ressourcen für die VM.

Danke und Gruß

edit:
synOCR: 1.2.0.7
ocrmypdf: 12.7.2
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.466
Punkte für Reaktionen
1.285
Punkte
234
  1. Ich weiß, dass die GUI-Performance keinen Geschwindigkeitsrekord gewinnt, aber 30 Sekunden finde ich sehr lange. Mein Speicher-Test in meinem vDSM (2 Kerne / 1GB RAM) dauert keine 5 Sekunden. Allerdings auf einer SSD. Dennoch kommen wir 30 Sekunden sehr lang vor.
  2. ein paar Überlegungen:
    1. Nutzt ihr auch die inotify-tools?
      Das sorgt schonmal dafür, dass ein Job sofort beginnt und keine Wartezeit verschwendet wird.
    2. benötigt ihr die Parameter r und d? Alle Bildmanipulationen benötigen zusätzliche Zeit.
    3. Zeit lässt sich wahrscheinlich auch sparen, wenn in der GUI die Datumsuche auf RegEx anstatt auf Python gestellt ist (auch wenn ihr das Datum nicht auswertet - gesucht wird dennoch. Die RegEx-Suche ist wahrscheinlich kaum messbar).
    4. Schaut im Log nach, welche Teilaufgaben am längsten benötigen. (ggf. das Loglevel auf 2 (debug mode) stellen)
    5. Vielleicht ginge es auf dem Host schneller, als im vDSM … 🤷‍♂️

      In meinen Tests konnte ich bei Schwarzweiß-Seiten eine Bearbeitungszeit von minimal 10 Sekunden / Seite erreichen.
 

allahopp

Benutzer
Mitglied seit
15. Mai 2022
Beiträge
133
Punkte für Reaktionen
10
Punkte
18
Danke für die schnelle Antwort.

Zu 2.1.
Nutzen wir aktuell noch nicht. Wir stoßen den Job manuell über die GUI an
Zu 2.2
Das werden wir mal noch testen
Zu 2.3
Steht schon auf Python
Zu 2.4
Habe die aktuellste log.Datei über deinen Log-Upload hochgeladen (wenn o.k.)

Danke und Gruß
Frank
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.466
Punkte für Reaktionen
1.285
Punkte
234
Also für das aktuelle Dokument mit seinen 10 Seiten, benötigt OCRmyPDF 2:13 Minuten. Der gesamte Job dauert 2:21. Hier sehe ich nur Potential bei den Parametern r und d, wie oben geschrieben.

Ergänzend bitte auch mal im OCRmyPDF-Handbuch nachsehen. Hier gibt es auch noch ein paar Empfehlungen: https://ocrmypdf.readthedocs.io/en/latest/performance.html

- Zugewiesene CPU-Kerne: 2
Das hatte ich vorhin etwas übersehen. Das ist auf jeden Fall ein limitierender Faktor, der auf dem Host nicht relevant wäre. Idealerweise werden alle Kerne ausgenutzt, was in dem Fall im vDSM nicht möglich ist.
 

allahopp

Benutzer
Mitglied seit
15. Mai 2022
Beiträge
133
Punkte für Reaktionen
10
Punkte
18
Vielen Dank.

werde noch ein paar Tests machen und dann berichten.

Was an dieser Stelle auch mal gesagt werden sollte:
Wir hatten ein Dokument (grottenschlechter Scan). Dieses konnte bei einem komplett neuen OCR durch unsere beiden DMSen trotzdem nicht durchsucht werden.
Bei der Nutzung von ocrmypdf (--force-ocr) war dies sofort möglich. Klar hängt dies nicht (direkt) mit synOCR zusammen, doch diese GUI macht es möglich, dass auch "Nicht-Skript-Versteher" in der Lage sind Anwendungen zu nutzen, welche sie vorher nicht so ohne weiteres eingesetzt hätten (war zumindest bei mir so).
 
  • Like
Reaktionen: Monacum und geimist

suburb

Benutzer
Mitglied seit
15. Jun 2022
Beiträge
5
Punkte für Reaktionen
1
Punkte
3
Hi zusammen,

an anderer Stelle hier im Forum bekomme ich leider keine Reaktion. Daher versuche ich es hier nochmal.

Hallo zusammen, bisher bin ich gut selbst zurechtgekommen, aber jetzt benötige ich wirklich mal Eure Hilfe. Ich versuche seit Tagen synOCR zu installieren und bekomme die Meldung:


Ich bin als Admin angemeldet und habe mich natürlich neu angemeldet - es hilft aber nichts.

Die synOCR Pakete die ich via QuickConnect versuche auf der DS920+ unter DSM 7.1-42661 Update 2 manuell zu installieren sind synOCR_DSM7_v1.2.0.spk bzw. vorher synOCR_DSM7_BETA_1.1.902_(2021-07-27_13-31)_686a51b.spk

synOCR_DSM7_v1.2.0.spk habe ich von https://geimist.eu/synOCR/ da www.cphub.net nicht erreichbar ist (Was ist da eigentlich los?)

Kann mir da bitte einer von Euch auf die Sprünge helfen, was ich falsch mache?

Vielen Dank vorab!


Hier im Forum habe ich folgendes gefunden:

hab den Fehler gefunden....
seltsam, aber es lag irgendwie an den Router Einstellungen...die einen Upload im Paketzentrum beeinflusst haben...seltsam...aber das war es wirklich...
https://www.synology-forum.de/threa...-von-manuellen-paketen-spk.101377/post-822788

Mein Upload funktioniert jedoch z.B. bei Mediendateien ...

PS: Auch via VPN mit dem Router verbunden an dem das NAS hängt bricht die Installation mit gleicher Meldung ab.
 

suburb

Benutzer
Mitglied seit
15. Jun 2022
Beiträge
5
Punkte für Reaktionen
1
Punkte
3
Vorgang fehlgeschlagen. Bitte melden Sie sich erneut im DSM an und versuchen Sie es erneut.
Die Meldung fehlte oben im Posting - sorry! - wenn mein posting hier nicht passt bitte löschen! Vielen Dank! Schreibe zu diesem Thema gerade den Support an.
 


 

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 

 
 
  AdBlocker gefunden!

Du bist nicht hier, um Support für Adblocker zu erhalten. Dein Adblocker funktioniert bereits ;-)

Klar machen Adblocker einen guten Job, aber sie blockieren auch nützliche Funktionen.

Das Forum wird mit hohem technischen, zeitlichen und finanziellen Aufwand kostenfrei zur Verfügung gestellt. Wir zeigen keine offensive Werbung und bemühen uns um eine dezente Integration.

Bitte unterstütze dieses Forum, in dem du deinen Adblocker für diese Seite deaktivierst.

Du kannst uns auch über unseren Kaffeautomat einen Kaffe ausgeben oder ein PUR Abo abschließen und das Forum so werbefrei nutzen.

Vielen Dank für Deine Unterstützung!