synOCR synOCR - GUI für OCRmyPDF

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.149
Punkte für Reaktionen
1.115
Punkte
314
Die Funktion steht bei mir über dem Ehrgeiz.
Jaaaa... damit hast du wohl nicht ganz unrecht. Wenn die Funktion einen Mehrwert bringt auch wenn ich sie nicht selbst geschrieben habe, dann tritt auch mein Ehrgeiz hin und wieder ein Schritt zurück. Mir ist am Ende nur wichtig, das ich die Funktion trotzdem verstehe und nicht als Gott gegeben hinnehme. Bei meinen letzten beiden Projekten habe ich auch tolle Unterstüzung aus den Reihen dieses Forums erhalten und sowas ist unbezahlbar. Es hat mich aber auch sehr viel Zeit gekostet, die ganzen Codeoptimierungen und Funktionsverbesserungen zu verstehen und umzusetzen... oder lüge ich @framp oder @BigRonin

Aber ich möchte noch einmal betonen, dass das ja keine Zusammenarbeit ausschließt.
Solange man eine Sprache dabei spricht und alle Parteien das selbe Ziel vor Augen haben, spricht da nichts gegen.

Ich klammere auch nicht an dem Projekt. Wenn es jemand mit mehr Fähigkeiten und Elan schneller voranbringen möchte, lasse ich auch darüber mit mir reden und freue mich über die Ergebnisse
Das könnte wieder von mir gekommen sein. Meine Projekte stehen nicht umsonst unter der GPL und tragen extra keinen Donate Button, genau aus deinen grade genannten Gründen. Oftmals ist es aber eher so, das die Leute mit Vorschlägen, Wünschen und Kritik um die Ecke kommen, aber so gut wie nie einer, der dir zeigt, wie man es besser, anders, effizienter machen könnte, geschweige denn, dein Projekt übernehmen würde bzw. mit einsteigt.

PS: @Tommes , da du schon mal da bist: wie wär's, du alter Webprofi
Haha... ich hab auf meiner produktiv-DS noch nicht mal Docker installiert und bisher hatte ich auch keine Verwendung für dein Programm. Ich wäre demnach wohl ein schlechter Partner... und ein Webprofi bin ich schon garnicht. Trotzdem Danke für dein Angebot.

Tommes
 
Zuletzt bearbeitet:

Nicky_1818

Benutzer
Mitglied seit
31. Jan 2014
Beiträge
88
Punkte für Reaktionen
4
Punkte
8
Meine Skript-Idee für diesen Workflow habe ich mal in Code gegossen.

! ! ! BITTE ZUNÄCHST EIN BACKUP DEINES QUELLORDNERS ANLEGEN ! ! !

Dieses Skript (die 3 Ordnervariablen müssen angepasst werden)
  1. durchsucht alle Verzeichnisse des angegebenen Ordners nach PDF-Dateien
  2. verschiebt diese in den angegebenen synOCR-INPUT-Ordner
  3. versieht diese mit einer ID
  4. und erstellt eine Indexdatei
Nach dem ersten Aufruf lässt man synOCR seine Arbeit machen (ohne Umbenennungssyntax und Einsortierung in regeldefinierte Ordner, d.h. alle fertigen PDFs liegen im synOCR OUTPUT-Ordner)
  1. Das Skript muss jetzt erneut aufgerufen werden
  2. es erkennt die vorhandene Indexdatei
  3. verschiebt die fertigen PDFs an ihren Urspungsort
  4. entfernt die ID aus dem Dateinamen
  5. und benennt die Indexdatei um
[...]

Danke für deine unbezahlbaren Mühen; leider habe ich keine Ahnung was ich mit dem skript auch nur ansatzweise machen soll ?
Ich bin der typische "ich nutze nur leicht verständliche Dinge aus dem App-Store"-User. Also knapp unterhalb eines DAUs :)
Genau das war auch der Grund für mein Interesse an deiner großartigen Idee mit der App.
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.149
Punkte für Reaktionen
1.115
Punkte
314

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.385
Punkte für Reaktionen
1.199
Punkte
234
Danke für deine unbezahlbaren Mühen; leider habe ich keine Ahnung was ich mit dem skript auch nur ansatzweise machen soll ?
So sollte es gehen:
  1. mache ein Backup deines Hauptordners, der die ganzen PDFs enthält
  2. logge dich auf der DS ein
  3. (sofern noch nicht geschehen, installierst du den TextEditor aus dem Paket Zentrum)
  4. öffnest die Filestation und erstellst einen Ordner
  5. in diesen lädst die gepackte Zip-Datei hoch
  6. Rechtsklick auf die Zip-Datei > hier entpacken
  7. durch Doppelklick auf die entpackte Datei sollte sich diese im Text Editor öffnen
  8. gehe in der Filestation zu dem Hauptordner der ganzen PDFs
    1. Rechtsklick auf den Hauptordner
      (ich würde an deiner Stelle das Ganze zunächst mit einem kleinen Testquellordner durchspielen)
    2. Eigenschaften anklicken
    3. den Pfad hinter "Ort" kopieren
    4. Eigenschaftenfenster wieder schließen
  9. im Text Editor fügst du den kopierten Pfad zwischen Anführungszeichen hinter dem Wert SOURCEPARENTDIR ein
    SOURCEPARENTDIR="/volume1/Beispielpfad/zum/Hauptordner"
  10. Trage genauso die vollständigen Pfade (wie in synOCR angegeben) zum synOCR INPUT-Ordner und zum synOCR OUTPUT-Ordner ein
    SYNOCR_INPUT="/volume1/Beispielpfad/synOCR_INPUT"
    SYNOCR_OUTPUT="/volume1/Beispielpfad/synOCR_OUPUT"
  11. Jetzt müssen wir einen neuen Task im Aufgabenplaner erstellen, da dir der Umgang mit der Shell nicht vertraut ist:
    1. kopieren zunächst den Pfad der Skriptdatei analog zu Punkt 8
    2. öffne die SystemSteuerung
    3. sofern nicht aktiviert, muss oben rechts in der Systemsteuerung der "erweitere Modus" aktiviert sein, damit du alle Symbole siehst
    4. klicke auf "Aufgabenplaner"
    5. Button "erstellen" ? "geplante Aufgabe" ? "Benutzerdefiniertes Skript"
    6. Reiter "Allgemein"
      1. vergebe unter "Vorgang" einen individuellen Namen für die Aufgabe (optional)
      2. entferne den Haken bei "aktiviert"
    7. Reiter "Aufgabeneinstellung"
      1. "Ausführungsdetails per E-Mail senden" aktivieren, sofern ein E-Mailkonto im DSM konfiguriert ist (optional)
      2. in das untere Feld "Benutzerdefiniertes Skript" fügst du den zuvor kopierten Pfad zu deinem Skript ein
    8. Aufgaben-Fenster durch Klick auf OK speichern und schließen
  12. Konfiguration von synOCR
    1. das der INPUT und OUTPUT-Pfad passen muss, ist selbstredend
    2. Suchmuster für Quelldateiname sollte leer sein
    3. unter "OCR Optionen und Umbenennung" ? "Suchbereich für Tags" wählst du ? "Dateien im Zielordner behalten" aus
    4. als "OCR Rename-Syntax" wählst du §tit oder lässt das Feld leer
    5. speichern
  13. Jetzt sammeln wir alle PDFs ein und verschieben sie in den synOCR INPUT-Ordner
    1. wir brauchen wieder die Systemsteuerung mit der Seite "Aufgabenplaner"
    2. suche die Zeile, mit dem vorhin erstellten Skript und klicke die Zeile an
    3. klick oben auf den Button "Ausführen" (ist mit JA zu quittieren)
    4. wenn du jetzt in der FileStation den synOCR INPUT-Ordner öffnest, sollten dort nach einigen Sekunden deine PDFs gesammelt sein (mit einer langen Zahl voran)
    5. in dem gleichen Ordner, wo das Skript liegt, sollte sich jetzt auch die Indexdatei befinden
    6. Das Ergebnis der Aktion erhältst du via Mail (sofern aktivert), oder über den Button "Aktion" ? "Ergebnis anzeigen"
      gerne mal posten, damit wir hier kontrollieren können, dass alles gut ist
  14. führe jetzt einen manuellen Programmlauf von synOCR durch / je nach Menge, kann das natürlich ziemlich lange dauern

  15. führe jetzt wieder Punkt 13 aus
    1. (das Skript erkennt, dass bereits eine Indexdatei vorliegt und verschiebt alle Dateien aus dem synOCR_OUPUT-Ordner dahin zurück, wo sie ursprünglich waren.
    2. wenn du in der FileStation den synOCR_OUPUT-Ordner aufrufst, sollte er idealerweise wieder leer sein.

Das liest sich jetzt viel, aber ich habe fast jeden Mausklick aufgeschrieben.

Viel Erfolg

PS: lieber mal nachfragen, falls du etwas nicht verstehen solltest!
 
Zuletzt bearbeitet:

Nicky_1818

Benutzer
Mitglied seit
31. Jan 2014
Beiträge
88
Punkte für Reaktionen
4
Punkte
8
Phuuu.. danke für die äußerst ausführliche Antwort. Soweit habe ich alles gemacht. Jedoch stecke ich hier fest:

  1. Wenn du jetzt in der FileStation den synOCR INPUT-Ordner öffnest, sollten dort nach einigen Sekunden deine PDFs gesammelt sein (mit einer langen Zahl voran)
  2. in dem gleichen Ordner, wo das Skript liegt, sollte sich jetzt auch die Indexdatei befinden
  3. Das Ergebnis der Aktion erhältst du via Mail (sofern aktivert), oder über den Button "Aktion" ? "Ergebnis anzeigen"
    gerne mal posten, damit wir hier kontrollieren können, dass alles gut ist

Ich kann die neue Aufgabe starten, aber es passiert nix? Was genau muss bei "Benutzerdefiniertes Script" drinstehen?

Bei mir wäre es aktuell: "/volume1/docker/OCR/multidir_workflow.sh"

Im Bereich Aktion --> Ergebnis anzeigen steht das Folgende:
"Aktueller Status: Normal (0)"
"Startzeit:" = "Endzeit" ... also das identische Datum und die identische Uhrzeit.
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.385
Punkte für Reaktionen
1.199
Punkte
234
Im Prinzip ist alles richtig.

Was genau muss bei "Benutzerdefiniertes Script" drinstehen?
Bei mir wäre es aktuell: "/volume1/docker/OCR/multidir_workflow.sh"

Ändere das mal bitte zu:
Code:
chmod +x "/volume1/docker/OCR/multidir_workflow.sh"
"/volume1/docker/OCR/multidir_workflow.sh" > "/volume1/docker/OCR/multidir_workflow.log"

Nach einem erneuten Ausführen würde mich mal interessieren, was in multidir_workflow.log steht.
 

Nicky_1818

Benutzer
Mitglied seit
31. Jan 2014
Beiträge
88
Punkte für Reaktionen
4
Punkte
8
"Pfad ungültig" o_O
 

Nicky_1818

Benutzer
Mitglied seit
31. Jan 2014
Beiträge
88
Punkte für Reaktionen
4
Punkte
8
SOURCEPARENTDIR="/volume2/Datensicherung/2020-07-23 - Cloud/"
SYNOCR_INPUT="/volume1/docker/OCR/OCRinput/"
SYNOCR_OUTPUT="/volume1/docker/OCR/OCRoutput/"


@@ Fehler gefunden!

Beim editieren der .sh Datei scrollt er bei mir minimal nach unten. Ich habe die falschen 3 Zeilen angepasst, da ich die obersten nicht gesehen hab ?

@@Er kopiert jetzt fleissig die 100GB an pdf Dateien von einem Volume auf das Andere.
 
Zuletzt bearbeitet:

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.385
Punkte für Reaktionen
1.199
Punkte
234
:unsure:

Um dem mal auf den Grund zu gehen, ersetze bitte mal diese Zeilen:
Bash:
if [ ! -d "$SOURCEPARENTDIR" ] || [ ! -d "$SYNOCR_INPUT" ] || [ ! -d "$SYNOCR_OUTPUT" ] ; then
    echo "Pfad ungültig!"
    exit
fi
mit diesen:
Bash:
if [ ! -d "$SOURCEPARENTDIR" ] ; then
    echo "Pfad ungültig! (${SOURCEPARENTDIR})"
    exit
fi
if [ ! -d "$SYNOCR_INPUT" ] ; then
    echo "Pfad ungültig! (${SYNOCR_INPUT})"
    exit
fi
if [ ! -d "$SYNOCR_OUTPUT" ] ; then
    echo "Pfad ungültig! (${SYNOCR_OUTPUT})"
    exit
fi
So wird für jeden einzelnen Ordner die Gültigkeit geprüft.
Bitte wieder die Log-Datei angucken / posten.
 

Nicky_1818

Benutzer
Mitglied seit
31. Jan 2014
Beiträge
88
Punkte für Reaktionen
4
Punkte
8
Danke für die Mühen bei der Fehlersuche, aber habe diesen Fehler leider selbst verursacht ;)
Siehe Post 929.

DANKE :)
 

42HAL

Benutzer
Mitglied seit
10. Apr 2018
Beiträge
55
Punkte für Reaktionen
2
Punkte
8
Hallo Zusammen,

ich versuche PDFs', die von einer Bank stammen (Auszüge, Mitteilungen etc.) zu verarbeiten bzw. abzulegen.
Die PDFs' kann ich mit einem Rader (PDF-XChange Viewer) problemlos lesen (ohne Eingabe eines Passwortes / irgend eines Hinweises).
Sollen diese dann aber verarbeitet werden (Tags' setzen etc.) bekomme ich im log die folgende Fehelrmeldung:

? OCRmyPDF-LOG:
reading file from standard input
EncryptedPdfError: Input PDF is encrypted. The encryption must be removed to
perform OCR.

For information about this PDF's security use
qpdf --show-encryption infilename

You can remove the encryption using
qpdf --decrypt [--password=[password]] infilename
? OCRmyPDF-LOG-END

?? failed! (target file is empty or not available)
Wenn ich versuche "08/15" PDFs' zu bearbeiten Anleitungen / Datenblätter bekomme ich KEINE Fehlermeldung.

Kennt jemand den Effekt / weiß jemand was zu tun ist?

Vielen Dank im Voraus.
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.385
Punkte für Reaktionen
1.199
Punkte
234
Dass du die PDFs lesen kannst, bedeutet noch nicht, dass du alle Rechte zum Ändern hast. Die Berechtigungen kann man sich in den meisten PDF-Readern anzeigen lassen. Darauf hat synOCR, bzw. ocrmypdf keinen Einfluss …
 
Zuletzt bearbeitet:

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.385
Punkte für Reaktionen
1.199
Punkte
234
@@Er kopiert jetzt fleissig die 100GB an pdf Dateien von einem Volume auf das Andere.
Wie viele sind denn das? :oops:
Willst du die wirklich alle auf einmal abarbeiten lassen?

Meinen Tipp, es erst einmal mit einem kleinen Testquellordner zu versuchen, hast du schon gelesen, oder?
 

Nicky_1818

Benutzer
Mitglied seit
31. Jan 2014
Beiträge
88
Punkte für Reaktionen
4
Punkte
8
Wie viele sind denn das? :oops:
Willst du die wirklich alle auf einmal abarbeiten lassen?

Meinen Tipp, es erst einmal mit einem kleinen Testquellordner zu versuchen, hast du schon gelesen, oder?


Jup, habe ich gelesen. Hatte erst nen "kleinen" Testordner gemacht; lief sauber durch. Jetzt ist der große Ordner dran... dauert halt länger, aber man sieht ja im output-ordner den Fortschritt.

Ist es korrekt, dass pro pdf Dokument der Dockercontainer gestartet und beendet wird...?
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.385
Punkte für Reaktionen
1.199
Punkte
234

42HAL

Benutzer
Mitglied seit
10. Apr 2018
Beiträge
55
Punkte für Reaktionen
2
Punkte
8
Habe das mit meinen Bankdokumenten auch. Löaung: PDFs durch einen "Passwort Remover" laufen lassen (war meine Lösung) oder via PrintToPDF neues PDF erstellen.
Hallo Mamema,

hättest Du Empfehlungen hinsichtlich eines Passwort Removers (Win & linux) ?

Danke & Gruß
 

mamema

Benutzer
Mitglied seit
23. Okt 2009
Beiträge
667
Punkte für Reaktionen
132
Punkte
63
hättest Du Empfehlungen hinsichtlich eines Passwort Removers (Win & linux) ?

...du wirst Freeware Tools erwarten? Ich habe berufsbedingt Zugriff auf Passware Kit Forensic, dass ist kostenpflichtig.
Freeware kenne ich "PDFCrack" kann dazu aber wenig sagen.
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.385
Punkte für Reaktionen
1.199
Punkte
234
Sofern dem User das Recht "drucken" gewährt wird, kannst du (wie oben bereits erwähnt) den Weg über einen PDF-Drucker, bzw. PDF-Export gehen.
 


 

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