Wie extrahiere ich die erste Seite mehrerer PDFs im Batch?

0

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

Wie auch immer, ich habe Ghostscript installiert und versucht, es ein paar Mal mit diesem Skript auszuführen

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

Ich habe das Drehbuch von hier .

Ich wusste nicht wirklich, wo ich den Verzeichnisnamen setzen sollte, aus dem das Programm im Batch extrahieren sollte, noch den Ausgabedateinamen oder den Ausgabedirektor. Mir ist klar, dass dies für die meisten von Ihnen grundlegende Dinge sind, aber wenn mir jemand helfen könnte, würden Sie mir wahrscheinlich Jahre Arbeit ersparen.

Vielen Dank!

Emily Ward
quelle

Antworten:

0

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

Die Ausgabedatei wird "$file"mit der bashErweiterung gebildet "${file%.pdf}-page1.pdf", die .pdfam Ende des Dateinamens gelöscht und durch ersetzt wird -page1.pdf, so dass beispielsweise report.pdfdie Ausgabedatei report-page1.pdfim selben Verzeichnis generiert wird .

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

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

Sie sollten die Parametererweiterung im bashHandbuch nachlesen .

AFH
quelle