Ich bekomme ja sehr viele Dokumente schon direkt online als PDF-Datei. Viele dieser Dateien (z.B. Kontoauszüge, Rechnungen von der Telekom usw.) kommen regelmäßig jeden Monat wieder. Bisher musste ich diese Dateien per Hand in das Format umbenennen, welches ich intern für meine Ablagestruktur verwenden. Die Dateinamen der eingehenden PDFs sind manchmal nicht gut geeignet, um daraus den Absender und das Datum etc. herauszulesen (z.B. ist der Name der Telekom-Rechnung immer “Rechnung_xyz_12345.pdf” wobei “xyz” immer eine andere laufende Nummer ist)

Jeden Monat ist dann also Herunterladen der Dokumente und manuelles umbenennen angesagt, am Beispiel Telekom z.B. anstelle “Rechnung_xyz_12345.pdf” also “2018-04 Telekom – Rechnung.pdf”.

Leider habe ich für Windows noch nicht das ultimative Rename-Programm gefunden mit dem man Regeln erstellen kann, die auch Inhalte der PDF-Dateien beinhalten.

Wie ich damals in diesem Artikel schon geschrieben hatte, habe ich eine Zeit lang das Programm “DropIt” verwendet, aber mit nur mäßigem Erfolg, weil es doch nicht alles abgedeckt hatte.

Ich bin daher nun dazu übergegangen, das Programm “DropIt” mit anderen Tools zu erweitern, nämlich zum einen mit “PDFGrep” und zum anderen mit den “GNU Core Utils“, ein paar nützlichen Linux-Tools, die auf Windows portiert wurden. DropIt kann nämlich als Teil einer Regel externe Programme aufrufen. Bei komplexeren Rename-Aktionen rufe ich dazu dann einfach ein Windows-Batchfile auf, mit dem ich sehr flexibel auch komplexere Operationen machen kann. Das ist zwar beim ersten Mal ein wenig Aufwand, aber zukünftig dann eine Menge Zeit.

Für das obige Telekom-Beispiel habe ich also eine Regel erstellt, die in meinem Scan/Ablage-Verzeichnis auf Dateien wartet die den Namen “Rechnung_*_12345.pdf” haben. In diesem Fall wird dann ein Batch-File aufgerufen, welches folgenden Inhalt hat:

Bei anderen Dateien kann man aufgrund des Dateinamens schon erkennen, wer der Ersteller der Datei ist und welches Datum es betrifft. Dann kann man mit DropIt-Bordmitteln arbeiten. Beispiel ist ein Kontoauszug der in der Form “Kontoauszug_123456789_Nr_2018_006_per_2018_04_04.pdf” ankommt und später dann mal “2018-04-04 TESTBANK – Kontoauszug_123456789_Nr_2018_006_per_2018_04_04.pdf” heissen soll.

Dafür gibt es dann eine DropIt-Regel, die auf den Dateinamen “KONTOAUSZUG*_dat*_id*.pdf” wartet und dann diese interne DropIt-Regel ausführt:

Diese Regel holt sich den Text zwischen den Strings “_dat” und “_id” im Dateinamen und extrahiert daraus dann das Datum und setzt es in der korrekten Reihenfolge wieder zusammen. Die Möglichkeiten, die DropIt hier bietet, sind recht mächtig (wenn auch etwas gewöhnungsbedürftig am Anfang). Für Dinge, die darüber hinausgehen, greife ich dann auf die externen Programme zurück.

Manchmal bekommt man beim Download auch mehrere Dateien zusammen als ZIP-File. Für diesen Fall gibt es eine DropIt-Regel, die das ZIP-File im Scan/Ablage-Verzeichnis zuerst auspackt, bevor dann eine andere Regel die ausgepackten Dateien entsprechend weiterbearbeitet.

Mittlerweile bin ich ganz zufrieden mit dem Ergebnis. Die monatliche Download-Orgie ist nun ruck-zuck erledigt und ich muss dann die Dokumente nur noch per Drag & Drop in den richtigen Ordner meines Archivsystems “Office-n-PDF” schieben. Diesen letzten Schritt werde ich demnächst noch versuchen auch zu automatisieren.

Übrigens, der Grund, warum ich die Dateinamen der Dokumente in einer lesbaren Form haben möchte, ist einfach: Sollte ich irgendwann mal anstelle von Office-n-PDF ein anderes Archivsystem nutzen oder die Dokumente einfach in einem Filesystem speichern wollen, kann ich ud trotzdem auf den ersten Blick schon am Dateinamen erkennen um was es sich handelt.

 

Der papierlose Haushalt – Umbenennen von PDFs
Tagged on:                 

6 thoughts on “Der papierlose Haushalt – Umbenennen von PDFs

  • 26.04.2019 at 13:34
    Permalink

    Hallo Michael,

    genau das ist auch mein Problem, und ich ärgere mich auch über die Umbennungen. Auch ich präferiere sprechende Dateinamen.

    Für das Scannen von Papierdokumenten habe ich ein ganz brauchbares Setup mit vielen Profilen und voreingestellten Ordnern, das ich aber jetzt gerne um eine Funktion erweitern will. Jedes Dokument bekommt vor dem Scan auf der esten Seite einen fortlaufende-Nummer-Barode von der Rolle aufgeklebt. So kann ich die Dokumente hinterher chronologisch in normalen Archivboxen stapeln (also nicht in dutzenden Themen-Leitz-Ordnern), finde sie aber bei Bedarf anhand der Nummer sofort wieder. Evtl. hast Du hier einen Tipp zum Thema Barcode:

    Ich will gescannte PDF-Dokumente nach den aufgeklebten fortlaufende-Nummern-Barcodes durchsuchen, Barcode auslesen und dem PDF-Dateinamen die Nummer vom Barcode voranstellen. Am besten noch mit Folder-Überwachung.

    Dafür suche ich z.B. ein Linux-Tool, dass mir meine Ablagen überwacht und eingehende PDF wie oben bei Dir analysiert und dazu noch den Barcode liest. Kann z.B auf einem Raspi laufen usw.

    Freue mich über Feedback, Peter

    Reply
    • 29.04.2019 at 16:50
      Permalink

      Hallo Peter, leider habe ich dazu auch keine Idee parat. Dokumente, die ich in Papierform aufheben muss, bekommen von mir einen Stempel mit einer fortlaufenden Nummer verpasst ( https://amzn.to/2XYpb8F), bevor sie gescannt werden. Nach dem Scannen werden diese dann auch einfach in einen Ordner abgelegt, in dem die Dokumente nach der Nummer sortiert sind. Wenn ich suche, dann mache ich das ja in meinem Archivprogramm. Dort sehe ich dann die entsprechende Nummer und kann damit das Original-Dokument schnell aus dem Ordner fischen, wenn ich es mal benötige.

      Reply
      • 03.05.2019 at 14:30
        Permalink

        Ja, so ähnlich mache ich es auch, allerdings mit den Aufklebern. Habe inzwischen eine gute Lösung gefunden mit Standard tools, damit ich so wenig Zeit wie möglich aufwenden muss bei der Ablage. Im Prinzip erfasse ich alles Papier mit Aufkleber ohne großes Nachdenken (Taschengeldjob für meinen Sohn) und kann mich dann später in Ruhe, wenn mal Zeit ist, um die Ablage kümmern.

        1. Splitten einer Dokumentenscanner-PDF in Einzeldateien
        Über den Dokumentenscanner erfasse ich z.B. 15 Dokumente mit je einem Barcode-Aufkleber auf der ersten Seite. Die resultierende Datei wird danach zerlegt, also “Preview & Split”.
        Dafür eignet sich das Tool “PDF Mod” sehr gut. Mit ein paar Klicks sind die Dateien getrennt und vernünftig benannt. Ich nutze keine besondere OCR-Komponenten, war zu unzuverlässig für einen Automatismus.

        Alternativ:
        Über das Mac-Tool Exact-Scan kann ich zum einen beliebige Profile anlegen (inkl. Benennung, Zielordner usw.) und sogar den Barcode als Seitensplit erkennen, einlesen und in den Dateinamen anhängen. Sehr praktisch, nur muss ich dann halt direkt an dem Mac arbeiten, was nicht mein tägliches Arbeitsgerät ist. Die so erzeugten PDF gehen dann gleich in Schritt 3. (Mayan). Wenn ich vorher ein paar verschiedene Papierstapel vorsortiert habe, kann ich gleich mit verschiedenen Profilen scannen und wieder etwas Zeit sparen.

        2. Bash-Script für Ordner/einzelne PDF und als Kontextmenüaufruf (Nautilus/Nemo):
        – Konvertieren jeweils ersten Seite eines PDF in temp Image
        – Erkennen des Code128 barcodes (“zbarimg”) und Prüfung auf Länge etc. (um keine Rechnungscodes etc. zu erfassen)
        – Umbennen der PDF-Datei mit führender Barcode-Nummer.
        Aus “Rechnung-Telekom-0419.pdf” wird dann “K120093_Rechnung-Telekom-0419.pdf”.

        3. Speichern aller Dokumente in Mayan EDMS
        Nach einiger Recherche hat sich das Open Source DMS “Mayan EDMS” als gut und praktisch erwiesen für meine Zwecke. Installation per Docker, mehrere Benutzer, watched Folder (für obige Barcode-Dokumente), Email-Polling usw. Macht eine guten Eindruck.

        Noch zu tun:
        – “Vorsortieren” der gescannten Dokumente in mehrere Eingangsordner für Mayan
        – Evtl. clevere Metadatenerzeugung vor dem Import/Versand zu Mayan
        – Watched-Folder für zbarimg zur Barcode-Erzeugung, falls nicht vorher geschehen
        – Automatismen für Nicht-Papier-PDF
        – Backup/Restore/Desaster Recovery für Mayan

        Damit kann ich erstmal arbeiten. 😉

        vg.

        Reply
        • 03.05.2019 at 16:15
          Permalink

          Das klingt sehr gut! Danke für die Infos! Vielleicht hilft es dem einen oder anderen, der auch Linux verwendet.

          Reply
        • 22.12.2019 at 11:24
          Permalink

          Hallo Peter, Hallo Michael,
          auch ich bin ein Mensch, der sehr sehr gerne auf Papier verzichtet und sämtliche Dokumente einscannt und mühsehlich in entsprechende Ordner sortiert. Ich habe stundenlang damit verbaucht eine Lösung zu finden, welche die gescannten PDFs “liest” und nach entsprechenden Vorgaben in vordefinierte Ordner verschiebt. Umbenennen war erstmal nicht so wichtig. Vor kurzem stieß ich auf Eure Beiträge und habe mich an Mayan EDMS rangemacht. Allein die Installation war bedauerlicherweise schon ein krampf 🙂 Doch nun läuft es und die OCR Texterkennung läuft. Aber nun stehe ich quasi auf dem Schlauch. Wie bekomme ich es hin, dass Mayan EDMS die PDFs nach vordefinierten Worten sucht und dann entsprechend in bestimmte Ordner verschiebt. Ist einer mal so nett und gibt mir da Hilfestellung?

          LG Nico

          Reply
  • 22.12.2019 at 12:13
    Permalink

    Hallo Nico,
    da kann ich leider nicht helfen, da ich Mayan EDMS nicht kenne. Ich muss aber auch ganz ehrlich sagen, ich bin mittlerweile weg von irgendwelchen Programmen. Ich nutze seit einigen Monaten nur noch eine einfache Dateistruktur auf der Platte zur Ablage. Meine ScanSnap-Scannersoftware macht das OCR mein Einscannen automatisch, für PDFs, die ich woanders her bekomme und die noch keinen Text beinhalten, nutze ich https://www.tracker-software.com/product/pdf-xchange-editor und zum Suchen und Wiederfinden benutze ich https://www.mythicsoft.com/filelocatorpro/ Damit komme ich super zurecht. Zum Einsortieren immer wiederkehrender PDFs nutze ich nach wi vor, wie oben beschrieben DropIt.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *