Vom gescannten Dokument zur gefundenen PDF-Datei

guidovg

Benutzer
Mitglied seit
26. Nov 2011
Beiträge
142
Punkte für Reaktionen
43
Punkte
34
Nachdem mir in diesem Forum schon oft sehr gut geholfen wurde, möchte ich mal meinen nun (hoffentlich) vollständigen Workflow vorstellen, wie ich aktuell meine digitale Aktenablage realisiere:

Einscannen der Dokumente
Alle Dokumente, die in analoger Form zu uns ins Haus kommen werden mit einem Dokumentenscanner (brother ADS-1700W) erfasst. Die Erfassung erfolgt per Voreinstellung (300dpi, Farbe, leere Seite löschen, beidseitig) und alle Scans landen als PDF im Ordner _INPUT auf der NAS. Dokumente die wir z.B. als PDF bekommen, die noch nicht durchsuchbar sind, werden auch in dem Ordner _INPUT gespeichert. Als Stichtag gilt hierbei der 01.01.2020. Ab dem Zeitpunkt haben wir alles digital.

Ältere Dokumente und Ordner werden je nach Lust und Laune gescannt. Z.B. alle Gehaltsabrechnungen. Somit weiß ich, alles ab 01.01.2010 und alle Gehaltsabrechnungen liegen digital vor.

OCR
Das hervorragende synOCR - vielen Dank an dieser Stelle an geimist - läuft als Job auf der Synology (nicht mit der eingebauten Planung von synOCR, sondern als geplanter DSM-Task) und so wird von 9:00 bis 21:00 alle 20 Minuten im _INPUT Ordner kontrolliert, ob eine PDF vorliegt. Wenn ja wird diese durchsuchbar gemacht und in den Ordner _OUTPUT geschoben. PDF-Dateien, die wir bekommen (z.B. Rechnungen), die bereits durchsuchbar sind, werden auch hier abgelegt.

Sortierung & Ablage
Ein zweiter Job, der regelmäßig 10 Minuten versetzt zur OCR startet, aktiviert die Anwendung Organize (github: tfeldmann/organize), danke an mamema für den Hinweis. Diese durchsucht den Ordner _OUTPUT und wendet von mir definierte Regeln auf die gefundenen Dateien an. Sobald eine Regel greift (z.B. Dokument von der Versicherung) wird das Dokument umbenannt und in den korrekten Order verschoben. Auf meinem Desktop (und auch bei meiner Frau) liegt eine Verknüpfung auf den Ordner _OUTPUT auf dem Windows Desktop. So können wir ab und an nachsehen, ob etwas noch manuell sortiert werden muss.

PDF finden
Leider habe ich noch keine Möglichkeit gefunden, vom Desktop - ohne Anmeldung - auf das Universal Search der Synology zugreifen zu können. Als Alterantive habe ich mich jetzt für Copernicus Desktop Search entschieden. Diese App läuft am Desktop im Hintergrund und indiziert meine Laufwerke. Sobald ich STRG (links) + STRG (rechts) drücke, öffnet sich die Suchmaske und ich kann nach meinen Dokumenten suchen. Ein für mich großer Vorteil der Suche ist, dass ich auf Tags verzichten kann. Da die Dokumente voll durchsuchbar sind und indiziert werden, kann ich nach allem suchen, was in Textform in den Dokumenten oder im Dateinamen steht.

Aktuell läuft das Ganze sehr gut und ich werde Anfang Juli, wenn die Testphase von Copernicus vorbei ist, eine Desktop Lizenz kaufen. Es sein denn jemand kennt einen Weg, das Fenster von Universal Search unter Windows direkt aufzurufen.

Freue mich auf Feedback und Tips.
 

Timnbvc

Benutzer
Mitglied seit
02. Jun 2020
Beiträge
12
Punkte für Reaktionen
0
Punkte
1
Sortierung & Ablage
Ein zweiter Job, der regelmäßig 10 Minuten versetzt zur OCR startet, aktiviert die Anwendung Organize (github: tfeldmann/organize), danke an mamema für den Hinweis. Diese durchsucht den Ordner _OUTPUT und wendet von mir definierte Regeln auf die gefundenen Dateien an. Sobald eine Regel greift (z.B. Dokument von der Versicherung) wird das Dokument umbenannt und in den korrekten Order verschoben. Auf meinem Desktop (und auch bei meiner Frau) liegt eine Verknüpfung auf den Ordner _OUTPUT auf dem Windows Desktop. So können wir ab und an nachsehen, ob etwas noch manuell sortiert werden muss.

Hey das klingt ja spannend.
Ich hätte eine Frage zu deinen vordefinierten Regeln. Wie darf ich mir das vorstellen? Das Programm durchsucht das PDF und wenn dort zum Beispiel versicherung steht wird es automatisch umbenannt und in den richtigen Ordner gelegt?
 

Karle

Benutzer
Mitglied seit
29. Mai 2011
Beiträge
353
Punkte für Reaktionen
9
Punkte
18
das hört sich interessant an ... gerade das automatische Sortieren ....
 

guidovg

Benutzer
Mitglied seit
26. Nov 2011
Beiträge
142
Punkte für Reaktionen
43
Punkte
34
Ja genau. Ich habe eine Regel definiert, diese sucht nach der E-Mail Adresse der Versicherung UND dem Namen der Gesellschaft UND per regulärem Ausdruck nach der Versicherungsnummer. Sobald die Regel greift (alle drei Bedingungen sind zutreffend) legt die Anwendung diese Datei im Ordner: //Laufwerk/Dokumente/Versicherung/VersicherungsNR/Schriftverkehr/Jahr/ ab wobei die VersicherungsNR und Jahr dynamisch aus der Regel abgeleitet werden.

Auch der Dateiname wird immer dynamisch erstellt.
 

Odhrean666

Benutzer
Mitglied seit
17. Jun 2020
Beiträge
10
Punkte für Reaktionen
4
Punkte
9
Danke für den Hinweis auf organize. Ich habe das jetzt zum laufen gebracht.
Ich habe eine Regel definiert, diese sucht nach der E-Mail Adresse der Versicherung UND dem Namen der Gesellschaft UND per regulärem Ausdruck nach der Versicherungsnummer
Auch der Dateiname wird immer dynamisch erstellt.

Kannst du die Regular-Expressions die das machen einmal posten? Das wäre super hilfreich ;)
 
  • Like
Reaktionen: guidovg

guidovg

Benutzer
Mitglied seit
26. Nov 2011
Beiträge
142
Punkte für Reaktionen
43
Punkte
34
YAML:
rules:
# XYZ Versicherungen
  - folders: /source/**/*
    subfolders: true
    filters:
      - extension: pdf
      - filecontent: (?P<xyzcompany>\s*(Lebensversicher|Versicher)(ung|ungen))
      - filecontent: (?P<xyzcode>\d{2}\s*\d{3}\s*\d{3})
      - created:
          days: 300
          mode: newer
      - python: |
          resulttext = filecontent.xyzcode
          return {"texting": resulttext.replace(" ", "")}
    actions:
      - echo: "Found XYZ"
      - rename: "{created.year}-{created.month:02}-{created.day:02}_XYZ_{python.texting}.pdf"
      - move: /output/versicherungen/xyzcode/schriftverkehr/{created.year}

Gerne. Die Filter stellen sicher, dass nur PDF Dokumente bearbeitet werden. Dann muss im Dokument der Text Lebensversicherung oder Versicherung auftauchen (oder der Plural). Meine Versicherung arbeitet mit einer eindeutigen Nummerierung für alle Verträge, die nach einem Schema (ab cde fgh) nummeriert werden. Wird dieses gefunden, wird es als xyzcode gespeichert.

Der xyzcode string wird dann noch mit einem Python-Code von Leerzeichen bereinigt, da ich diese nicht im Dateinamen haben möchte. Manchmal erkennt die OCR auch doppelte Leerzeichen, das wird so auch abgefangen.

Dann wird der Dateiname erzeugt und das Dokument verschoben.
 
  • Like
Reaktionen: FSee und Odhrean666

Odhrean666

Benutzer
Mitglied seit
17. Jun 2020
Beiträge
10
Punkte für Reaktionen
4
Punkte
9
Ich starte den docker-Container mit einem Script via docker -it --rm -v "path":"path" etc... Dann läuft der einmal, verarbeitet die Daten und beendet sich. Soweit so gut, aber das kann ich aktuell nur via root starten und beim schreiben erhalten alle Dateien den root-owner und können nicht mehr von normalen usern gelesen werden.

Kannst du noch verraten wie du den Docker-Container regelmässig startest so das die Berechtigungen erhalten bleiben?

Vielen Dank schonmal für die RegEx Regeln. Die helfen mir sehr mich da reinzudenken.
 

guidovg

Benutzer
Mitglied seit
26. Nov 2011
Beiträge
142
Punkte für Reaktionen
43
Punkte
34
Also mit den Berechtigungen mache ich eigentlich nichts besonderes. Ich habe über den Aufgabenplaner eine Aufgabe angelegt:

Benutzer: root
Benutzerdefiniertes Skript: docker start Organize
 

Odhrean666

Benutzer
Mitglied seit
17. Jun 2020
Beiträge
10
Punkte für Reaktionen
4
Punkte
9
Das ist wirklich eigenartig. Ich habe nun den Docker Container neu über die Synology Gui angelegt und genau das Skript in die Aufgabenplanung gelegt wie du. Am Ende wird die bearbeitete Datei in den neuen Ordner mit neuen Namen laut Regel verschoben aber der neue Owner der Datei ist root:root und damit nicht mehr zu öffnen via SMB etc.

Wenn synOCR die Daten verarbeitet stimmt der User-Name. Ich werde mal die Scripte von synOCR durchforsten und schauen wie dort der Docker-container aufgerufen wird. Vielleicht finde ich ja was...
 

Odhrean666

Benutzer
Mitglied seit
17. Jun 2020
Beiträge
10
Punkte für Reaktionen
4
Punkte
9
Ich habe mich jetzt länger mit den Berechtigungen beschäftigt und das Problem gelöst.
Wie ich in diesem Thread noch genauer beschreiben werden habe ich das Docker-Image von dskaggs/docker-organize:latest von GitHub geklont und daraus ein eigenes gemacht, wobei ich den User der DS in das Image eingebaut habe (uid).

Nachdem ich das gemacht hatte und ein bischen mit den Regeln rumexperimentiert, bin ich aber darauf gestoßen das das gar nicht nötig gewesen wäre :)
Wenn nämlich für die Quelle und das Ziel ein und dasselbe gemountete Verzeichnis verwendet wird, dann werden die Berechtigungen des Host-System beim verarbeiten der Datei nicht verändert. Dies ist also die Lösung mit der ich jetzt arbeite.
Anbei eine Beispiel-Regel:

YAML:
    - folders: /Dokumente/Scans
      subfolders: false
      filters:
        - extension: pdf
        - filecontent: Verdienstabrechnung
        - filecontent: xyzFirma
        - filecontent: (?P<monat>\d{2})\.*(?P<jahr>\d{2})\/(?P<abrechnung>\d)
      actions:
        - echo: "Verdienstabrechnung xyzFirma 20{filecontent.jahr}-{filecontent.monat} Nr {filecontent.abrechnung}"
        - rename: "20{filecontent.jahr}-{filecontent.monat}-Nr{filecontent.abrechnung} xyzFirma Verdienstabrechnung.pdf"
        - move: /Dokumente/xyzFirma/Verdienstabrechnung

Wichtig ist das in -folders dasselbe Verzeichnis wie im -move verwendet wird (/Dokumente) und davon dann jeweils ein Unterzeichnis.
 
  • Like
Reaktionen: FSee und guidovg

STobiasS

Benutzer
Mitglied seit
31. Mai 2022
Beiträge
7
Punkte für Reaktionen
2
Punkte
3
Hallo,

Ich finde die vorgestellte Lösung sehr lobenswert. Ich würde mir gerne auch diesen Prozessablauf zulegen. Leider weiß ich aber nicht wie ich das "organize" Skript mit Docker auf meiner Synology ans laufen bekommen. Kann mir jemand von euch helfen und die Installation etwas näher erklären? Ich bin sehr dankbar über eure Hilfe :)

Beste Grüße,

Tobias
 

Synchrotron

Benutzer
Sehr erfahren
Mitglied seit
13. Jul 2019
Beiträge
5.113
Punkte für Reaktionen
2.076
Punkte
259
Was für eine hast du denn ? Nicht alle „können“ Docker …
 
  • Like
Reaktionen: STobiasS

STobiasS

Benutzer
Mitglied seit
31. Mai 2022
Beiträge
7
Punkte für Reaktionen
2
Punkte
3
Ich habe eine Synology DS220+. Die Installation von Docker war auch kein Problem. SynOCR nutzt bei mir auch Docker. Danke für deine schnelle Reaktion
 

STobiasS

Benutzer
Mitglied seit
31. Mai 2022
Beiträge
7
Punkte für Reaktionen
2
Punkte
3
Ich habe nun die Installation des Images über Docker vorgenommen und das Image mit den Standard-Einstellungen installiert. Siehe Bild 1
1654431379612.png
Nachdem ich das Script starte, dabei ist es egal ob ich es im Docker direkt oder über den Aufgabenplaner als "root" starte kommt der folgende Fehler
"/entrypoint.sh: 9: /entrypoint.sh: cannot create /var/log/organize/organize.log: Directory nonexistent"
Hier nochmal als Bild:
1654431531517.png
leider weiß ich nicht wie ich diesen lösen kann.
 

abrocksi

Benutzer
Mitglied seit
27. Dez 2013
Beiträge
250
Punkte für Reaktionen
81
Punkte
28
Hi STobiasS,

hast Du denn unter /volume1/docker diese beiden Pfade gemappt?

- /path/to/config/:/root/.config/organize
- /path/to/logs/:/var/log/organize

Und ein config.yaml in /path/to/config/ mit mindestens einer Rule abgelegt?

cheers,
abrocksi
 
  • Like
Reaktionen: STobiasS

STobiasS

Benutzer
Mitglied seit
31. Mai 2022
Beiträge
7
Punkte für Reaktionen
2
Punkte
3
Dankeschön @abrocksi . Die Pfade funktionieren jetzt, doch auch nach vielseitigen Tests ist die Config-Datei mit ihren Regeln leider nicht erkannt/gefunden wurden.
Der Pfad für die Config-Datei funktioniert auf jeden Fall, da hier eine leere Config-Datei erstellt wird, falls ich den Container ohne Config-Datei starte.
Hier sind meine Einstellungen und meine definierte Regel:

Die folgende Abbildung zeigt alle vier Mount-Verweise:
1. erweiterter Log
2. Verzeichnis im dem gearbeitet werden soll
3. normaler Log
4 Config-Datei

1654600769252.png

Im Arbeitsverzeichnis sind testweise drei PDF-Dateien:
1654600967059.png

Die Config-Datei hat die Regel, dass alle erkannten PDF-Dateien mit Kleinbuchstaben gespeichert werden.1654601968648.png

Die Log-Datei gibt den folgenden Output:
ERROR: No rules found in configuration file
Try 'organize config --debug' for easier debugging.
Full traceback at: /root/.cache/organize/log/organize.log
ERROR: 'folders'
Ich würde mich nochmal sehr über eure Hilfe freuen. :)

Danke, Tobias ;)
 

Anhänge

  • 1654601091100.png
    1654601091100.png
    17,7 KB · Aufrufe: 7

abrocksi

Benutzer
Mitglied seit
27. Dez 2013
Beiträge
250
Punkte für Reaktionen
81
Punkte
28
Hi Tobias,

zwei Hinweise/Erkenntnisse von mir.

Zum einen muss man zwei weitere Pfade mappen, da es sich um eine Docker-basierte Lösung handelt und damit das Tool überhaupt Dokumente zur Bearbeitung und zum Verschieben finden kann, muss man zusätzlich noch je eine source- & destination-Pfadangabe machen. Das entspricht in den Regelbeispielen dann dieser Angabe /~Desktop

Sieht dann vielleicht so aus:
- /volume1/homes/User/pfad_zur_quelle/:/source
- /volume1/homes/User/pfad_zu-ziel/:/destination

Zum anderen handelt es sich bei dskaggs/docker-organize offenbar um ein veraltetes Image. D.h. wiederum dort basiert alles auf Version 1.10 von Thomas Feldmann's organize. Insofern bitte diese Anleitung berücksichtigen. Und dort, in der alten Version des Tools, muss man eben in den Regeln offenbar noch FOLDERS statt LOCATIONS angeben. So hat es bei mir zumindest geklappt.

Probiere es doch damit mal und berichte wie es läuft. Vielleicht findet sich noch ein Experte, der freundlicherweise ein aktuelleres Image erstellen kann?

cheers,
abrocksi
 

Anhänge

  • folders_statt_locations.PNG
    folders_statt_locations.PNG
    5,6 KB · Aufrufe: 2

STobiasS

Benutzer
Mitglied seit
31. Mai 2022
Beiträge
7
Punkte für Reaktionen
2
Punkte
3
Danke. ;)

Was meinst du genau mit dem veralteten Image?
handelt es sich bei dskaggs/docker-organize offenbar um ein veraltetes Image
Ich habe mir eigentlich die die Version 2.2 heruntergeladen, sodass doch die Organizer 2.0 Regeln greifen sollte, oder?
1654672172775.png

LG Tobi
 

abrocksi

Benutzer
Mitglied seit
27. Dez 2013
Beiträge
250
Punkte für Reaktionen
81
Punkte
28

Anhänge

  • dskaggs.PNG
    dskaggs.PNG
    13,1 KB · Aufrufe: 5
  • organize_v2.PNG
    organize_v2.PNG
    42,6 KB · Aufrufe: 5

abrocksi

Benutzer
Mitglied seit
27. Dez 2013
Beiträge
250
Punkte für Reaktionen
81
Punkte
28
Danke. ;)

Was meinst du genau mit dem veralteten Image?

Ich habe mir eigentlich die die Version 2.2 heruntergeladen, sodass doch die Organizer 2.0 Regeln greifen sollte, oder?
Anhang anzeigen 71927

LG Tobi
Nee, Du musst schon "latest" bitte nehmen. Nur "latest" ist aus meiner Sicht eben nur V1.10 des Tools organize von T. Feldmann.
 


 

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