Sie müssen ungefähr 500 PDFs durchgehen und die erste Seite von extrahieren. Sie mussten dann einige zeitaufwendige Konvertierungsprozesse durchlaufen und hofften, durch einen Batch-Prozess etwas Zeit zu sparen, um nur die erste Seite aus den 500 PDFs zu extrahieren und sie in ein neues PDF zu platzieren. Ich habe mich in Acrobat umgesehen, kann aber keine richtige Methode finden, um dies für mehrere Dateien zu tun. Kennt jemand andere Programme oder Methoden, mit denen dies erreicht werden könnte? Free und Open Source sind natürlich günstiger :)
BEARBEITEN: GhostScript wurde zum Extrahieren von nur einer Seite bereits erfolgreich eingesetzt. Ich schaue jetzt nach, wie man das stapelt, und nehme die Liste der Dateien und verwende diese.
pdf
open-source
Tim Alexander
quelle
quelle
Antworten:
Mit pdftk ...
Auf Mac und Linux über die Befehlszeile.
for file in *.pdf ; do pdftk "$file" cat 1 output "${file%.pdf}-page1.pdf" ; done
Unter Windows können Sie eine Batchdatei erstellen. Öffne Notepad, füge das hier ein:
for %%I in (*.pdf) do "pdftk.exe" "%%I" cat 1 output "%%~nI-page1.pdf"
Möglicherweise müssen Sie "pdftk.exe" durch den vollständigen Pfad zu pdftk ersetzen, z. B.
"C:\Program Files\pdftk\pdftk.exe
oder wie auch immer. (Ich benutze kein Windows, also weiß ich es nicht.)Speichern Sie es mit einer Erweiterung mit der Endung .bat, legen Sie es im Ordner mit den PDF-Dateien ab und doppelklicken Sie darauf.
Sie können dasselbe mit Ghostscript tun, ja.
Mal sehen. Für Mac und Linux (alle eine Zeile):
for file in *.pdf ; do gs -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile="${file%.pdf}-page1.pdf" -dFirstPage=1 -dLastPage=1 "$file" ; done
Ich bin nicht genau sicher, was der entsprechende Befehl für eine Windows-Batchdatei wäre. Meine beste Vermutung (--Ich habe keine Fenster, daher kann ich nicht testen--):
for %%I in (*.pdf) do "C:\Program Files\gs\gs9.00\gswin32c.exe" -dSAFER -dNOPAUSE -dBATCH -sDEVICE#pdfwrite -sOutPutFile#"%%~nI-page1.pdf" -dFirstPage#1 -dLastPage#1 "%%I"
Überprüfen Sie noch einmal, ob der Pfad zu Ihrer Ghost-Skript-Programmdatei korrekt ist. Nun, ich habe dies nicht getestet, da ich kein Windows verwende.
EDIT: OK, ich habe gerade festgestellt, dass Sie wahrscheinlich keine 500 1-Seiten-PDFs wollen, sondern ein einziges PDF, das alle kombiniert. Führen Sie einfach die obigen Schritte aus, und Sie erhalten 500 PDFs mit einer Seite. So kombinieren Sie sie mit pdftk ... auf Mac und Linux:
pdftk *-page1.pdf cat output combined.pdf
Ich denke, es ist wahrscheinlich das gleiche unter Windows, außer vielleicht den vollständigen Pfad zu pdftk, wie oben. Sie können diese Zeile einfach nach der obigen Zeile in Ihre Batch-Datei einfügen.
Mit Ghostscript ... auf Mac und Linux:
gs -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile="combined.pdf" *-page1.pdf
Und es ist wahrscheinlich dasselbe unter Windows, außer dass "gs" am Anfang durch den vollständigen Pfad zu gswin32c.exe ersetzt wird, wie oben.
Es mag eine Art von Ghostscript geben, um beides in einem Schritt zu erledigen, aber ich bin zu faul, um es jetzt herauszufinden.
Wenn die Reihenfolge, in der sie kombiniert werden sollen, wichtig ist, benötigen wir weitere Informationen.
quelle
Musste es heute einfach unter Linux machen. Es sollte auch für Mac funktionieren. Führen Sie den folgenden Befehl von Ihrem Terminal aus.
lpr übergibt Aufträge an den Drucker.
Beachten Sie die * -Zeichenverwendung im Befehl. Dies würde den Befehl für alle Ihre PDF-Dateien im Verzeichnis ausführen.
quelle
Ich denke, Sie könnten einen virtuellen PDF-Drucker wie pdf-forge verwenden.
Sie "drucken" nur die erste Seite, ich habe jetzt einen Mac und kann es nicht ausprobieren, aber ich bin mir ziemlich sicher, dass Sie es mehr als eine nach der anderen tun können.
Viel Glück!!
Trufa
quelle
wie für den Windows-Batchdateibefehl (.bat) (%% steht für Variablen in einer Bat-Datei)
erste Seite Extraktion von PDF als JPG mit reduzierter Auflösung / Größe
for %%I in (*.pdf) do "C:\Program Files (x86)\gs\gs9.14\bin\gswin32c.exe" -dSAFER -dNOPAUSE -dBATCH -sDEVICE#jpeg -r20 -sOutputFile#"%%~nI.jpg" -dFirstPage#1 -dLastPage#1 "%%I"
(im post oben wurde sOutputFile falsch geschrieben .. und mit dem aktuellen pfad der standard gs x86 install)
( Siehe auch Verwenden von Ghostscript zum Konvertieren von mehrseitigen PDF-Dateien in einzelne JPG-Dateien? )
quelle
Unter Linux
Ich habe diese Befehlszeile geschrieben
Aber es macht den Job, ich habe es getestet, es funktioniert auch mit so vielen Ordnerebenen, wie Sie haben. Stellen Sie einfach sicher, dass Sie es als Stammverzeichnis der Ordnerstruktur ausführen. Jeder Ordner enthält für jede PDF-Datei ein zusätzliches PDF mit der Endung
.firstpage.pdf
Du brauchst
pdftk
undtree
dafür und unter Ubuntu Linux kannst du es mit apt installieren:quelle
Oder verwenden Sie cpdf https://www.coherentpdf.com/ocaml-libraries.html :
quelle