tools:pdf-shrink

Dies ist eine alte Version des Dokuments!


PDF Dokumente verkleinern

Bild: PDF Shrink GraphikAn und ab kann es vorkommen, dass PDF-Unterlagen, speziell wenn sich darin eingescannte Dokumente und Unterlagen befinden, in Ihrer Größe stark anwachsen. Möchte man diese Unterlagen per eMail verschicken oder z.B. in einem Bewerbungsportal hochladen, kann das mitunter recht schnell auf Empfänger- oder Senderseite Unmut verursachen.

In nachfolgendem Beispiel wollen wir uns daher mit einer Lösung beschäftigen, entsprechende Unterlagen und Dokumente in Ihrer Größe unter der Inkaufnahme gewisser (optischer) Qualitätseinbußen. Aktuell halten wir in einem entsprechenden Beispiel fünf Dateien mit einer Gesamtgröße von 55 MB vor.

 $ ll -h
insgesamt 55M
-rw-rw-r--. 1 django django 1,7M  4. Mai 17:28 Bescheinigungen.pdf
-rw-rw-r--. 1 django django  14M  5. Mai 10:13 Bewerbung_LINUX_System-_und_Webadministrator.pdf
-rw-rw-r--. 1 django django 1,7M  4. Mai 17:23 Urkunden.pdf
-rw-rw-r--. 1 django django  26M  4. Mai 17:48 Zertifikate.pdf
-rw-rw-r--. 1 django django  13M  4. Mai 17:19 Zeugnisse.pdf

Diese Daten können wir natürlich nicht am Stück per eMail verschicken, da diese eindeutig zu groß für den Mailversand sind.

Zum Verringern der Datenmenge greifen wir auf die Scriptoptionen, die z.B. auf Milan Kupcevic's Seite zu Ghostcript PDF Reference & Tips dokumentiert sind, zurück. Der Aufruf auf der Linux-Konsole ist beim Verringern durchaus umfangreich, wenn wir einen Blick auf nachfolgendes Beispiel werfen.

 $ gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dNOPAUSE -dQUIET -dBATCH -dPDFSETTINGS=/ebook \
      -sOutputFile=zeugnisse.pdf Zeugnisse.pdf

Auf Dauer kann man sich natürlich einen derartig umfangreichen Befehlsaufruf nicht merken. Daher legen wir uns einfach ein kleines Shell-Script an, welchem wir dann die notwendigen Optionen beim Aufruf mitgeben. Dieses Script legen wir im bin-Verzeichnis des betreffenden Benutzers an; bei Bedarf erzeugen wir das betreffende Verzeichnis wie folgt-

 # mkdir -p ~/bin/

Dort legen wir folgendes Script ab:

 # vim ~/bin/pdf-shrink
~/bin/pdf-shrink
#!/bin/bash
 
if [ -z "$1" ] && [ -z "$2" ] && [ -z "$3" ]
 then
   echo ""
   echo "usage: pdf-shrink input.pdf output.pdf quality"
   echo "                                       quality : screen   = screen-view-only quality, 72 dpi images"
   echo "                                                 ebook    = low quality, 150 dpi images"
   echo "                                                 printer  = high quality, 300 dpi images"
   echo "                                                 prepress = high quality, color preserving, 300 dpi images"
   echo "" 
 else /usr/bin/gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dNOPAUSE -dQUIET -dBATCH -dPDFSETTINGS=/$3 -sOutputFile=$2 $1
fi

Anschließend statten wir das Shell-Script zur einfachen Ausführung mit den x-Rechten aus.

 # chmod +x ~/bin/pdf-shrink

Rufen wir das Script ohne Angabe zusätzlicher Parameter auf, erhalten wir eine kurze Beschreibung mit den in Frage kommenden Optionen.

 $ pdf-shrink
usage: pdf-shrink input.pdf output.pdf quality
                                       quality : screen   = screen-view-only quality, 72 dpi images
                                                 ebook    = low quality, 150 dpi images
                                                 printer  = high quality, 300 dpi images
                                                 prepress = high quality, color preserving, 300 dpi images

Wollen wir also in unserem Beispiel hier die 26 MByte große PDF-Datei Zertifikate.pdf Vergleinern rufen wir unser Shell-Script mit folgenden Parametern auf:

 $ pdf-shrink Zertifikate.pdf Zertifikate_shrinked.pdf ebook

Nach kurzer Zeit haben wir nun ein PDF-Dokument welches nur noch 18% der ursprünglichen Größe aufweist.

 $ ll -h Zertifikate*
-rw-rw-r--. 1 django django  26M  4. Mai 17:48 Zertifikate.pdf
-rw-rw-r--. 1 django django 4,7M 25. Mai 15:50 Zertifikate_shrinked.pdf

In unserem gezeigten Beispiel verringert sich somit die Speichermenge von 55 MB auf 12 MB, so dass wir die gesamten Unterlagen nunmehr locker via eMail verschicken können.

 $ ll -h
insgesamt 12M
-rw-rw-r--. 1 django django 428K 25. Mai 15:57 Bescheinigungen_shrinked.pdf
-rw-rw-r--. 1 django django 3,2M 25. Mai 15:57 Bewerbung_LINUX_System-_und_Webadministrator_shrinked.pdf
-rw-rw-r--. 1 django django 384K 25. Mai 15:57 Urkunden_shrinked.pdf
-rw-rw-r--. 1 django django 4,7M 25. Mai 15:50 Zertifikate_shrinked.pdf
-rw-rw-r--. 1 django django 2,7M 25. Mai 15:58 Zeugnisse_shrinked.pdf
Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
  • tools/pdf-shrink.1590416640.txt.gz
  • Zuletzt geändert: 25.05.2020 14:24.
  • von django