synOCR synOCR - GUI für OCRmyPDF

ragman1976

Benutzer
Mitglied seit
10. Jan 2017
Beiträge
45
Punkte für Reaktionen
2
Punkte
8
Hi,

ich habe auf dem Server die "synOCR_DSM7_dev_latest_(2021-01-07_17-57)_0ac8043.spk" entdeckt und eben mal installiert. Installieren läßt sich die .spk ohne Fehlermeldung aber wenn ich synOCR starte dreht sich nur kurz das ausführen Symbol und dan tut sich nichts mehr. Ist das grundsätzlich noch nicht lauffähig oder mache ich was falsch?

Gruß
 
Zuletzt bearbeitet:

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.550
Punkte für Reaktionen
1.380
Punkte
234
ichhabe auf dem Server die "synOCR_DSM7_dev_latest_(2021-01-07_17-57)_0ac8043.spk" entdeckt und eben mal installiert. Installieren läßt sich die .spk ohne Fehlermeldung aber wenn ich synOCR starte dreht sich nur kirz das Ausführen Symbol und dan tut sich nichts mehr. Ist das grundsätzlich noch nicht lauffähig oder mache ich was falsch?
Es gibt noch keine lauffähige Version für DSM7. In der Version sind lediglich bereits ein paar Hürden reduziert. Möglicherweise könnte der Cronjob laufen, aber die GUI noch nicht.
 
  • Like
Reaktionen: ragman1976

vasw

Benutzer
Mitglied seit
04. Jan 2021
Beiträge
11
Punkte für Reaktionen
0
Punkte
1
hätte jemand ein Beispiel für die Funktionalität von isRegEx?
lt. Doku: definiert Suchbegriff als Text oder RegEx
heißt, kann einfach nach bestimmten Text suchen? und was heißt "oder RegEx"
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.550
Punkte für Reaktionen
1.380
Punkte
234
Mit RegEx - kurz für Reguläre Ausdrücke - kann man bestimmte Suchmuster definieren / beschreiben. Z.B. wird mittels RegEx der OCR-Text nach einem Datum durchsucht. Um das Datum im Format dd[./-]mm[./-]yy(yy) finden zu können, kommt dieser (einfache) RegEx zum Einsatz: "\b([1-9]|[012][0-9]|3[01])[\./-]([1-9]|[01][0-9])[\./-](19[0-9]{2}|20[0-9]{2}|[0-9]{2})\b"

RegEx sind sehr mächtig, aber ich beiße mir da auch regelmäßig daran die Zähne aus ?

Ein kleines Beispiel für die Tagsuche: HUK( Coburg|24) erfüllt die Regel bei HUK Coburg aber auch bei HUK24. Man muss also nicht getrennt nach beiden Begriffen suchen.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Moblo und vater

BigStephan

Benutzer
Mitglied seit
14. Apr 2014
Beiträge
16
Punkte für Reaktionen
1
Punkte
3
@BigStephan
Sorry, erst hatte ich deine Nachricht übersehen und dann musste ich noch den Fehler finden. Du kannst gerne nochmal testen - auf dem Server liegt ein aktuelles Build.
Hallo Stephan,

jetzt komm ich wieder auf die Einstellungsseite!
Habs gleich mal gestartet mit ein paar Testdateien.

Im LOG kommt am Anfang:

Code:
    ----------------------------------
    |    ==> Funktionsaufrufe <==    |
    ----------------------------------
ERROR at line 419: pagecount_new=$(( $(get_key_value ./etc/counter pagecount) + $pagecount_latest))
ERROR at line 420: ocrcount_new=$(( $(get_key_value ./etc/counter ocrcount) + 1))
ERROR at line 422: pagecount_ID_new=$(( $(get_key_value ./etc/counter pagecount_ID${profile_ID}) + $pagecount_latest))
ERROR at line 423: ocrcount_ID_new=$(( $(get_key_value ./etc/counter ocrcount_ID${profile_ID}) + 1))

Ansonsten warte ich jetzt mal was rauskommt.
 

vasw

Benutzer
Mitglied seit
04. Jan 2021
Beiträge
11
Punkte für Reaktionen
0
Punkte
1
@geimist
@mamema
vielen dank
kurz was anderes: sobald ich einem Link hier aus diesem Forum folge, kommt ein: Error 1001
liegt es am Browser?
 

Anhänge

  • 1611514657321.png
    1611514657321.png
    50,5 KB · Aufrufe: 3

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.550
Punkte für Reaktionen
1.380
Punkte
234
Im LOG kommt am Anfang:
Das hat in diesem Fall nichts zu sagen. Ich habe das Errorhandling etwas verbessert. Im Fall des Programms get_key_value gibt es immer den Rückgabewert 1 (=Fehler) statt 0, obwohl alles wie gewünscht funktioniert. Warum das so ist, weiß ich nicht. Jedenfalls meckert da die Fehleranalyse. Das kannst du getrost ignorieren.
 

oberhex

Benutzer
Mitglied seit
18. Apr 2015
Beiträge
15
Punkte für Reaktionen
3
Punkte
3
Hi geimist,
sorry für die späte Rückmeldung, aber der upload des Log-files funktioniert leider nicht.
Gruß
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.550
Punkte für Reaktionen
1.380
Punkte
234
Es scheinen derzeit überhaupt keine Links aus dem Forum zu funktionieren :confused:

Den Link findest du auf meiner Seite (musst du halt mal abtippen): geimist.eu/synOCR/
 

BigStephan

Benutzer
Mitglied seit
14. Apr 2014
Beiträge
16
Punkte für Reaktionen
1
Punkte
3
Das hat in diesem Fall nichts zu sagen. Ich habe das Errorhandling etwas verbessert. Im Fall des Programms get_key_value gibt es immer den Rückgabewert 1 (=Fehler) statt 0, obwohl alles wie gewünscht funktioniert. Warum das so ist, weiß ich nicht. Jedenfalls meckert da die Fehleranalyse. Das kannst du getrost ignorieren.
Ok...ich ignorier das :)

Sortierung klappt jetzt so wie ich das gern hätte! Super!

Eine Frage hätte ich trotzdem noch (rührt von einem damaligen ursprünglichen Anliegen).

Ist es möglich eine Bedingung zu schaffen wie:
- suche 6-stellige alleinstehende Nummernfolge (ja geht über RegEx - schon probiert)
- und nimm diese gefundene Nummer als TAG (das geht nicht oder?)

So wie ich das verstanden habe sind die TAGS ja fix in der TagConfig.txt definiert.
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.550
Punkte für Reaktionen
1.380
Punkte
234
@BigStephan
Wie stellst du dir das vor?
Ich habe mir das jetzt so überlegt, dass man einen zusätzlichen Parameter hinzufügt. Entweder den Such-RegEx, oder einen Schalter, dass der angegebene Tag ein Such-RegEx sein soll. Ich wäre für ersteres, da man so den angegebenen (ausgeschriebenen) Tag als Fallback nutzen könnte.

Was meinst du?

YAML:
sampletagrulename1:
    tagname: fallback_tag
    targetfolder: "/<path>/"
    condition: all
    tagname_RegEx: "nr[[:digit:]]{6}"
    subrules:
    - searchstring: foundme
      searchtyp: contains
      isRegEx: false
      source: content
      casesensitive: true
    - searchstring: dontfoundme
      searchtyp: is not
      isRegEx: false
      source: content
      casesensitive: false

So würde ich bei erfüllter Regel nochmal nach dem RegEx suchen und den angegebenen Tag durch das Ergebnis ersetzen. Das Ganze muss dann natürlich auch noch Filesystemtauglich sein.
 
Zuletzt bearbeitet:

BigStephan

Benutzer
Mitglied seit
14. Apr 2014
Beiträge
16
Punkte für Reaktionen
1
Punkte
3
Hallo Stephan,

So hätte ich das gedacht. Einen Schalter der festlegt dass wenn regex suchstring erfüllt ist, den gefundenen String als TAG nutzt. Als fallback dann eben den ohnehin schon angegebenen TAG. So könnte das bisherige YAML Muster so bleiben wie es ist und muss "nur" (mir ist natürlich klar dass das nicht wenig Aufwand ist) um den neuen einen Schalterparameter ergänzt werden. Kann man bei Fund des RegEx diesen nicht gleich zwischenspeichern? So sparst Dir den zweiten Durchlauf....
 
Zuletzt bearbeitet von einem Moderator:

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.550
Punkte für Reaktionen
1.380
Punkte
234
Die Suche dauert nicht lang. Deine Überlegung liegt nahe, aber wie soll der Ablauf sein, wenn mehrere Subrules mit RegEx definiert sind (welcher RegEx soll dann als Tag herhalten)? Vielleicht sind einzelne RegEx in Subrules als Negierung definiert. Außerdem wird bei der Suche nach erfüllten Bedingungen via grep -q gesucht, d.h. es gibt nur 1 oder 0 zurück. Hier ist es einfacher, einfach nochmal separat zu suchen, als den Rest umzuschreiben.

Deshalb war jetzt meine Überlegung, einen zusätzlichen Parameter in die Hauptregel aufzunehmen.
 

BigStephan

Benutzer
Mitglied seit
14. Apr 2014
Beiträge
16
Punkte für Reaktionen
1
Punkte
3
Ok...ich kenn den genauen Programmablauf nicht. Aber genau wie du es vorhin beschrieben hast, würde es ja dann funktionieren (egal ob jetzt ein oder zwei suchdurchgänge).

Wenn der eigentliche Suchdurchgang nicht so lange dauert, was genau braucht da denn etwas länger? Hab in meiner yaml ca. 60 Bedingungen und das Abarbeiten einer pdf (nur erste Seite durchsuchen, OCR schon vorhanden) dauert schätzungsweise über eine Minute?
 
Zuletzt bearbeitet von einem Moderator:

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.550
Punkte für Reaktionen
1.380
Punkte
234
Das wundert mich jetzt eigentlich, dass das so lange dauern sollte.
Aber auch wenn ein Textlayer im PDF enthalten ist, wird doch sicherlich zunächst ocrmypdf gestartet (welches dann feststellt, dass ein Textlayer bereits vorhanden ist und seinen Dienst quittiert). Um das näher zu ergründen, müsste ich die Zeitmarken mal mit loggen.
 


 

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