Luft aus PDF-Dateien lassen

PDF-Dateien sind immer eine Sache, ich persönlich nutze sie sehr gerne zum Dateiaustausch, da man kaum auf kompatible Programme achten muss. Und selbst in Zeiten von DSL muss man manchmal auf die Dateigröße achten, besonders, wenn eine PDF-Datei, die ein einziges kleines Bild enthält, über 4MB groß wird.

Mit Ghostscript gibt es im Terminal mit einem einzigen Befehl die Möglichkeit, den Speicherbedarf zu verringern (und natürlich die Qualität zu vermindern):

gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -sOutputFile=output.pdf input.pdf

Als Setting-Parameter, der der Qualitätseinstellung dient, können verschiedene Profile angegeben werden, d.h. neben screen gibt es auch die qualitativ immer besseren Profile ebook, printer und prepress. Im anfangs erwähnten Beispiel konnte ich die PDF-Datei mit einem Farbbild mit der Qualitätseinstellung ebook von über 4MB auf 60KB verkleinern – und sehe am Monitor trotz über 100%iger Vergrößerung keinen Unterschied, wahrscheinlich weil das Bild nicht in voller Größe abgebildet wird, aber intern in voller Auflösung eingebettet ist.

Je nachdem wie man PDF-Dateien erstellt (Export aus LibreOffice, Drucken via PDF-Drucker) kann man sicher in die Situation kommen, etwas Speicherplatz zu sparen – man kann dann auch mit dem Profil prepress oder printer experimentieren.

7 Gedanken zu „Luft aus PDF-Dateien lassen

  1. fbausch

    Der Befehl ist in der Tat sehr nützlich. Jedoch können PDF-Dateien auch augeblasen werden, wenn viele PNG-Dateien eingebettet sind.
    Ghostscript verkleinert nämlich Bilder, indem es alle Bilder in JPEGs umwandelt und dann nur noch die Qualitätsstufe von JPEG verändert. Es gibt aber Fälle, in denen eine PNG-Grafik kleiner ist, als die Grafik als JPEG in geringster Qualität.
    Dieser Befehl ist also kein Allheilmittel.

    Antworten
  2. Alex B

    Bei mir führt das Skript dazu, dass die PDF-Seiten nicht mehr lesbar sind, sie sind stattdessen mit randomly verteilten, bunten Bildpunkten gefüllt. Die Dateigröße hat sich bei einem Testdokument von 9 Seiten von 1,2 auf 1,4 MB erhöht. Bist du sicher mit den Parametern?

    Grüße
    Alex

    Antworten
  3. Gordian Beitragsautor

    Danke für das Feedback bezüglich png-Dateien! Ich hatte auch nicht angenommen, dass dieser Befehl ein Allheilmittel sei, sondern getestet werden kann und eventuell hilft.

    Alex, prüf bitte mal, ob der Befehl korrekt übertragen wurde und bei anderen PDFs vielleicht funktioniert. Bei mir hat es mit über 10 Dateien funktioniert, davon etwa die Hälfte Exporte aus LibreOffice, die andere direkt vom Scanner.

    Antworten
    1. Alex B

      Ja, bei PDFs, die aus LO exportiert wurden, funktioniert es ohne Probleme. Habe jetzt noch diverse Scans, die direkt als PDFs gespeichert wurden, damit bearbeitet, um die Funktion zu prüfen. Bei solchen Bildexporten funktioniert es offenbar gar nicht, die Bilder bestehen nur noch aus bunten Punkten. Die Dateigröße hat sich jetzt tatsächlich nach unten verbessert, allerdings sind die dadurch entstandenen PDFs natürlich nicht zu gebrauchen (möglicherweise entstand der vorherige Fehler mit gestiegener Dateigröße aus Dummheit des Users?).

      Für Scans also zunächst (?) nicht zu gebrauchen. Für selbst exportierte PDFs dagegen hervorragend – danke dafür! Die Einsparungen an Dateigröße sind der Wahnsinn – von 300 auf 21 KB!

      Grüße

      Antworten
  4. Kluas

    ich verwende bei mir ein Shellscript in Nautilus, z.B. ShrinkPDF.sh

    #!/bin/bash
    mv „$1″ temp.pdf
    gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r150 -sOutputFile=“$1“ temp.pdf
    rm temp.pdf

    Antworten
  5. @cyzen

    Dein Beitrag hat nich heute richtig gerettet, ich war kurz davor alls noch mal einzusannen mit geringerer Auflösung.

    Anmerkung: Bei -dPDFSETTINGS=/screen war die Lesbarkeit wirklich schlecht, aber mit -dPDFSETTINGS=/ebook perfekt

    Antworten
  6. Reinhardt M.

    Phantastischer Tipp! Danke!!
    Funktioniert bei mir mit xsane erzeugten PDF’s klasse: von 26 MB auf 1,6 !!
    Wobei der Hinweis:
    „Anmerkung: Bei -dPDFSETTINGS=/screen war die Lesbarkeit wirklich schlecht, aber mit -dPDFSETTINGS=/ebook perfekt“
    entscheidend war, nur hiermit wurde eine gute Lesbarkeit des verkleinerten PDF’s erzeugt.

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.