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

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.
Hallo Stefan,

so sieht man sich wieder :)
Klasse Projekt von dir; werde ich mir gleich ansehen (läuft schon).

Vielen Dank


P.S.: Vielleicht sollte man noch erwähnen, dass der Aufruf nur mit root funktioniert - jedenfalls bei mir (sonst lässt sich der Dockercontainer nicht starten).
 
Servus Stephan,

so kann's gehen. Ich hoffe du kannst es gebrauchen :)
Und ja, guter Hinweis .. das Skript sollte als root laufen.
 
Noch eine Frage / Bitte:

Ich habe bisher alle meine Dokumente mit yyyymmdd und nicht yyyy-mm-dd.
Wo und was muss ich ändern, damit das Datum ohne Bindestriche genutzt wird? Vielleicht könnte man es sogar in der config einstellbar machen :-)

Und: Ich habe in der Config "$doTagging = false" stehen ... dennoch werden tags an den Dateinamen angehängt. Ich dachte das würde dann nicht passieren.
 
Hallo,

tolles Projekt, genau das habe ich gesucht. :)

Ich habe es installiert (und es auch hinbekommen *juchhu*). Ich habe aber auch ein paar Probleme/Fragen. ;)

Meine Testdatei für die OCR-Erkennung:
www.sentryfile.com/forum/attachments//ImageOnly.pdf

Probleme mit Umlauten:
Bei Umlauten wird die Datei nicht in #recycle verschoben, sondern verbleibt zusätzlich zur erstellten neuen Datei im $inboxfolder.

Datum:
Bearbeitete PDF-Dokumente bekommen nicht das Dateidatum in den Dateinamen vorangestellt, sondern das aktuelle Datum. Wenn man ältere PDF-Dokumente bearbeiten lässt, bekommen die alle das aktuelle Datum, was nicht wünschenswert ist.

Format vom Datum:
Wie der Vorredner störe ich mich auch noch an dem Format (y-m-d), da ich bisher ymd verwendet habe. Andererseits überlege ich schon alle meine alten Dokumente in y-m-d zu überführen. Es sieht irgendwie übersichtlicher aus.

Outbox:
Warum gibt es keinen Outboxordner? So bleiben alle bearbeiteten Dokumente im Inboxordner. Wäre es für einen sauberen Workflow nicht wünschenswert, wenn die bearbeiteten Dokumente gleich dort landen, wo man sie hin haben möchte?

Mir erschließt sich irgendwie nicht der Sinn von:
- $archivefolder
- $tagsfolder
Kann diese Funktion mal jemand genauer beleuchten / erklären?
In den $archivefolder habe ich testweise ein PDF (mit ocr-erkannten Text!) gepackt, wo aber Schlüsselwörter ($tagrules) nicht erkannt wurden, sprich es wurden keine Tags angehängt.
 
Zuletzt bearbeitet:
Noch eine Frage / Bitte:

Ich habe bisher alle meine Dokumente mit yyyymmdd und nicht yyyy-mm-dd.
Wo und was muss ich ändern, damit das Datum ohne Bindestriche genutzt wird? Vielleicht könnte man es sogar in der config einstellbar machen :-)

Und: Ich habe in der Config "$doTagging = false" stehen ... dennoch werden tags an den Dateinamen angehängt. Ich dachte das würde dann nicht passieren.

$doTagging ist nicht am umbenennen Schuld. Das erzeugt nur eine neue Verzeichnisstruktur mit Verknüpfungen zu den Originaldateien in $archivefolder.

Tags werden zusammen mit den anderen namensgebenden Dingen im Schritt $doRenameAfterOCR angehängt. Wenn du nicht den ganzen Schritt deaktivieren sondern nur keine Tags haben willst, dann mach das $tagrules arrary in der config.php leer.

Das mit den Bindestrichen hab ich im alpha-branch mal konfigurierbar gemacht. Ist aber noch nicht getestet: https://github.com/stweiss/FileBasedMiniDMS/archive/alpha.zip
 
Das klappt bisher super bei mir - Danke :)

Ich benutze nur OCR und Rename (das Tagging nicht). Allerdings fände ich es auch schön, wenn die fertigen Dateien in den $archivefolder verschoben werden. Das habe ich jetzt mit einem zusätzlichen Skript gelöst.
 
Kannst du diese Scripts auch hier zur Verfügung stellen, sodass andere User sie bei Bedarf verwenden können?
 
Stefan wird da bestimmt was machen ;)

Aber für den Übergang, hier meine Zwischenlösung:
Anhang anzeigen FileBasedMiniDMS-START.zip (entpacken und muss im Ordner der php-Dateien liegen. Dieses Skript zum Starten von FileBasedMiniDMS.php verwenden.)
Rich (BBCode):
#!/bin/bash
# Auto-OCR für SCANs (FileBasedMiniDMS.php) Startskript
# /volume1/homes/admin/script/OCRscript/FileBasedMiniDMS-START.sh

IFS=$'\012'	 # entspricht einem $'\n' Newline

# Dokumentenverzeichnisse auslesen sowie Arbeitsverzeichnis auslesen und hineinwechseln:
# -----------------------------------------------------
    APPDIR=$(cd $(dirname $0);pwd)
    cd ${APPDIR}

	SOURCE_DIR=`cat ./config.php | grep 'inboxfolder' | awk -F\" '{print $2}'`
	echo "SOURCE_DIR:   $SOURCE_DIR"
	TARGET_DIR=`cat ./config.php | grep 'archivefolder = ' | awk -F\" '{print $2}'`
	echo "TARGET_DIR:   $TARGET_DIR"

# Starte OCR:
# -----------------------------------------------------
    php ./FileBasedMiniDMS.php

# Verschiebe fertige Dateien:
# -----------------------------------------------------
    for i in $(find "$SOURCE_DIR" -maxdepth 1 -name "*.pdf" -type f)
    	do
            filename=`basename "$i"`
            if [ -f "$TARGET_DIR/$filename" ]; then
                echo "Zieldatei bereits vorhanden"
            else
                mv "$i" "$TARGET_DIR/$filename"
            fi
        done
 
Das klappt bisher super bei mir - Danke :)

Ich benutze nur OCR und Rename (das Tagging nicht). Allerdings fände ich es auch schön, wenn die fertigen Dateien in den $archivefolder verschoben werden. Das habe ich jetzt mit einem zusätzlichen Skript gelöst.

Der Grund warum ich das nicht mache ist, dass ich in meinem $archivefolder 100% korrekt benamste Dateien haben möchte. Das Renaming klappt halt leider nicht immer zufriedenstellend und ich muss manuell Nacharbeiten. Erst dann schiebe ich meine pdf's ins Archiv.
Aber es ist angekommen: Ihr wollt separate Ordner für jeden Schritt :) Ich überleg mir mal was.
 
Hallo zusammen,

ich bin begeistert, dass ist genau das was ich gesucht habe. Noch besser ist, dass ich mir die DS216-J (zur Ablage von Fotos) noch nicht gekauft habe:cool:
Da ich Synology-Neuling bin, tue ich mir gerade etwas schwer. Könnt Ihr für das Projekt eine HW Empfehlung bzw. Mindesanforderung benennen? Würde mir sehr bei der Kaufentscheidung helfen.

Vielen Dank!

Grüße Tobias
 
Hallo Tobias und willkommen hier im Forum :)

Da du für dieses Projekt Docker benötigst, ist die DS216+II das Einstiegsgerät für dich. Das wird für diesen Zweck auch reichen. Weiter ginge es dann mit der DS716+II, welche dieses Jahr wohl noch einen Nachfolger bekommen soll.

Alle aktuellen Docker-kompatiblen Geräte findest du hier: LINK
 
Hallo,
hier bekommt man wirklich tolle Infos. Das Skript läuft bei mir, so etwas suche ich schon lange. Vielen Dank!
 
Die Frage ist auch, ob der Scanner FTP koennen muss. Ich habe einen Brother NFC, der vom PC angesteuert wird und die PDFs werden lokal abgelegt. Geht das mit sowas? Daher wär mal gut, die Mindestanforderungen zu kennen.
 
Daher wär mal gut, die Mindestanforderungen zu kennen.
Die Mindestanforderung besteht daraus, dass der Scanner die PDFs in ein Verzeichnis auf der DS ablegt. Ob nun per FTP oder sonstwie ist völlig egal.
 
Die Mindestanforderung besteht daraus, dass der Scanner die PDFs in ein Verzeichnis auf der DS ablegt. Ob nun per FTP oder sonstwie ist völlig egal.

Selbst das ist keine Mindestanforderung. Man kann die PDF's sogar von Hand auf die DS legen und dann das Script nutzen.
Mindestanforderung wäre aus meiner Sicht:
- PDF-Dateien als Input auf einer DS (wie auch immer diese dahin kommen)
- eine DS mit Docker
 
Ich habe da noch eine kurze Frage zu dem Tool. Wenn ich das Ganze automatisiere (cron-job), dann gehen meine Platten wahrscheinlich nicht mehr schlafen. Sinnvoll wäre es, wenn das Ganze nur laufen würde, wenn die Platten nicht schlafen (das ist ja immer der Fall, wenn etwas in das Verzeichnis kopiert wurde). Gibt es da einen Trick wie man das Ganze haendeln könnte?
 
Das ist nicht ganz trivial, da die entsprechenden Bibliotheken für einen file watcher (z.B. inotify) auf der DS fehlen..
Vielleicht kannst du den cronjob ja so einstellen, dass er nicht zu häufig läuft und nur dann, wenn es sinn macht (also z.B. nur Tagsüber jede Stunde).

Wenn jemand ne gute Idee hat, her damit :)
 
Das hatte ich mir gedacht, danke trotzdem. Ich denke aber, dass auch ein file watcher den sleep-Modus der Platten beenden würde. Man müsste herausfinden können, ob die Platten im Sleep-Mode sind. Dann könnte man das script so umstellen, dass es in einer Schleife läuft und nach jedem Durchgang einen sleep .. einbauen. Beim Start der Scheife würde man prüfen, ob die Platten schlafen und dann sofort die Schleife überspringen. Alternativ könnte man die Zeitsteuerung und das Prüfen der Platten auch in ein Script außen rum einbauen, welches dann das eigentliche script aufruft.
 
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