Kategorien
Computer Nützliches Studium

PDF-Dateien verkleinern mit Ghostscript

Viele Studenten bekommen Probleme mit großen PDF-Dateien. Wenn die Dozenten als Lernunterlagen PDF-Dokumente mit teilweise kompletten Buchkapiteln bereit stellen,
können das schon mal 100 MB sein. Auf der Festplatte ist das kein großes Problem, aber ein USB-Stick kann da schon mal voll laufen. Zudem werden die Dokumente auch per Email verschickt. Und das dauert dann sehr lange und ist auch noch nicht immer möglich, wenn die maximale Dateigröße überschritten wird.

Da kann Ghostscript aushelfen, weil es PDF-Dateien verkleinern kann.
Mit dem folgenden Befehl wird z.B. die Datei original.pdf mit komprimierten Bildern als neu.pdf gespeichert. Die Originaldatei wird hierbei nicht verändert.

"C:\Program Files\gs\gs8.64\bin\gswin32c.exe" -dNOPAUSE -dBATCH ^
-dDownsampleColorImages=true -dColorImageResolution=300 ^
-dDownsampleGrayImages=true -dGrayImageResolution=300 ^
-dDownsampleMonoImages=true -dMonoImageResolution=300 ^
-sDEVICE=pdfwrite -sOutputFile=neu.pdf original.pdf

Die grundsätzlichen Optionen werden in der offiziellen Dokumentation erläutert.
-dNOPAUSE und -dBATCH sorgen dafür, dass die Konvertierung ohne Unterbrechungen und zusätzliche Benutzerabgaben durchläuft. Mit -sDEVICE=pdfwrite wird PDF als Ausgabeformat festgelegt.
-sOutputFile=neu.pdf gibt an, dass das Ergebnis in neu.pdf gespeichert wird, und als letztes Argument kommt der Quell-Dateiname original.pdf. Achtung: Als Quell- und Zieldatei darf nicht die gleiche Datei verwendet werden. Sonst wird die vorhandene Datei mit einer leeren PDF-Datei überschrieben!

Für die Bildkomprimierung habe ich bei Copyshop-Tips die beste Beschreibung gefunden. -dDownsampleColorImages=true bestimmt, dass Farbbilder herunter gerechnet werden, -dColorImageResolution=300 setzt die Auflösung dafür auf 300 dpi. Da wir alle Bilder umwandeln wollen und vor allem Scans von Büchern oft als Graustufen oder Schwarzweiß-Bilder gespeichert werden, sollte Ghostscript angewiesen werden auch diese zu konvertieren. Idealerweise haben alle Bilder dabei die gleiche Auflösung. 300 dpi sind gut genug zum Drucken, für die Bildschirmausgabe können auch 150 dpi reichen.

Hier zum Vergleich 3 Bilder mit verschiedenen Bildauflösungen, auf 400% vergrößert:

  1. Unkomprimiertes Original, 73,8MB
    Vergrößerung im Original-PDF
  2. Komprimiert mit 300dpi, 36,9MB
    Vergrößerung im komprimierten PDF, 300dpi
  3. Komprimiert mit 150dpi, 24,2MB
    Vergrößerung im komprimierten PDF, 150dpi

Die Texte auf allen Bildern sind gut lesbar und die Kompression bringt deutliche Platzersparnisse von 50 bzw. 67 Prozent. Bei meiner Testdatei hat es auf die Dateigröße keine Einfluss gehabt, wenn ich die Auflösung von 300 auf 600 dpi umgestellt habe. Wahrscheinlich haben die Bilder eine Auflösung von 300 dpi und werden deshalb nicht umgerechnet, wenn 600 dpi als Maximalauflösung eingestellt wird. Dennoch nimmt die Datei auch dann nur die Hälfte des ursprünglichen Platzes ein.
Eventuell hat die Originaldatei also gänzlich unkomprimierte Bilder.

Deshalb lohnt es sich wahrscheinlich für die meisten größeren PDF-Dateien, sie einmal mit Ghostscript neu zu komprimieren. Die Platzersparnis variiert, im aktuellen Fall sind es 50 Prozent. Ich hatte aber einige Dateien die 400 MB groß waren. Die Bilder in diesen PDF-Dateien hatten eine Auflösung von 600 dpi. Da ich die Dokumente nur am Bildschirm lesen wollte, habe ich sie auf 200 dpi herunter gerechnet. Im Ergebnis waren es dann nur noch 40 MB, eine Ersparnis von 90 Prozent!