geisterfahrer
Goto Top

Sortierung in pdftk

Hallo zusammen!

Ich hab schon gesucht aber entweder ich verstehe Andeutungen nicht oder konkret wurde es so nicht gefragt.

In der dritten Antwort wird hier die Lösung angedeutet.
PDFs aus Ordner per batch zusammenfügen

Sinngemäß brauche ich:
pdftk.exe <Ausgabe von: DIR c:\test\*.pdf /B /A-D /O:D mit LEERZEICHEN getrennt> cat output EinePDF.pdf

Habs mit Zwischenschritt Textdatei, in der ich schon via einem python-Programm die Zeilenumbrüche in Leerzeichen ersetzt hab versucht, die ich aber nicht direkt in pdftk einlesen kann.
Hab dann versucht die Textdatei in eine Variable zu setzen, die ich dann in der batch aufrufe:
SET /p pdfliste=< c:\pdf.txt
was aber nicht klappt, da die Variablenlänge beschränkt ist auf anscheinend ca. 2000 Zeilen. Meine PDFs haben aber einen hart ins Ausgabeprogramm gecodete Länge von ca. 60 Zeichen und es kommt vor, dass davon dann 200-300 St im Verzeichnis liegen. Direkt in der Shell eingegeben klappts, über den Umweg über die Variable hörts mittendrin auf. System ist Win2003 Server x32.

Hat jemand eine Idee, wie ich jetzt entweder direkt oder über Umweg über die vorhandene Textdatei (Dateinamen da mit Leerzeichen getrennt) die als "Datenquelle" für pdftk verwenden kann?! Zweifel gerade n bissl an mir selbst...

DANKE, Grüße
Michael

Content-Key: 214309

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

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

Member: Endoro
Endoro Aug 14, 2013 updated at 19:11:07 (UTC)
Goto Top
Hallo,
laut Artikel 830473 unterstützt cmd 8191 Zeichen auf der Kommandozeile, was ich nicht getestet habe.
Dazu folgende Zeilen:
@ECHO OFF &SETLOCAL
FOR /f "delims=" %%a IN ('DIR c:\test\*.pdf /B /A-D /O:D') DO CALL SET line=%%line%% "%%~a"  
ECHO pdftk.exe %line% cat output EinePDF.pdf
Dieser Code unterstützt keine Dateinamen mit % oder ^.
lg.
Member: geisterfahrer
geisterfahrer Aug 15, 2013 updated at 08:22:08 (UTC)
Goto Top
Hallo Enduro,

herzlichen Dank für die schnelle Antwort.

So klappts jetzt:

@ECHO OFF &SETLOCAL 
FOR /f "delims=" %%a IN ('DIR c:\pdf_test\*.pdf /B /A-D /O:D') DO CALL SET line=%%line%% %%~a  
pdftk %line% cat output c:\pdf_test\EinePDF.pdf

Die Beschränkung auf gut 8000 Zeilen aus Deinem Link kannte ich schon. Nur die Variablenlänge, so wie ich sie eingestellt hatte, war deutlich geringer. Aber das wird ja hier umschifft.

DANKE!
LG
Michael