synOCR synOCR - GUI für OCRmyPDF

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:
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
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"
 
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
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.
 
@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
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.
 
Hi geimist,
sorry für die späte Rückmeldung, aber der upload des Log-files funktioniert leider nicht.
Gruß
 
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/
 
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.
 
@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:
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:
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.
 
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:
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