Ich suche nach einem Linux- Befehlszeilenprogramm, das eine zusammengeführte PDF-Datei (zwischen 1 MB und 500 MB) eingibt und eine optimierte/linearisierte Version ausgibt. Jede einzelne Seite verwendet denselben Satz von ~8 Bildern und dieselbe Schriftart. Beim Ausführen einer meiner Testdateien über Adobe Acrobat Pro wurde die Datei innerhalb von etwa 30 Sekunden von 34 MB auf 1,6 MB vergrößert. Ich erwarte nicht wirklich eine solche Leistung, aber etwas, das auch nur halb so schnell / effizient wäre, wäre wunderbar.
Ich brauche es für einen Batch-Job, der unter Linux ausgeführt wird , weshalb es eine CLI benötigt. Ich habe pdftk , gs , qpdf , pdftops und pdfsizeopt ausprobiert . Die ersten 4 sind entweder viel zu langsam oder optimieren die PDF- Dateien nicht vollständig . pdfsizeopt scheint vielversprechend zu sein, aber ich habe Probleme mit der Konsistenz - einige meiner PDF- Dateien funktionieren, andere werden Fehler verursachen.
Irgendwelche anderen Ideen als die, die ich bereits aufgelistet habe? Es würde mir nichts ausmachen, etwas zu kaufen, wenn es den Job machen würde.
Ich persönlich verwende Ghostscript, um die Größe meiner PDF-Dateien zu optimieren. Sie können eine Optimierungsstufe angeben und die Bilder werden verkleinert. Dies hat auch den (IMHO wünschenswerten) Nebeneffekt, dass Elemente entfernt werden, die sich außerhalb der Seitenränder befinden.
gs -sDEVICE=pdfwrite -dPDFSETTINGS=/printer -dCompatibilityLevel=1.4 -r75 -dNOPAUSE -dQUIET -dBATCH -sOutputFile="output.pdf" "input.pdf"
Die Ebenen, die Sie verwenden können, sind:
-dPDFSETTINGS=/screen (screen-view-only quality, 72 dpi images)
-dPDFSETTINGS=/ebook (low quality, 150 dpi images)
-dPDFSETTINGS=/printer (high quality, 300 dpi images)
-dPDFSETTINGS=/prepress (high quality, color preserving, 300 dpi imgs)
-dPDFSETTINGS=/default (almost identical to /screen)
gs
ist ein sehr gebräuchlicher Alias (insbesondere für den Git-Status). Wenn Sie eine Fehlermeldung erhalten, vergewissern Sie sich, dass es sich nicht um einen Alias handelt type gs
, oder verwenden Sie den vollständigen Namen ghostscript
anstelle von gs
. Bestätigte auch die Arbeit an Fedora (Linux) Ghostscript v9.55.0pdfcpu
erstickte an PDFs, die aus einem Google-Dokument mit Fehler erstellt wurden: dereferenceObject: problem dereferencing object 69: pdfcpu: parse: duplicate key
. Allerdings führte es zuerst durch GhostScript (unter Verwendung einer anderen Antwort) und dann durch pdfcpu-Optimierung zu besseren Ergebnissen als Ghostscript allein.
yms
Andrea Lazzarotto