pdf-Scan to Folder (auf die Synology) und dann Texterkennung mit OCR durch Synology

Status
Für weitere Antworten geschlossen.

hvkls

Benutzer
Mitglied seit
23. Dez 2012
Beiträge
463
Punkte für Reaktionen
0
Punkte
22
Könnte sein, dass man den Schlafzustand mit sdparm oder ggf. mit einem neueren hdparm herausfinden oder beeinflussen kann, mit dem Thema habe ich mich aber nicht mehr beschäftigt, seit ich auf Synology umgestiegen bin.
 

harrykausl

Benutzer
Mitglied seit
26. Jul 2012
Beiträge
176
Punkte für Reaktionen
4
Punkte
18
Eigenlich bräuchte ich das zeitgesteuerte Aufrufen gar nicht. Es würde mir reichen, wenn ich das Script von meinem Windows-Rechner aus aufrufen könnte.
 

hvkls

Benutzer
Mitglied seit
23. Dez 2012
Beiträge
463
Punkte für Reaktionen
0
Punkte
22
Das macht hinsichtlich des Herausfindens des Status keinen Unterschied, das Script würdest du dann einfach nicht periodisch aufrufen.
 

harrykausl

Benutzer
Mitglied seit
26. Jul 2012
Beiträge
176
Punkte für Reaktionen
4
Punkte
18
Klar, ich muss nur noch herausfinden, wie ich es aus windows aufrufen kann (ssh o.ähnliches)
 

hvkls

Benutzer
Mitglied seit
23. Dez 2012
Beiträge
463
Punkte für Reaktionen
0
Punkte
22
Meinst du einen Wrapper für Windows (Ich kenne nur "Platypus" für den Mac) oder meinst du die Möglichkeit, dich von Windows aus per SSH einzuloggen und von der Konsole aus Befehle aufzurufen (PuTTY)?
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.158
Punkte für Reaktionen
405
Punkte
393
Hallo,
schau Dir mal plink (von den putty-Tools) an.

Gruß Götz
 

sichler

Benutzer
Mitglied seit
10. Dez 2007
Beiträge
10
Punkte für Reaktionen
0
Punkte
1
Sorry ich brings einfach nicht zum laufen. was muss ich genau machen das docker die Anwendung nicht gleich wieder stoppt?

Gruss MArtin
 

stweiss

Benutzer
Mitglied seit
09. Jun 2017
Beiträge
34
Punkte für Reaktionen
0
Punkte
0
Der Container läuft nicht dauerhaft! Es reicht, wenn das Image ("Abbild") jbarlow83/ocrmypdf vorhanden ist. Entweder über den Synology Docker runterladen oder per docker pull jbarlow83/ocrmypdf im Terminal holen. Den Rest macht das Script. Für jedes PDF wird implizit ein neuer temporärer Container aus dem Image erstellt.
 

rabu

Benutzer
Mitglied seit
26. Sep 2013
Beiträge
278
Punkte für Reaktionen
2
Punkte
24
Hi zusammen, ich interessiere mich brennend für dieses Projekt und erhoffe Großes aber nun bin ich leider nicht der große php Experte, was programmieren angeht.
Installation habe ich geschafft und zu Laufen scheint es auch. Dann bekomme aber leider eine Fehlermeldung im log. Meine Testdatei wird nicht gefunden!?

2017-09-10 22:22:05 Scanning for new scans: /volume1/scanned/_inbox
2017-09-10 22:22:08 Docker output:
WARNING: Your kernel does not support CPU cfs quota. Quota discarded.
/application/docker-wrapper.sh: line 4: cd: /home/docker: Permission denied
ERROR - File not found - scan_ImageOnly.pdf
2017-09-10 22:22:08 pdftotext output:
I/O Error: Couldn't open file '/volume1/scanned/_inbox/OCR_scan_ImageOnly.pdf': No such file or directory.
2017-09-10 22:22:08 Scanning for Tagging: /volume1/scanned/Scans

Zu meiner Ausstattung: Ich habe eine DS415+ mit Docker, ein Volume1 mit "scanned" Ordner.
Dort enthalten ist der _inbox, SCANS und tags Ordner. Sonstige Ordner habe ich nicht. In dem _inbox Ordner liegt eine scan_ImageOnly.pdf zum testen.
Im Aufgabenplaner liegt eine Aufgabe, die als root gestartet wird. Starte es bisher nur manuell. Das scheint auch zu funktionieren.
Ob ihr noch mehr Infos benötigt, kann ich nicht beurteilen. Bitte einfach fragen.

Könnt ihr mir vielleicht weiterhelfen wo der Fehler liegt?
 

stweiss

Benutzer
Mitglied seit
09. Jun 2017
Beiträge
34
Punkte für Reaktionen
0
Punkte
0
Hi rabu,

sieht so aus, als ob irgendwas mit docker nicht stimmt. Bist du sicher, dass das Script mit root-Rechten gestartet wird? Das ist wichtig, damit er den Docker mit dem Benutzer starten kann, dem das pdf gehört.
Du sagst, manuell funktioniert es? Was meinst du mit manuell? Startest du das Script per console oder startest du die Aufgabe per Hand?
Es klappt also nur als geplante Aufgabe nicht?

Gruß,
Stefan
 

rabu

Benutzer
Mitglied seit
26. Sep 2013
Beiträge
278
Punkte für Reaktionen
2
Punkte
24
Aktuell starte ich die Aufgabe noch manuell über den Aufgabenplaner, weil ich es testen wollte. Später soll die Aufgabe automatisch stündlich gemacht werden. Sie wird nicht per script gestartet. Ich meinte mit "manuell funktioniert es", dass wenn ich die Aufgabe manuell starte, er ja auch irgend womit startet, ansonsten hätte ich doch keine Logdatei bekommen.
Was kann ich beim Docker denn noch falsch machen? Ich habe hier einige Screenshots, wie es aktuell bei mir aussieht.
Bildschirmfoto 2017-09-11 um 22.07.46.jpg

Bildschirmfoto 2017-09-11 um 22.08.02.jpg

Bildschirmfoto 2017-09-11 um 22.08.12.jpg

Bildschirmfoto 2017-09-11 um 22.08.20.jpg

Bildschirmfoto 2017-09-11 um 22.09.01.jpg

Bildschirmfoto 2017-09-11 um 22.09.36.jpg
 

nimra20

Benutzer
Mitglied seit
16. Sep 2014
Beiträge
2
Punkte für Reaktionen
0
Punkte
1
Hallo zusammen

Auch ich nutze dieses Tool. Coole Sache!

Im Readme steht:

<name>: You can define $renamerules. The first rule which matches the ocr'ed content of the first page is used. You can use the operators & (AND) and , (OR) and you can use the wildcard operators ? and *.
<tags>: In $tagrules you can specify your tags. All matching rules will add their tag to the filename. You can use the same operators here.


Bei mir klappt es mit dem Operator "&", nicht aber mit ",".

Mache ich was falsch?
 

rabu

Benutzer
Mitglied seit
26. Sep 2013
Beiträge
278
Punkte für Reaktionen
2
Punkte
24
ok, ich habe meinen Fehler jetzt in den Griff bekommen und kann euch erzählen, dass die Texterkennung außerhalb des "home"-Ordners nicht funktioniert. Wieso nicht, kann ich leider nicht nachvollziehen, da ich zu wenig Kenntnis von php habe aber bei mir läuft es jetzt und da bin ich schon mal froh drüber.
Was ich aber noch nicht herausgefunden habe? Wofür ist der Ordner "tags"? Diesen hatte ich noch nicht benötigt und es werden dort anscheinend auch keine getaggten Dateien abgelegt.
Genau der "Archivordner". Warum ist dieser in der config angegeben?
Was haben diese Ordner für Funktionen?
 

stweiss

Benutzer
Mitglied seit
09. Jun 2017
Beiträge
34
Punkte für Reaktionen
0
Punkte
0
Hallo rabu,

sorry für die späte Antwort. Ich habe leider momentan wenig Zeit für dieses Projekt ..

Gut, dass du das mit dem home-Ordern selbst herausgefunden hast. Scheint ein Rechte-Problem zu sein. Der Docker wird immer mit dem User gestartet, dem die Datei gehört. Wenn aber ein übergeordnetes Verzeichnis diesem User keinen Zugriff erlaubt könnte das das Problem erklären.

Deinen Screenshots zufolge hast du für das Docker Image auch einen Container angelegt. Das ist nicht notwendig und er wird auch nicht verwendet. Den kannst du löschen ;) Wichtig ist, dass das Image (Abbild) da ist.

Okay, das mit den tags und dem Archivordner scheint für viele unverständlich zu sein. Das Konzept muss ich mal überarbeiten. Das Prozedere ist aktuell wie folgt gedacht:

  1. PDF's werden (vom Scanner oder per Hand) im $inboxfolder abgelegt. Ausgangssituation: Nichtssagender Dateiname und nicht durchsuchbar (kein OCR).
  2. Schritt 1, falls doOCR = true: PDF's werden durch den Docker gejagt und werden so durchsuchbar (OCR). Dateiname wird nicht verändert.
  3. Schritt 2, falls dann doRenameAfterOCR = true: Die PDF's werden umbenannt. Der neue Dateiname wird gebildet aus einem Datum (entweder Zeitstempel der Datei oder aus dem OCR) und aus den konfigurierten Regeln (siehe $renamerules und $tagrules.
  4. An diesem Punkt vertraue ich der Automatik aber nicht zu 100%. Daher müssen aktuell hier nach manueller Prüfung des Dateinamens die Dokumente in den $archivordner verschoben werden. Natürlich nur, wenn man den nächsten Schritt verwenden möchte.
  5. Schritt 3, falls $doTagging = true: Hierbei werden die Dokumente aus dem $archivordner, die einen oder mehrere Hashtag(s) im Dateinamen tragen in einer neuen Verzeichnisstruktur unter dem $tagsfolder einsortiert. Das ganze funktioniert über Hardlinks, dh. die Dateien verbleiben im Archivorder, sind zusätzlich aber einsortiert unterhalb des $tagfolder zu finden.
    => Somit kann man im Dateisystem die Dokumente kategorisieren und evtl schneller finden (ohne eine Suche). Funktioniert natürlich nur, wenn die Dokumente auch konsequent Hashtags im Dateinamen haben.
 

stweiss

Benutzer
Mitglied seit
09. Jun 2017
Beiträge
34
Punkte für Reaktionen
0
Punkte
0
Hallo nimra20,

das sollte funktionieren. Kannst du mit ein Beispiel-pdf (oder den OCR-Text) und deine config schicken?
Den reinen OCR-Text bekommst du, wenn du das Script mit der Option "-x" startest, oder hiermit: "pdftotext -l 1 <pdf file>". Dann kannst du aus dem Text-file auch eventuelle sensible Daten entfernen.
Aus der config brauche ich die entsprechende Regel - oder besser das gesamte Array.
 

nimra20

Benutzer
Mitglied seit
16. Sep 2014
Beiträge
2
Punkte für Reaktionen
0
Punkte
1
Hallo Stefan

Hallo nimra20,

das sollte funktionieren. Kannst du mit ein Beispiel-pdf (oder den OCR-Text) und deine config schicken?
Den reinen OCR-Text bekommst du, wenn du das Script mit der Option "-x" startest, oder hiermit: "pdftotext -l 1 <pdf file>". Dann kannst du aus dem Text-file auch eventuelle sensible Daten entfernen.
Aus der config brauche ich die entsprechende Regel - oder besser das gesamte Array.

Kann ich dir die Angaben per PM senden?

Gruß
Armin
 

TobiasNeher

Benutzer
Mitglied seit
18. Jun 2017
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
Guten Abend!

Als DS-Neuling überlege ich mir gerade, wo ich "das" pdftotext herbekomme? Bin über jeden Tipp dankbar.

Danke!

Grüße Tobias
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.526
Punkte für Reaktionen
1.363
Punkte
234
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
 

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