synOCR synOCR - GUI für OCRmyPDF

Stu

Benutzer
Mitglied seit
21. Nov 2020
Beiträge
4
Punkte für Reaktionen
6
Punkte
53
Hallo Stefan,

sehr interessant. Auch ich sehe den Fehler oft in meinem Log - allerdings unabhängig von einem synOCR-Durchlauf. In der Regel gebe ich nicht allzu viel auf Fehlermeldungen im Log, sofern ich kein 'aktives' Fehlverhalten der DS beobachten kann.

Falls jemand nähere Informationen dazu hat, immer her damit …

ist ein BTFRS "Fehler" den jeder hat. Habe vor einiger Zeit das mal mit dem Support thematisiert. Ein Non-Issue
Hallo Stephan,
Hallo mamema,

vielen herzlichen Dank für Eure Antworten!

Hatte vor kurzem aufgrund (Non-Original) RAM in der DS918+ immer mal wieder etwas anders gelagerte BTRFS-Fehler, seitdem der Original-RAM wieder drin ist, sind jene BTRFS-Fehler weg. Vielleicht bin ich deswegen ein wenig übersensibel :D

Ein aktives Fehlverhalten kann ich (außer den Log-Einträgen) auch nicht feststellen. Und wenn es ein dem Support bekannter Non-Issue ist, dann beruhigt mich das.

Nochmals vielen herzlichen Dank Euch!

Bin total begeistert von synOCR! :cool:

Viele Grüße und einen schönen Tag,

Stefan
 

Thule

Benutzer
Mitglied seit
19. Nov 2020
Beiträge
8
Punkte für Reaktionen
1
Punkte
3
Hallo,

ich habe noch eine inhaltliche Frage zu den Tags.

Wie sortiert ihr eure Bankunterlagen ein?

Beispiel:
Ihr erhaltet eine Rechnung oder eine Gehaltsabrechnung. Auf diesen Dokumenten steht logischerweise eure Kontoverbindung (IBAN oder KTO BLZ).
Kategorisch gehört das Dokument in den Rechnungsordner.
Aufgrund des Tags der Bank verschiebt er es aber zusätzlich in den Bankordner.
Ignoriert ihr das einfach oder gibt es eine Möglichkeit zu sagen, entweder Rechnung oder Bank?
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.567
Punkte für Reaktionen
1.390
Punkte
234
Solche Konstellationen waren ja der Grund für die Regeldatei im YAML-Format. In dem Fall musst du halt mehrere Unterregeln mit eindeutigen Stichwörtern kombinieren, ggf. via RegEx.
 

Thandi

Benutzer
Mitglied seit
26. Nov 2020
Beiträge
2
Punkte für Reaktionen
0
Punkte
1
Hallo ins Forum,
ich möchte mich zuerst für euere Mühe bedanken. Ich nutze synOCR nun schon eine Weile und bin sehr begeistert. Ich bräuchte trotzdem mal eure Hilfe. Ich bekomme häufig Ordner mit PDF´s, die ich gerne als kompletten Ordner von synOCR behandeln lassen würde. Diese sollen dann auch als komplette Ordner im Ausgangsordner auftrauchen. Gibt es dafür eine Lösung? Also Ordner XY mit PDFs in den Ordner Quellverzeichnis kopieren und dann aus Zielverzeichnis als Ordner XY mit OCR- PDFs herauskopieren.

Danke für eure Hilfe
Gruß Thomas
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.567
Punkte für Reaktionen
1.390
Punkte
234
Für diesen Fall würde ich ein zusätzliches Profil erstellen. Option "PDFs in Kategorieordner einsortieren" deaktivieren. Kopieren musst du deine Dateien dennoch, aber es bringt dir in deiner Standardstruktur nichts durcheinander.
 

Sven2013

Benutzer
Mitglied seit
04. Sep 2018
Beiträge
10
Punkte für Reaktionen
1
Punkte
3
Hallo Stephan,

vielen vielen Dank für dein tolles Programm. Ich finde es bemerkenswert, was du damit alles schon eingebunden hast.
Ich komme leider noch nicht mit der Tag-Datei klar.

Kann da nochmal jemand draufschauen, der Ahnung davon hat...

1000 Dank und LG
Sven
 

Anhänge

  • _TagConfig_2[profile_Privat].txt
    13 KB · Aufrufe: 15

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.567
Punkte für Reaktionen
1.390
Punkte
234
Vor "tagname:…" gehören jeweils 4 Leerzeichen. Also bitte in allen Regeln anpassen.

Falsch:
YAML:
Abrech:
tagname: Abrechnung
    targetfolder: "/volume1/Familie_privat/Abrechnung"
    condition: all
    subrules:
    - searchstring: Gehaltsmitteilungen
      searchtyp: contains
      isRegEx: false
      source: content
      casesensitive: true

So muss es sein:
YAML:
Abrech:
    tagname: Abrechnung
    targetfolder: "/volume1/Familie_privat/Abrechnung"
    condition: all
    subrules:
    - searchstring: Gehaltsmitteilungen
      searchtyp: contains
      isRegEx: false
      source: content
      casesensitive: true
 

DeeKay1

Benutzer
Mitglied seit
20. Jun 2020
Beiträge
100
Punkte für Reaktionen
23
Punkte
24
Hi @geimist,

kurze Frage zur Regex-Implementierung. Funktioniert an sich einwandfrei, nur klappen lookaheads nicht.

(?=.*\bdas\b)(?=.*\bist\b)(?=.*\bein Test\b)

Der sollte eigentlich für die ersten vier Zeilen einen Treffer landen, scheint aber aktuell nicht zu funktionieren:

das ist ein test
ein test das ist
ist das ein test
ist ein test das
ein ist das test

Hier auch zum testen: https://regex101.com/r/pWYUS0/2/

Eine Idee woran das liegt? Wollte selbst schauen, aber der Link zu deinem Git-Repo, den ich mal hatte, scheint nicht mehr zu funktionieren.

Danke und beste Grüße,
DeeKay
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.567
Punkte für Reaktionen
1.390
Punkte
234
Das Repo ist hier nicht zu erreichen? Bitte nochmal probieren.

Hier bräuchte ich wohl auch Unterstützung. Ich habe da noch keine Idee, was ich bei deinem Problem ändern müsste.
 

DeeKay1

Benutzer
Mitglied seit
20. Jun 2020
Beiträge
100
Punkte für Reaktionen
23
Punkte
24
Danke, auf den Link komme ich drauf. Hatte irgendwo noch einen anderen mit einem extra Port.
Dann schau ich dir das mal na und schick dir ggf. einen Änderungsvorschlag :)
 

DeeKay1

Benutzer
Mitglied seit
20. Jun 2020
Beiträge
100
Punkte für Reaktionen
23
Punkte
24
So, jetzt funktionierts. Mir war nicht klar, dass die Option "searchtyp" noch eine Relevanz hat, sobald man "isRegex" auf true setzt.
Alles was man bei "searchtyp" angeben kann, kann man ja auch direkt schon dem jeweiligen Regex-Ausdruck mitgeben. Daher meine Annahme, dass searchtyp dann ignoriert wird.
Ich hatte bei searchtyp noch "is" stehen, also grep -qwP. Da w macht für meinen Regex natürlich keinen Sinn.
Nach Umstellung auf "contains", also grep -qP, wurde mein Ausdruck auch gefunden.
 
  • Like
Reaktionen: geimist

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.567
Punkte für Reaktionen
1.390
Punkte
234
Schön, dass es geht. Du hast vielleicht gesehen, dass ich das auskommentiert schon als Idee drin habe. Die Überlegung kam mir auch beim Einbauen, hatte es aber zunächst belassen.
 

DeeKay1

Benutzer
Mitglied seit
20. Jun 2020
Beiträge
100
Punkte für Reaktionen
23
Punkte
24
Jetzt hab ich noch ein Problem mit der Suche über mehrere Zeilen, das scheinbar nicht möglich ist

Mit
\bAAA\b.*[\n\r]{1,2}.*\bZZZ\b
sollte er eigentlich auf den String unten triggern. Scheinbar hat kann grep aber nicht über multiline suchen.

AAA , | Il ,
ZZZ

Eine Lösung wäre ggf. die option -z, bei der Zeilenumbrüche beim Suchen komplett ignoriert werden oder aber der Einsatz von pcregrep, da es dort die Multiline-Option -M gibt.
Hast du mit einem von beiden schon gearbeitet und wäre ein switch auf pcregrep überhaupt machbar? Linux ist nicht wirklich meine Domäne...
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.567
Punkte für Reaktionen
1.390
Punkte
234
Auf eine zusätzliche Abhängigkeit auf ein Programm, welches nicht nativ im DSM vorhanden ist, würde ich gern verzichten.

Meine Überlegung ist gerade: siehst du einen Konflikt zu anderen Suchen (auch ohne RegEx), wenn man den Parameter -z obligatorisch mit einbezieht?
Die Zeilenbasierte Suche ist ja im Kontext von synOCR eher hinderlich, oder?

edit:
es scheint aber nicht so zu funktionieren, wie gedacht:
Bash:
user@DS:~$ a="Ein Text
> mit mehreren
> Zeilen"
user@DS:~$ echo "$a" | grep "Text mit"
user@DS:~$ echo "$a" | grep -z "Text mit"
user@DS:~$
 

mamema

Benutzer
Mitglied seit
23. Okt 2009
Beiträge
667
Punkte für Reaktionen
132
Punkte
63
Stephan, wir hatten uns über die Zeilenumbrüche schonmal unterhalten, ich hatte ja ähnliche Wünsche wie DeeKay, meine Erinnerung war, das es so war, dass bei dem Umbau auf eine Zeile zu "zuvielen" Leerzeichen kam, sodass dann die Suche deswegen fehlschlug. Schau Dir mal den Text an, welcher produziert wird.
Ich vermute da schlägt die Interoperabilität der Quelldateien zu. UTF-8, Ansi Format, was auch immer.....
Mann könnte ja diese steile Aussage treffen: Personen die regex nutzen (können), können auch via opkg grep Tools nachinstallieren. Ich weiss, dass Du da VOLL auf so Aussagen abfährst, gell.....
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.567
Punkte für Reaktionen
1.390
Punkte
234
Stephan, wir hatten uns über die Zeilenumbrüche schonmal unterhalten,
So etwas vergesse ich doch ?
Aber stimmt - da war etwas mit den Leerzeichen, hervorgerufen durch die Nachbildung des Layouts von pdftotext.

Man könnte mal den Parameter -layout für pdftotext herausnehmen. Aber anschließend müsste man noch der grep-Suche die Mehrzeiligkeit beibringen …
 

DeeKay1

Benutzer
Mitglied seit
20. Jun 2020
Beiträge
100
Punkte für Reaktionen
23
Punkte
24
Andere Frage: Wieso nutzt du überhaupt grep und dessen Regex-Implementierung? Für die Suche des Datums für den Dateinamen nutzt du ja auch "match" und die parseRegex-Funktion.
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.567
Punkte für Reaktionen
1.390
Punkte
234
Das ist ganz einfach: weil ich kein Profi bin :rolleyes:
Ich hatte mich letztens eher gefragt, warum ich die parseRegex-Funktion nutze und nicht grep -o … :unsure:

Grep lässt sich halt relativ einfach via der Schalter für die einzelnen Optionen steuern.
 


 

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