Wie kann ich die erste Seite jeder PDF-Datei in einem Ordner zusammenfassen?

1027
Jack

Wie kann ich die erste Seite jeder PDF-Datei in einem Ordner zusammenfassen? Wenn möglich, möchte ich dies mit einer Befehlszeilenanwendung tun. Derzeit verwende ich die PDFtk- Software mit einem Befehl wie diesem:

pdftk *.pdf cat output all.pdf 

Ich weiß jedoch nicht, wie ich nur die erste Seite jedes PDFs kombinieren soll . Ich habe über die catArgumente gelesen, weiß aber noch nicht, wie das geht.

AKTUALISIEREN:

Der Befehl:

pdftk *.pdf cat 1-2 output all.pdf 

Ruft die ersten beiden Seiten der letzten vom *.Shell-Operator erweiterten PDF- Datei ab ...

UPDATE 2 :

Ich habe das gemacht, wonach ich gesucht habe, aber manuell, also ohne *.Shell-Operator:

pdftk 1.pdf 2.pdf cat 1 1 output combined.pdf 

Ein imaginäres Shell-Skript würde folgendermaßen aussehen:

pdftk *.pdf cat repeat(1, COUNT(*.pdf)) output combined.pdf  repeat(C, N) -> repeat the character C N times COUNTOF(*.pdf) -> get the number of PDF files the folder 
1
Welches Betriebssystem? Es gibt wahrscheinlich eine funktionsfähige Windows-Antwort, aber es wäre sehr nett, wenn Sie ein wenig genauer wären, auf welchem ​​Betriebssystem Sie dies tun möchten Journeyman Geek vor 7 Jahren 0

2 Antworten auf die Frage

1
Pimp Juice IT

Wie kann ich die erste Seite jedes PDFs in einem Ordner zusammenfassen?

Nun, mit pdftk können Sie dies über die Befehlszeilen-Shell in Windows erledigen, indem Sie ein paar Staging-Verzeichnisse und eine einfache FOR-Schleife verwenden, um die pdftk-Befehle entsprechend zu durchlaufen. . .

Bitte beachten Sie, dass die Ordnernamen mit Leerzeichen um den Ordnernamen in doppelte Anführungszeichen gesetzt werden müssen und auch einen doppelten Backslash im Ordnerpfad enthalten. z D:\\"test folder"\\*.pdf, C:\Test\\"Output 1"und so weiter.

Batch-Skript

@ECHO ON  SET PDFDir=C:\Users\User\Desktop\Test SET newPDFDir=%PDFDir%\new SET combinedDir=%newPDFDir%\combined  IF NOT EXIST "%newPDFDir%" MD "%newPDFDir%" IF NOT EXIST "%combinedDir%" MD "%combinedDir%" IF EXIST "%combinedDir%\*.pdf" DEL /Q /F "%combinedDir%\*.pdf" IF EXIST "%newPDFDir%\*.pdf" DEL /Q /F "%newPDFDir%\*.pdf"  :IteratePDFtk FOR %%F IN ("%PDFDir%\*.PDF") DO pdftk %%~F cat 1 output "%newPDFDir%\%%~NXF" CD /D "%newPDFDir%" pdftk %newPDFDir%\*.pdf cat output %combinedDir%\combined.pdf EXPLORER "%combinedDir%" GOTO EOF 

Weitere Ressourcen

Während Ihre Antwort in der schriftlichen Form nicht falsch ist, sieht es fast so aus, als würden OPs tatsächlich nach einer Linux-Lösung suchen Journeyman Geek vor 7 Jahren 0
1
Geremia

Im folgenden Befehl können Sie -dFirstPage=1und -dLastPage=1vor jeder Verkettung auf jedes PDF einzeln anwenden:

gs -dFirstPage=1 -dLastPage=1 -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=out.pdf *.pdf