Wie kann ich die erste Seite mehrerer PDF-Dateien stapelweise extrahieren?

729
Emily Ward

Ich weiß, es gibt einen anderen Thread mit vielen Antworten auf diese Frage. Ich bin jedoch ein Neuling und viel davon war für mich ein Schwindel. Ich versuche zwar zu lernen :)

Auf jeden Fall habe ich Ghostscript installiert und versucht, es einige Male mit diesem Skript auszuführen

for file in *.pdf ; do gs -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite \ -sOutputFile="$-page1.pdf" -dFirstPage=1 -dLastPage=1 "$file" ; 

Ich habe das Skript von hier bekommen .

Ich wusste nicht genau, wo ich den Verzeichnisnamen eingeben sollte, aus dem das Programm Batch extrahieren sollte, oder den Ausgabedateinamen und / oder den Ausgabe-Director. Ich weiß, das ist grundlegend für die meisten von Ihnen, aber wenn mir jemand helfen könnte, würden Sie mir wahrscheinlich Jahre Arbeit ersparen.

Vielen Dank!

0

1 Antwort auf die Frage

0
AFH

Das Verzeichnis, in dem sich die PDF-Dateien befinden, ist das aktuelle Verzeichnis, da for files in *.pdf ; ...für die übereinstimmenden Dateien kein Verzeichnispfad angegeben wird.

Die Ausgabedatei wird "$file"mit der bashErweiterung gebildet "$-page1.pdf", die .pdfvom Ende des Dateinamens gelöscht und durch ersetzt wird -page1.pdf, sodass beispielsweise report.pdfdie Ausgabedatei report-page1.pdfim gleichen Verzeichnis generiert wird .

Sie können einen Verzeichnispfad in der forKlausel voranstellen, zfor files in SourceDir/*.pdf ; ...

Sie können die Ersatzzeichenfolge ändern. oder Sie können ein Verzeichnis voranstellen, obwohl die Ersetzung komplexer wird, wenn Sie einen Verzeichnispfad in der forKlausel verwenden.

Sie sollten sich im Handbuch über Parametererweiterung informierenbash .