PDF-Stapelverarbeitung mit PDFTK (in batch, shell, powershell)
Hallo Community,
ich möchte beliebig viele PDF-Dateien mit pdftk verarbeiten und in ein Output-Verzeichnis ablegen (evtl. adaptierten Namen). Idealerweise sollte am Ende eine bat herauskommen.
Einzeln ausgeführt passiert Folgendes:
Die "stamp.pdf" soll für alle zu verarbeitenden Dateien des Ordners "input" verwendet werden.
Wahrscheinlich brauche ich eine Variable welche ich vermutlich mit:
erzeugen kann?!
Soviel zu meiner Frage und meinen Ideen. Hat jemand einen Tipp?
Vielen Dank!
brause1701
ich möchte beliebig viele PDF-Dateien mit pdftk verarbeiten und in ein Output-Verzeichnis ablegen (evtl. adaptierten Namen). Idealerweise sollte am Ende eine bat herauskommen.
Einzeln ausgeführt passiert Folgendes:
pdftk.exe .\input\datei.pdf stamp .\stamp.pdf output .\out\datei.pdf
Die "stamp.pdf" soll für alle zu verarbeitenden Dateien des Ordners "input" verwendet werden.
Wahrscheinlich brauche ich eine Variable welche ich vermutlich mit:
dir .\input /B *.pdf
erzeugen kann?!
Soviel zu meiner Frage und meinen Ideen. Hat jemand einen Tipp?
Vielen Dank!
brause1701
Please also mark the comments that contributed to the solution of the article
Content-Key: 302981
Url: https://administrator.de/contentid/302981
Printed on: April 26, 2024 at 18:04 o'clock
3 Comments
Latest comment
Hallo,
schon die Suchfunktion oder eine Suchmaschine Deines Vertrauens genutzt? Und in was soll das nun erfolgen? In einer Windows Batch würde es etwas so ausschauen:
Unter Linux:
vg
Bytecounter
schon die Suchfunktion oder eine Suchmaschine Deines Vertrauens genutzt? Und in was soll das nun erfolgen? In einer Windows Batch würde es etwas so ausschauen:
for /f "delims=|" %%f in ('dir /b c:\Mein Verzeichnis') do echo %%f
Unter Linux:
for f in "/home/user/working dir/*.pdf"; do
echo "$f"
done
vg
Bytecounter
Hier mal ein ungetesteter Beispielcode:
Der "dir" sollte klar sein; der liefert eine Liste mit den Dateinamen zurück. "for /f" geht durch diese Textliste und übergibt jeden einzelnen Wert (in diesem Fall den Dateinamen) an die Variable %%f. "delims=|" ersetzt die Standardtrennzeichen (Leerzeichen, Tab) durch |. Damit dürfen die Dateinamen auch Leerzeichen beinhalten.
for /f "delims=|" %%f in ('dir /b .\input\*.pdf') do (
pdftk.exe .\input\%%f.pdf stamp .\stamp.pdf output .\out\%%f.pdf
)
Der "dir" sollte klar sein; der liefert eine Liste mit den Dateinamen zurück. "for /f" geht durch diese Textliste und übergibt jeden einzelnen Wert (in diesem Fall den Dateinamen) an die Variable %%f. "delims=|" ersetzt die Standardtrennzeichen (Leerzeichen, Tab) durch |. Damit dürfen die Dateinamen auch Leerzeichen beinhalten.