synOCR synOCR - GUI für OCRmyPDF

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.544
Punkte für Reaktionen
1.377
Punkte
234
Ich nutze nicht viele Tags / Kategorien. Sowas wie Gesundheit Versicherung Miete Rechnung, für die ich in der YAML-Regeldatei detailierte Regeln definiert habe. Ich benenne meine Dokumente mit beginnendem Schema YYYY-MM-DD… und fast alles kommt dann ich Jahresordner. Wenn ich ein Dokument benötige, finde ich es am schnellsten über die systemweite Suche. Aber das macht halt jeder anders.

@all: Vielleicht gibt es noch andere Benutzererfahrungen?
 
  • Like
Reaktionen: c0smo

c0smo

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
08. Mai 2015
Beiträge
7.489
Punkte für Reaktionen
1.655
Punkte
274
Ich denke jetzt mal an meine Freundin. Ich kenne die Gute und weiß, dass sie nach Dateinamen suchen wird und erstmal blöd schauen würde, wenn alle nur das Datum im Namen hätten. Klar, man kann dann schnell und sauber über die Begriffe suchen aber stellen wir uns mal vor, eine Datei aus dem Jahre 1995, da weiß man vermutlich keine Schlagwörter oder hat nicht die passenden genommen für die Betitelung.

Wie du sagst, jeder hat seine eigene Herangehensweise, ich bin gespannt auf Feedback, da ich mir selbst noch nicht wirklich schlüsseig bin, wie ich das anpacken soll.
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.200
Punkte für Reaktionen
1.024
Punkte
224
Das war tatsächlich einer der Gründe, warum ich irgendwann bei Paperless gelandet bin, weil ich dort über die grafische Oberfläche deutlich schneller neue Kategorien, Korrepondenten etc hinzufügen kann, die dann so wie auch bei synOCR möglich per Suche im Dokument benannt werden.

Damit ich zumindest erst einmal einen Überblick über die Dateien habe, die ich ein gescannt, aber noch nicht näher bearbeitet habe, habe ich diese immer von synOCR mit einem Präfix versehen lassen, bei mir ein Zeichen, damit die Dateien immer oben im Ordner auftauchen.

Unter synOCR verwende ich wie Stephan Jahresordner, bei Paperless bin ich allerdings für die meisten Dokumente bei einer Struktur, die das nochmal in Monate unterteilt; da suche ich aber Dateien auch nicht händisch im Ordner.
 
  • Like
Reaktionen: c0smo

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.669
Punkte für Reaktionen
1.566
Punkte
314
Da sich mein digitales Büro immer noch im Aufbau befindet und ich somit noch viele Dokumente in Papierform vorliegen habe, habe ich mir eine digitale Ordnerstruktur geschaffen, die meiner analogen gleicht. So habe ich z.B. einen analogen Ordner mit Hausrat, darunter dann halt die einzelnen Register wie 1.Gas, 2.Wasser, 3.Strom, 4.Müllabfuhr etc. und genauso habe ich das dann ins digitale übertragen.

Hausrat
/1_Gas
/2_Wasser
/3_Strom
/4_Muellabfuhr

Ein Dateiname setzt sich bei mir folgendermaßen zusammen...
YYYY-MM-DD_[Anbieter]_[Kategorie und/oder Dateiinhalt]_[Sonstiges].pdf
... als Beispiel...
2023-01-25_Oertliche-Wasserwerke_Jahresrechnung_fuer_2022
...oder...
2023-01-25_Oertliche-Wasserwerke_Aenderung_der_Abschlagszahlung_zum_01-01-2023

Dabei achte ich immer darauf, keine Leerzeichen, Sonderzeichen oder Umlaute zu verwenden. Für mich ist diese Art der Kategorisierung und Benennung absolut aussagekräftig und ich kann immer erkennen, welchen Inhalt das PDF in sich trägt.

Tommes
 

c0smo

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
08. Mai 2015
Beiträge
7.489
Punkte für Reaktionen
1.655
Punkte
274
Der Tag "Anbieter" ist ja unkritisch. Der danach macht mir Kopfzerbrechen. Hier müsste ich dutzende anlegen oder manuell nachhelfen.
Ich vermute fast, die erste Digitalisierung aller Dokumente ist am aufwendigsten. Das was dann eintrudelt ist überschaubar.
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.200
Punkte für Reaktionen
1.024
Punkte
224
Ja, dem ist definitiv so. Ich bin so vorgegangen, dass ich aus den etwa 6–12 Monaten vor dem Datum, an dem ich angefangen habe, synOCR und Paperless zu nutzen, alle wichtigen Dokumente und die, von denen ich weiß, dass sie regelmäßig kommen (Autoversicherung wäre ein Beispiel), eingescannt und daraus dann entsprechend Regeln erstellt, damit das in Zukunft klappt.
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.669
Punkte für Reaktionen
1.566
Punkte
314
Naja, von nichts kommt nichts. Oder anders ausgedrückt: Es gibt nichts Gutes, außer man tut es!

Aktuell habe ich 33 Regeln angelegt, die sich auf 833 Zeilen verteilen... und ich bin noch lange nicht fertig. Mein Ziel ist, das ich in naher Zukunft meinen Scanner anschalte, ihm was zu futtern gebe, anschließend das eingescannte Dokument durch synOCR prügel, damit es am Ende gleich in den passenden Ordner wegsortiert wird. Soweit die Theorie
 
  • Like
Reaktionen: Gthorsten

Gthorsten

Benutzer
Mitglied seit
22. Mai 2021
Beiträge
151
Punkte für Reaktionen
42
Punkte
28
so habe ich es mittlerweile.
Das funktioniert würde ich sagen bei 80 % der Dokumente.

bei den restlichen ist es dann immer fine tuning.
gerade zb ein Dokument gescannt von einer Versicherung.
Mein Scanner hat in der Versicherungsnummer an einer Stelle statt einem Punkt ein komma wo gebaut.
Ergebnis, regel klappt nicht.
Sowas ist dann fine tuning, was man nur im Laufe der Zeit hinbekommt.
der Nachteil ist ja, wenn man es so sagen kann, das es automatisch läuft, und man immer wieder für solche Probleme Iterationen braucht.
Aber das finde ich auch nicht schlimm, es macht das System ja im Endeffekt nur besser .
Ich finde das schwierigste ist die Regeln sicher aufzustellen.
ein Problemfall bei mir ist zb meine Bank. Bin bei der Postbank. Mit war nie bewusst auf wieviel anderen Dokumente auch was von der Postbank steht.
Das dann so hinzubekommen das auch nur Bankdokumente diese Tag bekommen und nicht durch Zufall auch eine Versicherung die ein Konto bei der Bank hat.
Aber wie gesagt, man muss nur kontinuierlich dran bleiben, denn das System ist super
 

Yippie

Benutzer
Mitglied seit
01. Feb 2011
Beiträge
643
Punkte für Reaktionen
54
Punkte
54
Mein Problem mit den Regeln ist, dass es zuwenige logische Operatoren gib, zumindest bei den Subrules.

Ich bin als Programmier da ganz andere Dinge gewohnt
Gut die YAML Datei ist keine Programmiersprache aber ein paar Klammerregeln und UND, OR Bedingungen wären schon hilfreich.

Wobei, die einzelnen Subrules werden bereit mit Operator UND verknüpft. Von daher fehlt ja nur noch ein ODER ;)
 

Gthorsten

Benutzer
Mitglied seit
22. Mai 2021
Beiträge
151
Punkte für Reaktionen
42
Punkte
28
nun ja vlt bekommen wir Sowas ja mal....
Ich konnte bisher immer alles so lösen.
aber wie gesagt gut Ding will Weile haben, oder wie heißt das?

und by the way, sowas kostet echt Zeit.
Das habe ich gemerkt bei der Implementierung der Datumssuche. Und immer alles nur nach Feierabend, da dauert es mal länger
😉
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.544
Punkte für Reaktionen
1.377
Punkte
234
Wobei, die einzelnen Subrules werden bereit mit Operator UND verknüpft. Von daher fehlt ja nur noch ein ODER ;)
condition: any geht ja schon in die Richtung. Aber ja, ich verstehe, dass das nur begrenzt hilft. Da ist noch viel Luft nach oben. Und als Nicht-Programmierer mit umsomehr Aufwand umzusetzen 🙈

Code:
 ➜ condition:
    • wie viele Suchregeln erfüllt sein müssen, damit die Regel erfüllt wird
    • Syntax: condition: VALUE (ein Leerzeichen zwischen Doppelpunkt & VALUE)
    • VALUE ist all / any / none
     • condition: all ➜ alle Suchregeln müssen erfüllt werden
     • condition: any ➜ irgendeine Suchregel muss erfüllt sein
     • condition: none ➜ keine Suchregel darf erfüllt sein
    • nur ein Schlüsselwort pro Regel (>condition:<)
 
  • Like
Reaktionen: Yippie und Gthorsten

Gthorsten

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

rmayergfx

Benutzer
Mitglied seit
05. Aug 2013
Beiträge
143
Punkte für Reaktionen
15
Punkte
18
Eine bitte. Könnte man in die GUI einen Button einbauen um Inotify zu deaktivieren? Ich benötige das nicht und erhalte mit jedem Scan einen Eintrag in der Datei inotify.log:
Code:
does not run - start monitoring ...
ERROR: inotify-tools are not installed
You can install the SPK from https://synocommunity.com/package/inotify-tools
loop count: 1
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.544
Punkte für Reaktionen
1.377
Punkte
234
Rufst du synOCR mit dem Paramter start auf? Wenn ja, dann mal im Aufgabenplaner weglassen.
 

rmayergfx

Benutzer
Mitglied seit
05. Aug 2013
Beiträge
143
Punkte für Reaktionen
15
Punkte
18
Danke, das wars.

Bei der Datumskorrektur nimmt er ja wenn gewünscht das Datum das er in der Datei gefunden hat, leider setzt er dort die Uhrzeit immer auf 01:00. Kann man da noch etwas per Parameter ändern, damit er z.B. das Datum aus der OCR Datei nimmt und als Uhrzeit die Zeit an der die Datei erstellt wurde?
 

Gthorsten

Benutzer
Mitglied seit
22. Mai 2021
Beiträge
151
Punkte für Reaktionen
42
Punkte
28
bei der datumssuche wird doch nur das Datum gesucht, um es im Dateinamen zu verwenden. Wo kommt denn da die Uhrzeit ins Spiel?
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.544
Punkte für Reaktionen
1.377
Punkte
234
Genaugenommen bleibt die komplett außen vor, weil ja bei einer Suche auch nur das Datum gefunden werden kann. Warum Linux sie dann als 1:00 Uhr interpretiert und nicht als 00:00 Uhr, liegt vielleicht an UTC - keine Ahnung … 🤷‍♂️
Ich habe auch bisher dahingehend keine Mühe investiert, da die Dokumentzeit in der Regel der Uhrzeit des Scannens und nicht der Dokumenterstellung entspricht, was wiederum den meisten im Nachhinein egal sein dürfte. Ich meine damit: Wenn ich am 28.01.2023 um 17:55 Uhr ein Dokument scanne, in dem das Datum 15.03.1997 gefunden wird, dann nützt es mir auch nichts, wenn das Dateidatum auf den 15.03.1997 17:55 Uhr gesetzt wird. In dem Fall sind dann die 17:55 Uhr genauso fiktiv wie 01:00 Uhr, oder?
 
  • Like
Reaktionen: Gthorsten

Struppix

Benutzer
Mitglied seit
10. Apr 2009
Beiträge
882
Punkte für Reaktionen
184
Punkte
63
Guten Morgen,
ich habe mich am Freitag Abend nun endlich mal hingesetzt und synOCR installiert. Bin begeistert, danke @stephan.
Funktioniert echt super.
Nun hänge ich an den Regeln, die ja unzählige Möglichkeiten eröffnen. Da muss man sich erstmal rein fitzen.

Derzeit habe ich folgendes Problem, an dem ich gerade nicht weiterkomme.
Für ein paar Ordner mit alten Kontoauszügen habe ich folgende Regel erstellt:

YAML:
rule_99:
    tagname: Hypovereinsbank_Kontoauszug_§tagname_RegEx
    tagname_RegEx: (?<Auszugnummer>\d{1,2})
    targetfolder: /volume1/...
    condition: all
    subrules:
    - searchstring: XXXXXXX (Kontonummer)
      searchtyp: contains
      isRegEx: false
      source: content
      casesensitive: false
    - searchstring: Bank
      searchtyp: contains
      isRegEx: false
      source: content
      casesensitive: false
    - searchstring: Kontoauszug
      searchtyp: contains
      isRegEx: false
      source: content
      casesensitive: false
    - searchstring: (?<Tag>\d{1,2})[.:-](?<Monat>\d{1,2})[.:-](?<Jahr>\d{4}) (?<Auszugnummer>\d{1,2})
      searchtyp: contains
      isRegEx: true

Die Frage ist nun, da ich davon zu wenig Ahnung habe, oder mich zu blöd anstelle, wie gebe ich die Gruppe Auszugsnummer als Tag zurück bzw. aus?
Der Suchstring ist zB. "09.11:2013-06:12:2013 14", wobei die 14 die Nummer wäre.

Es geht also um tagname_RegEx: (?<Auszugnummer>\d{1,2})
Was muss hier rein, dass er mir den korrekten Wert als Tag anhängt?

Weiterhin habe ich noch eine Frage:
Wie kann man Regeln so kombinieren, das die Reihenfolge der Tags passt? Ist dies nur durch die Reihenfolge der Regeln selbst definiert?
Also zB. Steuer, Müllgebühr, Bescheid ..., sodass er jeweils Steuer_Bescheid oder Müllgebühr_Bescheid zurück gibt.

Bin echt gespannt was mir da noch für Ideen kommen.

Gruß
Karsten
 
Zuletzt bearbeitet:

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.544
Punkte für Reaktionen
1.377
Punkte
234
Für ein paar Ordner mit alten Kontoauszügen habe ich folgende Regel erstellt:
Am besten, diese einfach mal posten :ROFLMAO:

Es geht also um tagname_RegEx: (?<Auszugnummer>\d{1,2})
Was muss hier rein, dass er mir den korrekten Wert als Tag anhängt?
Der Regex gilt für das gesamte Dokument. Also erstellst du dir einen Regex, der dir in dem Fall nur die 14 ausgibt. Damit das Wort Auszugsnummer mit verwendet wird, schreibst du es vor die Variable: tagname: Hypovereinsbank_Kontoauszug_Auszugsnummer–§tagname_RegEx

Wie kann man Regeln so kombinieren, das die Reihenfolge der Tags passt?
Die alphabetische Reihenfolge der Regelnamen (die ja eindeutig sein müssen) sorgt auch für die Reihenfolge der Tags. Also einfach die Regelnamen entsprechend anpassen (z.B. mit einer abschließenden Ziffer).
 

Struppix

Benutzer
Mitglied seit
10. Apr 2009
Beiträge
882
Punkte für Reaktionen
184
Punkte
63
Hallo Stephan,

danke für Dein Feedback. Das war die Regel ^ ich habe das mal geändert.
Nun Dein Vorschlag löst das Problem nicht.

Die Ausgabe mit "Hypovereinsbank_Kontoauszug_§tagname_RegEx" ist 2022-02-03_Hypovereinsbank_Kontoauszug_Auszugsnummer_36.pdf
Die Ausgabe mit "Hypovereinsbank_Kontoauszug_Auszugsnummer–§tagname_RegEx" ist 2022-02-03_Hypovereinsbank_Kontoauszug_Auszugsnummer_36.pdf

Wie gesagt der Wert der Gruppe, also dessen Variable ist das Problem, hier unter "tagname_RegEx: (?<Auszugnummer>\d{1,2})".
Wie frage ich den Wert / das Ergebnis der Gruppe ab bzw. gebe es aus.

Ansonsten passt das ja soweit

Unbenannt.PNG

Gruß
Karsten
 


 

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