Mehrere PDF-Dateien mit pdftk nach Erstellungsdatum zusammenführen

1778

Ich habe mehrere PDF-Dateien und möchte diese Dateien mit pdftk zusammenführen. Ich kann das so machen

C:\pdftk *.pdf cat output merged.pdf 

Dadurch werden Dateien in alphabetischer Reihenfolge zusammengeführt. Ich möchte jedoch Dateien nach ihrem Erstellungsdatum (Zeitstempel) bestellen. Wie ist das möglich? Ich verwende Win XP.

0

2 Antworten auf die Frage

0
buba

Ich denke, der beste Weg ist das Hinzufügen von Datumsangaben zu Dateinamen. Sie können dies mit dem Bulk Rename-Dienstprogramm tun. Es ist ein sehr leistungsfähiges und kostenloses Dienstprogramm.

Sie können auch eine andere Software zum Zusammenführen / Aufteilen von PDF-Dateien mit GUI verwenden, z. B. PDFsam.

0
Kurt Pfeifle

Sie können eine Liste Ihrer PDF-Dateien erstellen, die nach Erstellungsdatum sortiert ist:

 dir /b /tc /od *.pdf > my-pdf-filelist.txt 

(Wenn Sie möchten, dass die Liste - nicht nach Erstellungszeit sortiert wird - die Sortierung nach Zugriffszeit erfolgt, verwenden Sie ' /ta' statt ' /tc'; wenn Sie nach Änderungszeit sortieren möchten, verwenden Sie ' /tw'.)

Verwenden Sie dann diese Liste, um eine weitere temporäre Listendatei zu erstellen, die den Zeitstempel und die PDF-Dateinamen mit hinzugefügten Datums- und Zeitangaben in derselben Zeile enthält:

 for /f "usebackq" %i in (my-pdf-filelist.txt) ^ do (echo. %~ti %~nxi >> my-pdf-filelist.2) 

Prüfen Sie nun, ob Ihre Dateiliste my-pdf-filelist.2Zeilen enthält, die folgendermaßen aussehen:

05/27/2009 06:08 AM fontproblems-in-footer-16_9_1557.pdf 01/20/2010 09:22 AM trainschedule-hannover.pdf 06/05/2010 07:30 PM Figure_001-a.pdf 

Abhängig von der Einstellung für Ihre Sprache und Ihr Gebietsschema kann Ihr Zeitstempelformat unterschiedlich sein, und Sie müssen möglicherweise den folgenden Schritt anpassen. In meinem Fall muss ich mich um die "AM / PM" -Sache und die Datumszeichenkette kümmern, um sicherzustellen, dass die Dateinamen später wirklich in einer alphabetischen Reihenfolge liegen, die der Zeitstempelreihenfolge entspricht.

Verwenden Sie diese temporäre Listendatei, um Ihre ursprünglichen Dateinamen so umzubenennen, dass sie ihre Zeitstempel als Präfix zu ihren ursprünglichen Namen enthalten. Aber testen Sie zuerst den beabsichtigten Befehl wie folgt:

 for /f "usebackq tokens=1,2,3,4,5,6,7 delims=/: " %i in (my-pdf-filelist.2) ^ do (echo. "%o" will be renamed to: "%k-%j-%i-%n-%l-%m-%o") 

Prüfen Sie sorgfältig, ob dies wie beabsichtigt funktioniert. Führen Sie schließlich die eigentliche Umbenennung durch:

 for /f "usebackq tokens=1,2,3,4,5,6,7 delims=/: " %i in (my-pdf-filelist.2) ^ do (ren "%o" "%k-%j-%i-%n-%l-%m-%o") 

Nun, da Ihre PDFs so benannt sind, dass 'alphabetische Reihenfolge' == 'Zeitstempel-Reihenfolge' ist, können Sie einfach Folgendes ausführen pdftk.exe:

 pdftk.exe *.pdf cat output merged.pdf