blackshaddow
Goto Top

PDF Dateien nach Datum sortiert zusammenfügen

Hallo,

Ich bin schon seit Stunden auf der Suche, hab aber keine passende Lösung bzw. Batch für mein Problem gefunden.

Die Ausgangssituation ist folgende: Ich habe jeden Tag eine unterschiedliche Anzahl von PDF Dateien in einem Ordner, welche ich zu einem PDF Dokument zusammenfügen möchte.
Als Programm steht mir PDFTK zur Verfügung.
Die Schwierigkeit liegt bei mir darin, dass die Dateien chronologisch nach Datum sortiert werden müssen, desweiteren sind manche der PDF Dokumente bereits mehrseitig und dürfen wärend des Vorgangs nicht getrennt werden.
chronologisch sortiert bedeutet, dass die Dateien alle von einem Tag sind (meistens dem Vortag) und nach der Erstellungsuhrzeit sortiert werden müssen, wobei die erste Seite in der neuen PDF Datei auch die am frühesten erstellte einzel PDF Datei sein soll.

Tut mir Leid, ich hoffe ich habe mich nicht zu kompliziert ausgedrückt und ihr könnt mir bei meinem Problem helfen.

Vielen Dank im Voraus

MfG

Michele

Content-Key: 95702

Url: https://administrator.de/contentid/95702

Printed on: April 25, 2024 at 09:04 o'clock

Member: miniversum
miniversum Aug 30, 2008 at 15:01:06 (UTC)
Goto Top
Ungetestet würd ichs so versuchen:
@echo off & setlocal
set "quelle=C:\QuellVerzeichnis"  
set "ziel=C:\ZielVerzeichnis\Alle.pdf"  
set "skiped="  
FOR /F "delims=" %%i in ('Dir /B /OD "%quelle%\*.pdf"') do (  
if not exist "%ziel%" copy "%quelle%\%%~nxi" "%ziel%"  
set "skiped=skip=1 "  
)
FOR /F "%skiped%delims=" %%i in ('Dir /B /OD "%quelle%\*.pdf"') do (  
pdftk "%ziel%" "%quelle%\%%~nxi" cat output "%ziel%"  
)
Member: blackshaddow
blackshaddow Aug 30, 2008 at 17:00:00 (UTC)
Goto Top
Hallo,

Danke erstmal für deine Hilfe.
Leider funktioniert es so noch nicht.
Er kopiert immer nur das erste PDF dokument zum Zielort und benennt es um in den Zieldateinamen.
Als Fehlermeldung kommt:

The given outputfilename matches an input filename. exiting

Eine frage ist mir auch aufgekommen, muss die pdftk.exe im gleichen ordner sein wie die batch datei?

Falls ja könnte man den Pfad zur pdftk.exe auch in die Batch integrieren, um beide an gentrennten Speicherorten zu haben?

Vielen Dank im Voraus

Michele
Member: bastla
bastla Aug 30, 2008 at 18:25:21 (UTC)
Goto Top
Hallo blackshaddow und willkommen im Forum!

miniversums Ansatz ist eigentlich völlig ok, nur kann "pdftk" nicht die selbe Datei als Quelle und Ziel verwenden - daher muss abwechselnd in eine von 2 Temp-Dateien geschrieben und aus der jeweils anderen gelesen werden. Eine Umsetzung könnte so aussehen:
@echo off & setlocal
set "quelle=C:\QuellVerzeichnis"  
set "ziel=C:\ZielVerzeichnis"  
set "gesamt=Alle.pdf"  
set "pdftk=C:\Programme\pdftk-1.12\pdftk.exe"  

set "t1=%temp%\Alle1.pdf"  
set "t2=%temp%\Alle2.pdf"  

FOR /F "delims=" %%i in ('Dir /B /O-D "%quelle%\*.pdf"') do set "erste=%%i"  
copy "%quelle%\%erste%" "%t1%">nul  
if exist "%t2%" del "%t2%"  
if not exist "%ziel%" md "%ziel%"  

FOR /F "skip=1 delims=" %%i in ('Dir /B /OD "%quelle%\*.pdf"') do (  
    if exist "%t1%" (  
        "%pdftk%" "%t1%" "%quelle%\%%~nxi" cat output "%t2%"  
        del "%t1%"  
    ) else (
        "%pdftk%" "%t2%" "%quelle%\%%~nxi" cat output "%t1%"  
        del "%t2%"  
    )
)

if exist "%t1%" copy "%t1%" "%ziel%\%gesamt%">nul  
if exist "%t2%" copy "%t2%" "%ziel%\%gesamt%">nul  
Diese Version trägt auch Deinem (sinnvollen) Wunsch nach "Auslagerung" der "pdftk.exe" Rechnung.

Grüße
bastla
Member: blackshaddow
blackshaddow Aug 30, 2008 at 22:41:01 (UTC)
Goto Top
Hallo,
super, es klappt. face-smile

Vielen Dank für eure Hilfe und Mühen ohne euch wäre ich echt verzweifelt.

schönen Abend noch.

Michele