Effiziente PDF-Optimierung mit Ghostscript CLI
Um eine PDF mit Ghostscript zu verkleinern, erstellen Sie eine separate Testkopie und vergleichen
Sie diese vor der Weitergabe mit dem Original. Die Voreinstellung /ebook
ist ein Ausgangspunkt für Dokumente mit großen Bildern. Doch auch eine erfolgreiche Konvertierung
kann eine größere Datei erzeugen. Diese Anleitung bewahrt beide Dateien und hilft Ihnen zu
entscheiden, ob die Testkopie nützlich ist.
Entscheiden Sie, ob sich das Neuerstellen der PDF eignet
Das Ausgabegerät pdfwrite von Ghostscript erstellt aus den Zeichenoperationen
der Eingabe eine neue PDF. Es komprimiert nicht einfach die ursprünglichen Bytes. Artifex erklärt,
warum dies Dokumentfunktionen verändern und die
Dateigröße erhöhen kann.
Nutzen Sie diesen Workflow für eine entbehrliche Kopie zur Weitergabe, deren Aussehen Sie prüfen können. Bewahren Sie signierte Originale auf: Die neu erstellte Kopie behält deren gültige digitale Signaturen nicht bei. Wenn Sie ausfüllbare Formulare, Barrierefreiheits-Tags und Lesereihenfolge, Anhänge oder die Einhaltung von Archivierungsstandards benötigen, nutzen Sie einen Workflow, der diese Eigenschaften explizit bewahrt und validiert. Anhand gerenderter Seiten lässt sich nicht feststellen, ob sie erhalten geblieben sind. Auch Links, Lesezeichen, durchsuchbarer Text und Metadaten müssen geprüft werden, wenn Sie darauf angewiesen sind.
Ghostscript einrichten
Sie benötigen Ghostscript, pdfinfo und pdftoppm von
Poppler, Bash und einen PDF-Viewer. Unter Ubuntu heißen die Pakete ghostscript
und poppler-utils. Verwenden Sie gepflegte Pakete und notieren Sie Ihre Versionen:
gs --version && pdfinfo -v && pdftoppm -v
Die folgenden Befehle wurden unter Linux mit Ghostscript 10.07.1 und Poppler 26.08.0 sowie mit Ghostscript 10.02.1 und Poppler 24.02.0 aus Ubuntu 24.04 getestet. Es sind Bash-Beispiele; die Ausführung unter Windows und macOS wird hier nicht behandelt.
Eine Testkopie erstellen, ohne ein früheres Ergebnis zu überschreiben
Arbeiten Sie in einem Verzeichnis, das Ihre PDF unter dem Namen original.pdf
enthält. Bewahren Sie diese Datei während des gesamten Vergleichs auf. Führen Sie diesen kompletten
Block einschließlich der Klammern in Bash aus:
(
set -eu
pdfinfo ./original.pdf
mkdir ./pdf-review
gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook \
-dCompatibilityLevel=1.7 -dAutoRotatePages=/None \
-dNOPAUSE -dBATCH -dPDFSTOPONERROR \
-sOutputFile=./pdf-review/candidate.pdf -f ./original.pdf
)
Der anfängliche Aufruf von pdfinfo prüft, ob Poppler die Eingabe lesen kann.
mkdir verwendet bewusst kein -p:
Wenn pdf-review bereits existiert, stoppt der Block, bevor Ghostscript läuft,
auch ohne interaktives Terminal. Ihr vorheriges Ergebnis und original.pdf
bleiben unversehrt. Die Klammern beschränken den Geltungsbereich von
set -eu auf diesen Block.
-sDEVICE=pdfwrite wählt die PDF-Ausgabe. /ebook kann
Bilddetails reduzieren; PDF 1.7 und die deaktivierte automatische Seitendrehung sind explizite
Einstellungen für diesen Versuch. -dNOPAUSE -dBATCH vermeidet Eingabeaufforderungen
zwischen Seiten und beendet das Programm nach der Verarbeitung. -dPDFSTOPONERROR
weist Ghostscript an, bei PDF-Fehlern zu stoppen, statt die übliche Wiederherstellung zu versuchen,
wie in der Nutzungsdokumentation beschrieben.
Keines der Programme ist ein vollständiger PDF-Validator. Lesen Sie alle Warnungen. Falls die
Konvertierung fehlschlägt, betrachten Sie alles, was in pdf-review verbleibt,
als unvollständig.
Dateigrößen vergleichen
Vergleichen Sie nach erfolgreicher Konvertierung die tatsächlichen Bytezahlen und Seitenzahlen:
wc -c ./original.pdf ./pdf-review/candidate.pdf
pdfinfo ./original.pdf && pdfinfo ./pdf-review/candidate.pdf
Die ersten beiden Zeilen von wc zeigen die einzelnen Größen; die Zeile
total addiert sie. Vergleichen Sie in den beiden Berichten von
pdfinfo die Angaben Pages und
Page size. Eine geringere Bytezahl rechtfertigt weder eine fehlende Seite noch
eine unerwartete Änderung des Seitenformats. Prüfen Sie bei Dokumenten mit unterschiedlichen
Seitenformaten außerdem jede Seite im Viewer.
Rendern Sie beide Dokumente mit Poppler, unabhängig von Ghostscript:
(
set -eu
mkdir ./pdf-review/previews
pdftoppm -r 150 -png ./original.pdf ./pdf-review/previews/original
pdftoppm -r 150 -png ./pdf-review/candidate.pdf ./pdf-review/previews/candidate
)
Dies schreibt eine PNG-Datei pro Seite mit den zugehörigen Präfixen
original- und candidate-. Ein vorhandenes Verzeichnis
previews wird nicht erneut verwendet. Öffnen Sie die entsprechenden Bilder
nebeneinander und prüfen Sie kleinen Text, feine Linien, Fotos, Farben und Seitenausrichtung.
Diese Vorschauen mit 150 dpi helfen, sichtbare Änderungen zu finden. Öffnen Sie die PDFs außerdem
in der vorgesehenen Zoomstufe oder prüfen Sie Probedrucke in der vorgesehenen Druckgröße.
Versuchen Sie, in der Testkopie Text auszuwählen und zu suchen sowie wichtigen Links zu folgen.
Verwenden Sie die Testkopie nur, wenn sie kleiner ist und die für Ihr Dokument erforderlichen
Prüfungen besteht. Nutzen Sie andernfalls weiter das Original. Bereits kompakte Text- oder
Vektor-PDFs können größer werden, und bei einem stark komprimierten Scan lässt sich möglicherweise
kaum noch etwas einsparen. Um eine andere Einstellung zu testen, benennen Sie das Prüfverzeichnis
um, damit dieser Versuch erhalten bleibt. Starten Sie dann erneut mit
original.pdf. Das erneute Komprimieren einer verlustbehafteten Testkopie kann
weitere Details entfernen.
Voreinstellungen zur PDF-Optimierung
Dies sind die Zielauflösungen für das Herunterskalieren von Farb- und Graustufenbildern in den getesteten Versionen. Die Definitionen der Voreinstellungen von Ghostscript legen außerdem separate Einstellungen für monochrome Bilder fest:
| Voreinstellung | Ziel für Farbe und Graustufen | Worauf Sie achten sollten |
|---|---|---|
/screen | 72 dpi | Feine Bilddetails können verloren gehen. |
/ebook | 150 dpi | Prüfen Sie Scans und kleinen Text in Bildern. |
/printer | 300 dpi | Prüfen Sie Farben und Schriften für den vorgesehenen Drucker. |
/prepress | 300 dpi | Garantiert keine Druckreife. |
Das Herunterskalieren verwendet auch einen Auflösungsschwellenwert; nicht jedes Bild wird auf die
Zielauflösung gebracht. Diese Voreinstellungen ändern mehr als nur die Auflösung, darunter den
Umgang mit Farben und Schriften. /prepress ist kein Schalter für höchste
Qualität. Nutzen Sie für eine spezifische Bildanforderung die
einzelnen Bildsteuerungsoptionen,
statt weitere Voreinstellungen hinzuzufügen.
Eine Kompatibilitätsstufe wählen
Das Beispiel fordert nach der Auswahl von /ebook explizit PDF 1.7 an.
Verwenden Sie eine ältere Stufe nur, wenn ein Empfänger sie benötigt. Senken Sie die PDF-Version
nicht allein in der Hoffnung auf eine kleinere Datei: Dies kann Komprimierungsfunktionen
deaktivieren, und eine Ausgabe unter PDF 1.4 kann Seiten mit Transparenz in Bitmaps umwandeln.
Lesen Sie die Einschränkungen von pdfwrite,
bevor Sie diese Einstellung ändern.
Prüfen Sie bei einer Sammlung von PDFs repräsentative Dokumente, bevor Sie die Konvertierung automatisieren. Verwenden Sie für jede Eingabe einen separaten Ausgabeort und vergleichen Sie die Ergebnisse einzeln. Ein erfolgreich konvertierter Scan sagt wenig über eine Vektorzeichnung oder ein Formular aus.
Häufige Fehler und Lösungen
- Ein Befehl fehlt: Installieren Sie das entsprechende Paket und prüfen Sie, ob dessen
ausführbare Datei über
PATHerreichbar ist. Poppler liefert beide hier verwendeten Prüfprogramme. File existsvonmkdir: Der Überschreibschutz hat funktioniert. Prüfen Sie den vorherigen Versuch und benennen Sie dessen Verzeichnis um, bevor Sie einen weiteren starten. Fügen Sie nicht-phinzu, um den Schutz zu umgehen.- Fehlende, verschlüsselte oder beschädigte Eingabe: Prüfen Sie den Dateinamen und öffnen Sie das Original in einem Viewer. Beschaffen Sie bei Bedarf eine lesbare Quellkopie, zu deren Nutzung Sie berechtigt sind. Verwenden Sie keine unvollständige Konvertierung.
- Schriftersetzung oder unerwartetes Aussehen: Exportieren Sie vorzugsweise das Quelldokument erneut mit eingebetteten Schriften. Eine kleinere Datei mit verändertem Text ist kein akzeptables Ergebnis.
- Zugriff verweigert oder Datenträger voll: Verwenden Sie ein beschreibbares Arbeitsverzeichnis mit Platz für die neue PDF und die Seitenvorschauen. Bewahren Sie den fehlgeschlagenen Versuch bei einem erneuten Versuch separat auf.
Lizenzhinweis
Ghostscript ist unter der AGPL und einer kommerziellen Lizenz verfügbar. Wenn Sie es mit einer Anwendung vertreiben oder einen Dienst betreiben möchten, prüfen Sie die Lizenzinformationen von Artifex für diese Nutzung.
