synOCR synOCR - GUI für OCRmyPDF

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.541
Punkte für Reaktionen
1.373
Punkte
234
Nein, ich spreche nicht von synOCR sondern von ocrmypdf - dem Docker Image. synOCR ist ja nur eine kleine unbedeutende GUI für dieses bekannte OCR-Paket. Ich hätte dir jetzt nicht empfohlen, das aktuelle Schnappschussbuild von synOCR zu installieren, da es da auch noch offene Baustellen gibt.

Du müsstest mal im DSM Docker öffnen ➜ Registrierung ➜ ocrmypdf suchen ➜ klickst jbarlow83/ocrmypdf an ➜ Button Download ➜ und lädst mal die Version v12.7.1 herunter (das war das letzte Release vom 13er).
Wenn es geladen wurde (was je nach Bandbreite etwas dauern kann - sieht man im Bereich Images), musst du dieses Image noch in deinem Profil von synOCR auswählen und dann mal einen Testlauf machen.
 

hergi

Benutzer
Mitglied seit
29. Jan 2015
Beiträge
7
Punkte für Reaktionen
1
Punkte
53
Hallo nochmals,
meintest Du mich mit der Antwort? ;-)
Im Hub ist noch eine v12.7.2 vorhanden und dann diverse v13 (bis v13.1.1).
Ich hatte nur von Deinem Server die aktuelle synOCR_DSM6_master_latest_(2021-12-03_16-10)_a0de6c6.spk heruntergeladen und im Paket-Manager installiert und sonst alles so gelassen wie bisher.
Das Image ist das jbarlow83/ocrmypdf:latest und das ist auch unter synOCR ausgewählt. Die Beschreibung im Paket-Zentrum ist dann wohl nur die von ocrmypdf und nicht von der synOCR Gui, oder?

Und eins muss ich Dir mal sagen, die ist alles andere als "unbedeutend" ;) (y)
 
Zuletzt bearbeitet von einem Moderator:

Gthorsten

Benutzer
Mitglied seit
22. Mai 2021
Beiträge
151
Punkte für Reaktionen
42
Punkte
28
Im Idealfall beide. Aber bitte nicht die von synOCR bearbeitete Datei modifizieren. Wenn, dann schwärze bitte das gescannte Original und lass es anschließend von synOCR bearbeiten.
Hi Stefan, Ich habe gerade nocjh einen Versuch gemacht. Wenn ich die Original PDF Datei nehme, die die ich von meiner Bank herunter geladen habe und das damit mache, dann taucght der Fehler auf.
Jetzt habe ich die Datei mal ausgedruckt und erneut eingescannt. Dann klappt es alles. Die Original ist durchsuchbar und hat scheinbar einen Textlayer.
Kann das evtl da dran liegen?
Merkwürdig ist dann nur, das der Adobe da Probleme mit hat, andere Reader aber nicht ( also jedenfalls auf Android)
 

hergi

Benutzer
Mitglied seit
29. Jan 2015
Beiträge
7
Punkte für Reaktionen
1
Punkte
53
Hatten wir hier im Thread nicht schon mal das Problem mit einer digitalen Signatur von PDF-Dokumenten? Damit gab´s doch Probleme, oder? :unsure:
 
Zuletzt bearbeitet von einem Moderator:

Gthorsten

Benutzer
Mitglied seit
22. Mai 2021
Beiträge
151
Punkte für Reaktionen
42
Punkte
28
Ist es eine digitale signature oder ist es der Text layer? Der ocr läuft aber mit dem Parameter - a. Und wie gesagt der Probleme hat ist der Adobe...
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.541
Punkte für Reaktionen
1.373
Punkte
234
Das Image ist das jbarlow83/ocrmypdf:latest und das ist auch unter synOCR ausgewählt.
Eben, und das :latest-Image wird ja regelmäßig aktualisiert, weshalb man da auch mal auf einen Bug auflaufen kann. Bitte wähle mal statt jbarlow83/ocrmypdf:latest das jbarlow83/ocrmypdf:v12.7.1 in der synOCR GUI.

Die Beschreibung im Paket-Zentrum ist dann wohl nur die von ocrmypdf und nicht von der synOCR Gui, oder?
Nein. Das Paketzentrum hostet nur synOCR.

Ich hatte nur von Deinem Server die aktuelle synOCR_DSM6_master_latest_(2021-12-03_16-10)_a0de6c6.spk heruntergeladen und im Paket-Manager installiert und sonst alles so gelassen wie bisher.
Und das war nicht nötig, da der Fehler ja bei dir ‚plötzlich‘ kam (ohne synOCR Update), was auf einen Fehler in ocrmypdf schließen lässt.
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.541
Punkte für Reaktionen
1.373
Punkte
234
Wenn ich die Original PDF Datei nehme, die die ich von meiner Bank herunter geladen habe und das damit mache, dann taucght der Fehler auf.
Das hatte ich fast vermutet. Diese Dokumente sind in der Regel Eigentümer-verschlüsselt. Da habe ich (bzw. ocrmypdf) keinen Einfluss drauf.
 

Gthorsten

Benutzer
Mitglied seit
22. Mai 2021
Beiträge
151
Punkte für Reaktionen
42
Punkte
28
Ja wenn es verschlüsselt wäre würde ich es ja verstehen. Denke ich. Aber wie gesagt ich kann sie normal verarbeiten, nur dann nachdem scannen nicht mit Adobe ansehen. Das. Finde ich extrem merkwürdig
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.541
Punkte für Reaktionen
1.373
Punkte
234
Es wäre aber typisch.
Du kannst mir ja gerne ein Log hochladen. Vielleicht findest sich ja auch ein Kontoauszug, wo lediglich Neuigkeiten mitgeteilt werden, den du mir schicken könntest. Viel Hoffnung auf Abhilfe habe ich aber nicht.

Hatten wir hier im Thread nicht schon mal das Problem mit einer digitalen Signatur von PDF-Dokumenten? Damit gab´s doch Probleme, oder? :unsure:
Das habe ich gar nicht mehr auf dem Schirm. Es ist aber definitiv so, dass teilverschlüsselte Dokumente definitiv nicht gehen.

Auch wäre es nur konsequent, wenn ein signiertes Dokument nicht direkt verändert werden kann (Lesestoff).
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Gthorsten

Gthorsten

Benutzer
Mitglied seit
22. Mai 2021
Beiträge
151
Punkte für Reaktionen
42
Punkte
28
Mache ich heute abend. Ich kann ja auch mit der Lösung, die Kontoauszüge mit einem anderen Reader zu lesen Leben. Aber mich hat es halt. Total gewundert
 
Zuletzt bearbeitet von einem Moderator:

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.541
Punkte für Reaktionen
1.373
Punkte
234
Es gibt drei Profile und bei allen Profilen stimmt das Quellverzeichnis genau überein.
Gibt es bei dir wirklich dieses Verzeichnis:
/volume1/Users/pxxxxa/paperless/input

Hast du dir den Pfad wirklich aus der Filestation geholt?

Ich würde so einen Pfad erwarten (den Usernamen habe ich unkenntlich gemacht):
/volume1/homes/pxxxxa/paperless/input
 
Zuletzt bearbeitet:

Gthorsten

Benutzer
Mitglied seit
22. Mai 2021
Beiträge
151
Punkte für Reaktionen
42
Punkte
28
Vielleicht kann mir ja noch jemand bei einem anderen Problem einen Tipp geben.
Der Scann meiner Abrechnugen führt dazu das immer der 01.10.2020 gefunden wird. Mein Eintrittsdatum in der aktuellen Firma.
Der 'echte' Monat der Abrechnung "September 2021' wird nicht gefunden.
Ich habe im Forum die Fragen von anderen zu dem Thema gefunden, konnte aber keine mögliche Lösung finden.
Die Datums Erkennung könnte ich ja über ein 2. Profil lösen und es dort dann ausschalten oder?

Aber kann ich auch anders nach Datums-Werten suchen? Also zB. nach September 2021?
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.541
Punkte für Reaktionen
1.373
Punkte
234
01.10.2020 kannst du ja in die Liste der ignorierten Daten aufnehmen (in der GUI). Ausgeschriebene Datumsangaben werden derzeit noch nicht erkannt.

(Zum letzten Punkt bräuchte ich etwas Pythonbeistand. Wer kann???)
 
  • Like
Reaktionen: Gthorsten

Gthorsten

Benutzer
Mitglied seit
22. Mai 2021
Beiträge
151
Punkte für Reaktionen
42
Punkte
28
Vermute ich richtig das du aus dem extrahieren Text per python nach den datums Werten suchen möchtest? Bisschen python kann ich 😃
 
Zuletzt bearbeitet von einem Moderator:

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.541
Punkte für Reaktionen
1.373
Punkte
234
@jxsl13 hatte da schon etwas vorbereitet: https://www.synology-forum.de/threads/synocr-gui-fuer-ocrmypdf.99647/post-845834
Allerdings gab es damals noch keine kompatible Pythonversion für DSM (ging nur bis 3.5).

Ich hatte das jetzt bei mir eingebaut, aber es war jetzt in Bezug auf Daten noch zu raffgierig. Da müssten wohl noch ein paar Prüfungen rein.
Alternativ hatte ich noch das Pythonmodul datefinder gefunden. Allerdings sehe ich generell noch die Herausforderung bzgl. den Lokaleinstellungen / Sprachen.

Ich kann dir gern ein Testpaket mit der Implementierung bereitstellen.
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.541
Punkte für Reaktionen
1.373
Punkte
234
Standardmäßig fehlt ja pip, um die nötigen Module zu laden. Dafür hatte ich diese Routine erstellt. Wäre interessant, ob sich bei dir funktioniert (das Paket Python3 muss vom Anwender installiert werden).

Hier werden noch ein paar zusätzliche Module installiert, die letztendlich nicht alle benötigt werden.

Bash:
adjust_python()
{
#########################################################################################
# This function check the python3 installation and the necessary modules                #
#                                                                                       #
#########################################################################################

    if [ ! $(which python3) ]; then
        echo "                  (Python3 is not installed / use fallback search with regex"
        echo "                  for more precise search results Python3 is required)"
        return 1
    else
        [[ $loglevel = "2" ]] && printf "                  python3 already installed ($python_path)\n"

    # check / install pip:
        if ! python3 -m pip --version > /dev/null  2>&1 ; then
            printf "                  Python3 pip was not found and will be now installed ➜ "
            # install pip:
            tmp_log1=$(python3 -m ensurepip --default-pip)
            # upgrade pip:
            tmp_log2=$(python3 -m pip install --upgrade pip)

            # check install:
            if python3 -m pip --version > /dev/null  2>&1 ; then
                echo "ok"
            else
                echo "failed ! ! ! (please install Python3 pip manually)"
                #[[ $loglevel = "2" ]] &&
                echo "install log:" && echo "$tmp_log1" && echo "$tmp_log2"
                return 1
            fi
        fi

        modul_list=$(/var/packages/py3k/target/usr/local/bin/pip list)

    # check / install dateutil (dateparser)
        unset tmp_log1
        if !  grep -q dateutil <<<"$modul_list"; then
            printf "                  Python3 module dateutil was not found and will be installed ➜ "
            # install dateutil:
            tmp_log1=$(/var/packages/py3k/target/usr/local/bin/pip3 install python-dateutil)

            # check install:
            if grep -q dateutil <<<"$(/var/packages/py3k/target/usr/local/bin/pip list)" ; then
                echo "ok"
            else
                echo "failed ! ! ! (please install python-dateutil manually)"
                #[[ $loglevel = "2" ]] &&
                echo "install log:" && echo "$tmp_log1"
                return 1
            fi
        fi

    # check / install datefinder
    # https://github.com/akoumjian/datefinder
        unset tmp_log1
        if ! grep -q datefinder <<<"$modul_list" ; then
            printf "                  Python3 module datefinder was not found and will be installed ➜ "
            # install datefinder:
            tmp_log1=$(/var/packages/py3k/target/usr/local/bin/pip3 install datefinder)

            # check install:
            if grep -q datefinder <<<"$(/var/packages/py3k/target/usr/local/bin/pip list)" ; then
                echo "ok"
            else
                echo "failed ! ! ! (please install python datefinder manually)"
                #[[ $loglevel = "2" ]] &&
                echo "install log:" && echo "$tmp_log1"
                return 1
            fi
        fi

    # check / install pandas:
        unset tmp_log1
        if ! grep -q pandas <<<"$modul_list" ; then
            printf "                  Python3 module pandas was not found and will be installed ➜ "
            # install pandas:
            tmp_log1=$(/var/packages/py3k/target/usr/local/bin/pip3 install pandas)

            # check install:
            if grep -q pandas <<<"$(/var/packages/py3k/target/usr/local/bin/pip list)" ; then
                echo "ok"
            else
                echo "failed ! ! ! (please install python pandas manually)"
                #[[ $loglevel = "2" ]] &&
                echo "install log:" && echo "$tmp_log1"
                return 1
            fi
        fi
    fi

    return 0
}

adjust_python
 

Gthorsten

Benutzer
Mitglied seit
22. Mai 2021
Beiträge
151
Punkte für Reaktionen
42
Punkte
28
Sorry war beim Sport. Werde das morgen im laufe des Tages mal testen.
 
  • Like
Reaktionen: geimist

vistalba

Benutzer
Mitglied seit
21. Dez 2020
Beiträge
12
Punkte für Reaktionen
0
Punkte
1
Gibt es bei dir wirklich dieses Verzeichnis:
/volume1/Users/pxxxxa/paperless/input

Hast du dir den Pfad wirklich aus der Filestation geholt?

Ich würde so einen Pfad erwarten (den Usernamen habe ich unkenntlich gemacht):
/volume1/homes/pxxxxa/paperless/input
Ja, bin ich mir zu 100% sicher. Es funktioniert ja auch über den Aufgabenplaner. Egal ob zeitbasiert oder manuell gestartet. Nur der blaue Knopf in SynOCR will nicht. Wenn ich den drücke, wenn die Aufgabe vom Aufgabenplaner schon läuft, merkt er das auch korrekt.

Die Freigabe „Users“ habe ich selbst erstellt. Ist also nicht die native von Synology und deshalb auch nicht „homes“. Ist eine ganz normale SMB Freigabe welche im GUI von mir erstellt wurde.
 

Gthorsten

Benutzer
Mitglied seit
22. Mai 2021
Beiträge
151
Punkte für Reaktionen
42
Punkte
28
Standardmäßig fehlt ja pip, um die nötigen Module zu laden. Dafür hatte ich diese Routine erstellt. Wäre interessant, ob sich bei dir funktioniert (das Paket Python3 muss vom Anwender installiert werden).

Hier werden noch ein paar zusätzliche Module installiert, die letztendlich nicht alle benötigt werden.

Bash:
adjust_python()
{
#########################################################################################
# This function check the python3 installation and the necessary modules                #
#                                                                                       #
#########################################################################################

    if [ ! $(which python3) ]; then
        echo "                  (Python3 is not installed / use fallback search with regex"
        echo "                  for more precise search results Python3 is required)"
        return 1
    else
        [[ $loglevel = "2" ]] && printf "                  python3 already installed ($python_path)\n"

    # check / install pip:
        if ! python3 -m pip --version > /dev/null  2>&1 ; then
            printf "                  Python3 pip was not found and will be now installed ➜ "
            # install pip:
            tmp_log1=$(python3 -m ensurepip --default-pip)
            # upgrade pip:
            tmp_log2=$(python3 -m pip install --upgrade pip)

            # check install:
            if python3 -m pip --version > /dev/null  2>&1 ; then
                echo "ok"
            else
                echo "failed ! ! ! (please install Python3 pip manually)"
                #[[ $loglevel = "2" ]] &&
                echo "install log:" && echo "$tmp_log1" && echo "$tmp_log2"
                return 1
            fi
        fi

        modul_list=$(/var/packages/py3k/target/usr/local/bin/pip list)

    # check / install dateutil (dateparser)
        unset tmp_log1
        if !  grep -q dateutil <<<"$modul_list"; then
            printf "                  Python3 module dateutil was not found and will be installed ➜ "
            # install dateutil:
            tmp_log1=$(/var/packages/py3k/target/usr/local/bin/pip3 install python-dateutil)

            # check install:
            if grep -q dateutil <<<"$(/var/packages/py3k/target/usr/local/bin/pip list)" ; then
                echo "ok"
            else
                echo "failed ! ! ! (please install python-dateutil manually)"
                #[[ $loglevel = "2" ]] &&
                echo "install log:" && echo "$tmp_log1"
                return 1
            fi
        fi

    # check / install datefinder
    # https://github.com/akoumjian/datefinder
        unset tmp_log1
        if ! grep -q datefinder <<<"$modul_list" ; then
            printf "                  Python3 module datefinder was not found and will be installed ➜ "
            # install datefinder:
            tmp_log1=$(/var/packages/py3k/target/usr/local/bin/pip3 install datefinder)

            # check install:
            if grep -q datefinder <<<"$(/var/packages/py3k/target/usr/local/bin/pip list)" ; then
                echo "ok"
            else
                echo "failed ! ! ! (please install python datefinder manually)"
                #[[ $loglevel = "2" ]] &&
                echo "install log:" && echo "$tmp_log1"
                return 1
            fi
        fi

    # check / install pandas:
        unset tmp_log1
        if ! grep -q pandas <<<"$modul_list" ; then
            printf "                  Python3 module pandas was not found and will be installed ➜ "
            # install pandas:
            tmp_log1=$(/var/packages/py3k/target/usr/local/bin/pip3 install pandas)

            # check install:
            if grep -q pandas <<<"$(/var/packages/py3k/target/usr/local/bin/pip list)" ; then
                echo "ok"
            else
                echo "failed ! ! ! (please install python pandas manually)"
                #[[ $loglevel = "2" ]] &&
                echo "install log:" && echo "$tmp_log1"
                return 1
            fi
        fi
    fi

    return 0
}

adjust_python
Habe gerade mal geschaut . Ich finde kein py3 zum. Installieren. Über das paketzentrum erscheint nur py2. Habe eine ds218+
 


 

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