Automatisches Umbenennen von PDF-Dateien mit Datum aus Dokumentinhalt 3

Hallo chrillek, ich möchte den Beitrag im Deutschen Forum veröffentlichen. Ich hatte nicht gleich gesehen, dass es auch ein deutsches Forum gibt. Ich habe das löschen meines Beitrages im Englischen Forum Beantragt. BITTE diesen Trend nicht schließen! Danke

Hallo Forum,

Ich möchte, dass DEVONThink PDF Dateien, die ich im Eingang importiert habe, automatisch umbenennt. Bis jetzt verwende ich dafür Hazel. Hazel ändert bis jetzt den Dateinamen vor dem Import. Ich habe aber in diesem Forum gelesen, dass das auch DT kann Automatisches Umbenennen von PDF-Dateien mit Datum aus Dokumentinhalt . Mein Problem ist, wie ich das aber in DT hinbekomme. Ob mit Intelligenten Regeln oder mit der Stapelverarbeitung? Ich weis nicht wie das funktioniert. Eine Dokumentation mit einer Beschreibung wäre hilfreich. Kann mir da bitte jemand helfen? Ich habe den Dateinamen meiner PDF Dateien bis jetzt immer so angelegt: Datum_Absender_Betreff.pdf . Z.B. 2021.01.26_DKB_Änderungen der Vertragsbedingungen zum 1. April 2021 . Was muss ich genau einstellen, das DT wie Hazel das Datum aus dem Dokument ausließt und den Absendernamen z.B. DKB einträgt. Den Betreff habe ich immer selber in den Dateinamen einkopiert.

Vielen Dank für eure Hilfe

Ciao Holger

Es gilt trotzdem: das Thema ist nahezu bis zur Erschöpfung durchgekaut worden. Ich hatte dir im englischsprachigen Forum auch Hinweise dazu gegeben:

Es wäre mE sinnvoll, wenn du dich mit den vorhandenen Beschreibungen und Vorgehensweisen beschäftigst. Versuch’, die auf deine Aufgabenstellung anzuwenden. Und wenn es dabei dann konkrete Probleme gibt, schildere die hier. Dann kann man dir konkret helfen.

Hallo chrillek,

Wenn das Thema immer wieder bis zur Erschöpfung aufkommt, wäre es vielleicht an der Zeit, dass die Entwickler von DEVONthink eine auch für den Laien verständliche Dokumentation zu diesem Thema veröffentlichen würden.

Du kannst mir glauben, ich habe Stunden lang im Forum, im DEVONthink Manual und im DEVONthink Arbeitsbuch recherchiert und konnte keine Lösung für mein Problem finden. Wenn das für dich alles so klar ist, wäre es echt nett von dir, mich vielleicht mit einem Screenshot zu erhellen. Ich habe bis jetzt nur das, was im Screenshot zu sehen ist, zustande gebracht was aber nicht funktioniert. Und noch etwas, ich bin kein Informatiker sondern einfach nur ein Anwender. Wie bekomme ich in das Feld „Inhalt“ Platzhalter hinein?

Ich würde mich sehr darüber freuen, wenn die Wissenden hier im Forum mir helfen könnten.

Danke

1 Like

Inwiefern funktioniert es nicht? Gibt es eine Fehlermeldung? Die Auswahl “Tag.Monat.Jahr” wählt nur solche Dateien aus, in denen der Text “Tag.Monat.Jahr” vorkommt. Ich kann mir schwer vorstellen, dass Du solche Dokumente überhaupt hast.

Als erstes würde ich eins andere Auswahl treffen, sowas wie “Dokument ist PDF/PS” und “Anzahl Wörter ist > 0”. Damit erwischst Du alle PDFs mit Text-Layer. Und dann kannst Du, sofern DT darin ein Dokumentendatum erkannt hat, den Namen entsprechend ändern. Was Du erstmal nur mit Kopien ausprobieren solltest.

Siehe zb: Smart Rule to add date to filename doesn't always work

Alternativ könntest Du “character ranges” zum Suchen benutzen. Das ist in der Dokumentation unter “search operators” beschrieben. [0-9] steht demzufolge für die Ziffern 0…9. Allerdings sucht DT immer nur in seinem Index, und der enthält idR keine Interpunktionszeichen. “[0-9][0-9].[0-9][0-9].[0-9][0-9][0-9][0-9]” würde deshalb vermutlich nicht nur 20.08.2022, sondern auch 12345-77/1 finden. Beispielsweise.

Dann gibt es da noch unter “Werkzeuge/Stapelverarbeitung” das vorgefertigte “Namen ändern”. In der Dokumentation nur gestreift, aber im Forum mehrfach erwähnt:

Du könntest also zum Suchen das oben erwähnte Muster benutzen und dann mit der Aktion “Scan Text” (Handbuch: Smart rule events and actions) das folgende Umbenennen auf diejenigen Dateien beschränken, die wirklich ein Datum enthalten. Das ist aber etwas komplizierter, als darauf zu hoffen, dass jeder sein Datum in der Form “TT.MM.YYYY” schreibt. Die Allianz zB benutzt gerne mal Monatsnamen.

Ich hatte versucht, dich mit einem Link zu einer längeren Diskussion über das Thema “DT statt Hazel zum Umbenennen benutzen” zu erhellen. Kurzfassung: Bislang würde ich das mit einem Script machen, weil DT’s intelligente Regeln mir ein wenig zu eingeschränkt sind. So kann man mE das Einsortieren in Gruppen nicht flexibel genug handhaben – grob gesagt muss man für jede Zielgruppe eine Regel erstellen. Andere Leute sehen das anders und haben lieber viele intelligente Regeln.

Und schließlich gibt es noch die etwas unscheinbare Informationsquelle “Extras”.
Bildschirmfoto 2022-03-12 um 17.20.36
Auch dort findet sich etwas zum Thema Smart Rules und Umbenennen.

Hallo chrillek, hallo Forum,

so, nach einigen Stunden recherchieren und probieren bzw. mit einigen Gedankenanstößen eines Users hier aus dem Forum habe ich es jetzt geschafft eine intelligente Regel zu erstellen die mir die Dateinamen ändert - siehe Beispielbild.

Eine Frage hätte ich noch: Ich habe eine Regel erstellt, die PDF Dateien nach dem Import mit der OCR Funktion durchlaufen lässt. Wenn ich dann in der nächsten Regel, also die Regel die den Dateinamen ändert, in das Feld „Folgende Aktion durchführen“ “nach OCR” eintrage, passiert nichts. Was muss ich eintragen, damit die Regel automatisch gestartet wird? Ist minütlich empfehlenswert?
Ciao Holger

Das kommt auf deine OCR-Regel an; bitte poste sie hier.

Regeln & Skripte lösen keine anderen Regeln automatisch aus, da sonst die Ergebnisse unerwünscht bis unvorhersehbar wären. Aber Sie können andere Regeln mit der Aktion Regel anwenden in eine Regel einbinden.

Hallo,
Ich dachte, wenn in DT ein OCR Prozess beendet wurde, startet dann die Regel „AOK Plus“ weil ja in ihr festgelegt ist, dass sie „nach OCR“ starten soll.


Hier meine OCR Regel

nach OCR löst m.W. nur nach einer manuell ausgelösten OCR und nicht nach einer durch eine Regel ausgelösten OCR aus. nach Import oder nach Synchronisierung würde hier in deiner AOK-Regel auch nicht funktionieren, da die Bedingungen der Regel “AOK Plus” zum Zeitpunkt des Triggers nicht erfüllt sind (es ist ja gerade kein Inhalt zu diesem Zeitpunkt verfügbar).

Criss Lösung ist geeignet, wenn nur eine bestimmte Regel nach OCR ausgeführt werden soll. Sollen grundsätzlich nach OCR alle Regeln auf das Dokument angewandt werden, kann in der OCR Regel als letzte Aktion folgendes Skript eingebettet werden:

on performSmartRule(theRecords)
	tell application id "DNtp"
		repeat with theRecord in theRecords
			perform smart rule trigger import event record theRecord
		end repeat
	end tell
end performSmartRule

Nun würden alle Regeln, die den Trigger nach Import verwenden, und deren Bedingungen auf das Dokument zutreffen, ausgelöst werden. Es ist möglich, tatsächlich alle Regeln, unabhängig vom Trigger, auszulösen, indem man das Skript anpasst. Das kann aber durchaus auch unbeabsichtigte Auswirkungen haben; ich persönlich benutze das Skript exakt so wie oben aufgeführt und löse so meine Importregeln aus.

Hallo cgrunenberg,
das ist zwar eine gute Idee, jedoch können nach der OCR Regel viele verschiedene Regeln folgen. Hängt ganz davon ab, was die Regeln in dem Feld „Inhalt“ findet.

Genau; siehe hierzu meine Lösung im Post eins weiter oben.

Übrigens: deine OCR-Regeln löst nach Synchronisierung, nicht nach Import aus - obwohl du sie “nach Import” genannt hast. Ich nehme an, das ist deine Absicht - ganz nachvollziehen kann ich es aus der Ferne aber nicht (oder kommen die PDFs z.B. über DTTG nach DT? Dann wäre dennoch evtl. ein zweiter Trigger mit nach Import angebracht, damit die Regel auch bei Import direkt nach DT funktioniert).

Hallo Blanc,

mein Workflow ist, dass ich auf meinem iPhone mit der „Genius Scan App“ die Dokumente erfasse und von dort das PDF Dokument nach „DEVONthink to go“ teile. Hier wird das Dokument über Bonjour auf den Mac in die DEVONthink App synchronisiert. Und jetzt springt die intelligente Regel „PDF Automatischer OCR nach Import“ an und führt eine OCR Verarbeitung durch was auch schon klappt. Anschließend soll der Dateiname geändert werden was noch nicht automatisch klappt, nur manuell oder bei Angabe im Aktionsfeld „Minütlich“.

Das mit den Skripten habe ich jetzt auch verstanden und habe dein Skript in die Regel „PDF Automatischer OCR nach Import“ bei „Skript ausführen/AppleScript/Skript bearbeiten…“ eingefügt. Was muss ich jetzt in der „AOK Plus“ Regel in das Feld Aktionsfeld eintragen wo jetzt „Minütlich“ steht? Im Moment startet die „AOK Plus“ Regel noch nicht automatisch.

Vielen Dank für deine gute Hilfe
Ciao Holger

nach Import

Ist “nach Import” nicht in dem Fall schon “verbraucht”, wenn erst das OCR nach dem Import durchgeführt wird?

Ja/Nein, durch das in die Regel zu integrierende Skript (siehe weiter oben) wird der Trigger erneut aktiviert.