Skip to main content

Exit Szenario?

Answered

Comments

7 comments

  • Official comment
    Permanently deleted user

    Es gibt jederzeit die Möglichkeit alle Dokumente auf einmal zu exportieren.
    Wie das funktioniert haben wir in diesen Hilfeartikeln erklärt:

    Windows: https://docutain.zendesk.com/hc/de/articles/360028601392-Dokumente-exportieren-per-E-Mail-versenden
    Android: https://docutain.zendesk.com/hc/de/articles/360001597071-Dokumente-teilen-versenden 

    iOS: https://docutain.zendesk.com/hc/de/articles/360016577991-Dokumente-teilen-versenden 

    Alternativ kann auch in den Einstellungen die Option „Dokumente öffentlich als PDF speichern aktiviert werden“. Die Dokumente sind dann nach dem Speichern automatisch auch als PDF auf dem Dateisystem des Gerätes verfügbar.

  • Phil Tebbe

    Hallo Markus,

    Ich habe lange Zeit mit genau der Frage gehadert. Docutain hat aus meiner Sicht gegenüber einer Ordnerstruktur in der Nutzung nur Vorteile. Die unbefriedigende Exit Strategie hat mich aber letztendlich dazu bewegt am vergangenen Wochenende in eine Ordnerstruktur umzuziehen. Man kann einfach nich vorhersagen was in den nächsten 30-50 Jahren passiert. Ordnerstrukturen gibt es ja schon recht lange.
    Um auf deine Frage zurückzukehren. Der Export aller Daten oder eines gefilterten Teils davon geht einfach und schnell. Aber: hast du im docutain keinen sinnvollen Namen vergeben hat das pdf diesen auch nicht. Da ich im docutain Datum, Absender, Inhalt über Schlagwörter und Dokumententyp die Dateien beschrieben habe, hab ich natürlich auf eine Bezeichnung foe dies nochmal enthält verzichtet.
    Ergebnis: eine große Menge Dateien mit mehr oder weniger sinnvollen Dateinamen alle am gleichen Tag erstellt > viel Handarbeit zur Umbenennung vorm sortieren.

    Würde es ein etwas erweitertes Exporttool geben wäre ich schon abo Kunde für die Windows Version.
    Z.B.
    Dateinamen: YYYYMMDD_Absender_typ_Schlagwörter_steuer.pdf
    dazu eine Ordnerstruktur z.B. nach Absender und/oder Jahr sortiert.

    Richtig elegant wäre wenn der User alles selber konfigurieren kann

    Es ist explizit nicht gewollt diese Struktur ständig parallel aktuell zu halten. Nur ein Notausgang.
    Da ich mich hoffentlich noch ein paar Jahrzehnte damit auseinandersetzen muss, muss man ja etwas nach vorne gucken.

    VG Phil

    1
  • Docudaniel

    Hallo,

    Das ist in der Tat ein sehr interessanter Punkt. Ich persönlich fahre eine Mischung aus beidem. Ich scanne die Dokumente ein, tagge diese, vergebe für mich sinnvolle und zuordnbare Namen und exportiere diese danach direkt in meine Ordnerstruktur.

    Leider lässt sich eine solche Verzeichnisstruktur im Programm nicht verwirklichen. Das vermisse ich noch um zu sagen "ja, das ist meine 100% Lösung".

    Gruß

    2
  • Nico S.

    Es lässt sich doch auch eine Liste der Dokumente zusammen mit den Meta-Daten exportieren.(https://docutain.zendesk.com/hc/de/articles/360014780000-Liste-meiner-Dokumente-nach-Excel-exportieren).

    Das lässt sich in eine CSV umwandeln und zusammen mit einem kleinen Skript und den exportierten Dateien kann man sich eine Umbennennung der exportierten Daten bauen mit dem Dateischema wie von Phil Tebbe gewünscht.

     

    Für mich ist das ein akzeptables Exit-Szenario. Dennoch hoffe ich es nie zu brauchen.

    0
  • christian

    Ich bin gerade an dem Punkt. Habe meine komplette Papierablage in Docutain. Ich möchte weg, da mir das Abo missfällt, das UI, die usability und die Suchergebnisse. Mal sehen, wie weit ich mit den "Tipps" hier komme...

    0
  • Thomas Dannenberg

    Ich nutze Docutain Premium seit ungefähr 2 Jahren. Da in der IOS Version ständig auf unerklärliche Weise Dokumente verschwinden bzw. in der iCloud nicht mehr auffindbar sind habe ich von Anfang an damit begonnen mir eine eigene Dokumentenstruktur ausserhalb Docutain anzulegen und pflege jedes neu gescannte Dokument sofort da ein. Ich habe alles was ich an Dokumenten habe digitalisiert und kann mich nicht auf eine Softwarelösung verlassen die nicht zuverlässig funktioniert. Der Grund warum ich Docutain weiterhin benutze ist der Scanner der wirklich sehr gut funktioniert.

    Als weitere Sicherung meiner Dokumente Speicher ich meine eigens in Dateien angelegte Dokumentenstruktur in regelmäßigen Abständen auf eine externen Festplatte ab. So bin ich immer auf der sicheren Seite.

    0
  • Nico S.

    Vor drei Jahren war ich noch optimistisch, dass ich das niemals brauchen werden, nun ist es soweit. Ich wechsel zu Paperless-ngx. Das ist leider sehr viel Handarbeit, da es nicht wirklich eine Schnittstelle gibt. Für den Export der Daten aus Docutain habe ich sowohl den Excel-Export genutzt der hier beschrieben ist als auch alle Dateien in einem Ordner abgespeichert wie hier beschrieben.

    Leider sind die Dateinamen für den Import nicht wirklich ideal. Ich verwende daher den Excel-Export um den Dateinamen anzureichern mit Informationen die ich dann in Paperless (oder auch irgendwo anders) wieder verwenden kann.

    Dazu habe ich ein Powershell Skript erstellt (naja eigentlich die KI - Ehre wem Ehre gebürt). Falls einer dafür Verwendung findet, darf er das gerne verwenden.

     

    Das Skript baut die Dateinamen wie folgt um:

    Datum des Dokuments (im Format YYYY-MM-DD) - Absender (Titel der Adresse) - Titel des Dokuments.pdf

     

    Nutzung auf eigenen Gefahr! Wichtig: Backup erstellen!

     

    1. CSV-Datei vorbereiten

     

    • Stellen Sie sicher, dass die Datei mit dem UTF-8-Format gespeichert wird. In Excel gibt es diese Option unter "Speichern unter". Es steht explizit UTF-8 dabei. Ansonsten gibt es Probleme mit deutschen Umlauten.
    • Speichere die Datei als docutain-export.csv im gleichen Ordner wie das Skript (kommt unten) und die PDF-Dateien ab.
    • Ihre CSV-Datei sollte Spalten wie Bezeichnung, Datum, und Adresse enthalten und die Werte durch Semikolons (;) getrennt sein.

    2. PowerShell-Skript vorbereiten

    • Kopieren Sie das bereitgestellte PowerShell-Skript in einen Texteditor (z. B. Notepad++).
    • Speichern Sie die Datei mit der Endung .ps1 (z. B. rename-pdf.ps1).

    3. PowerShell öffnen

    • Drücken Sie Windows + R, geben Sie powershell ein und drücken Sie Enter.
    • Alternativ können Sie mit der rechten Maustaste auf das Startmenü klicken und PowerShell auswählen.

    4. Ausführungsrichtlinie festlegen

    Standardmäßig können Skripte möglicherweise nicht ausgeführt werden. Um dies zu ändern:

    • Geben Sie den folgenden Befehl ein, um die Ausführungsrichtlinie temporär auf RemoteSigned zu setzen:
      Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
       

      5. Skript ausführen

      • Navigieren Sie zum Verzeichnis, in dem sich Ihr Skript und die CSV-Datei befinden. Verwenden Sie den Befehl cd, gefolgt vom Pfad zum Verzeichnis. Beispiel:
        cd "C:\Pfad\zu\Ihrem\Verzeichnis"
        Führen Sie das Skript aus, indem Sie den folgenden Befehl eingeben:
        .\rename-pdf.ps1
         

      Tipps!!!

      • Fehlerbehebung: Wenn das Skript nicht wie erwartet funktioniert, überprüfen Sie die Pfade und stellen Sie sicher, dass die CSV-Datei korrekt formatiert ist.
      • Backups: Es ist eine gute Idee, eine Sicherungskopie Ihrer Dateien zu erstellen, bevor Sie das Skript ausführen.
       

     

    # Stelle sicher, dass PowerShell UTF-8 verwendet
    [System.Console]::OutputEncoding = [System.Text.Encoding]::UTF8

    # Setze den Pfad zur CSV-Datei
    $csvFile = "docutain-export.csv"

    # Lese die CSV-Datei ein
    $data = Import-Csv -Path $csvFile -Delimiter ";"

    function Rename-Files {
        foreach ($entry in $data) {
            # Trim die Bezeichnung und ersetze alle unerlaubten Zeichen
            $bezeichnungTrimmed = $entry.Bezeichnung.Trim()
            $bezeichnungTrimmed = $bezeichnungTrimmed -replace '[\/:*?"<>|€,+]', '_'

            # Definiere den ursprünglichen Dateinamen und den Pfad
            $oldFileName = "$bezeichnungTrimmed.pdf"
            $oldFilePath = Join-Path -Path (Get-Location) -ChildPath $oldFileName

            # Suche nach alten Dateinamen
            $oldFileNameSearch = "$($entry.Bezeichnung.Trim() -replace '[€,+]', '___').pdf"
            $oldFilePathSearch = Join-Path -Path (Get-Location) -ChildPath $oldFileNameSearch

            # Wenn die Datei nicht gefunden wird, füge (1) bis (5) an das Ende hinzu und prüfe erneut
            $suffixes = 1..5 | ForEach-Object { "($_)" }
            $foundFilePath = $null
            
            foreach ($suffix in $suffixes) {
                if (Test-Path $oldFilePath) {
                    break
                }
                $oldFileNameWithSpace = "$bezeichnungTrimmed $suffix.pdf"
                $oldFileNameWithoutSpace = "$bezeichnungTrimmed$suffix.pdf"

                if (Test-Path (Join-Path -Path (Get-Location) -ChildPath $oldFileNameWithSpace)) {
                    $oldFilePath = Join-Path -Path (Get-Location) -ChildPath $oldFileNameWithSpace
                } elseif (Test-Path (Join-Path -Path (Get-Location) -ChildPath $oldFileNameWithoutSpace)) {
                    $oldFilePath = Join-Path -Path (Get-Location) -ChildPath $oldFileNameWithoutSpace
                } elseif (Test-Path $oldFilePathSearch) {
                    $oldFilePath = $oldFilePathSearch
                } else {
                    Write-Host "Datei nicht gefunden: '$oldFileName' und Alternativen"
                    continue
                }
            }

            # Überprüfe, ob die Datei existiert
            if (Test-Path $oldFilePath) {
                # Formatieren des Datums in YYYY-MM-DD
                $dateParts = $entry.Datum -split '\.'
                $formattedDate = "{0:0000}-{1:00}-{2:00}" -f [int]$dateParts[2], [int]$dateParts[1], [int]$dateParts[0]

                # Erstelle den neuen Dateinamen und ersetze unerlaubte Zeichen im gesamten Namen
                $newFileNameBase = "$formattedDate - $($entry.Adresse.Trim()) - $bezeichnungTrimmed.pdf"
                $newFileNameBase = $newFileNameBase -replace '[\/:*?"<>|€,+]', '_'

                # Überprüfe, ob der neue Dateiname bereits existiert, und füge eine Nummer hinzu, wenn nötig
                $counter = 1
                $newFileName = $newFileNameBase
                $newFilePath = Join-Path -Path (Get-Location) -ChildPath $newFileName

                while (Test-Path $newFilePath) {
                    $newFileName = "_$counter - $newFileNameBase"
                    $newFilePath = Join-Path -Path (Get-Location) -ChildPath $newFileName
                    $counter++
                }

                # Benenne die Datei um
                Rename-Item -Path $oldFilePath -NewName $newFileName
                Write-Host "Umbenannt: '$oldFileName' zu '$newFileName'"
            } else {
                Write-Host "Datei nicht gefunden: '$oldFileName'"
            }
        }
    }

    # Führe die Umbenennung aus
    Rename-Files
    0

Please sign in to leave a comment.