PDF bearbeiten

Scans ohne Qualitätsverlust komprimieren

Bei der Verkleinerung der Dateigröße eines gescannten Dokumentes im pdf-Format hilft folgender Kommandozeilen-Befehl (ghostscript muss installiert sein):

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/Qualität -dNOPAUSE -dBATCH -sOutputFile=Ausgabe.pdf Eingabe.pdf

‚Qualität‘ muss ersetzt werden durch

  • screen -> 72dpi
  • ebook -> 150dpi
  • printer -> 300dpi
  • prepress -> 300dpi

Ein- und Ausgabe-pdf müssen entsprechend angepasst werden.

Quick and dirty lässt sich folgender bash-Alias anlegen oder z.B. in der ~/.bash_aliases resp. ~/.bashrc hinterlegen:

alias pdfcompress='_pdfcompress(){ gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/"$1" -dNOPAUSE -dBATCH -sOutputFile="$3" "$2";}; _pdfcompress'

Die Kompression eines PDF erfolgt dann z.B. mit

pdfcompress ebook in.pdf out.pdf

Der Ordner in dem der Befehl ausgeführt wird muss das Quell-PDF enthalten. Ein vorhandenes Ausgabe-PDF wird ungefragt überschrieben.

Ursprung der Infos zum gs-Befehl:

https://blog.buettner.xyz/pdfs-verkleinern/

Infos zum Alias gab es hier:

https://stackoverflow.com/questions/7131670/make-a-bash-alias-that-takes-a-parameter

Kleine Vereinfachung:

Mit der Installation von ghostscript wird auch der Befehl ps2pdf zur Verfügung gestellt. ps2pdf ist ein bash-skript, welches gs mit diversen Parametern aufruft. Eine pdf-Datei wird als Eingabe akzeptiert, das Ergebnis ist eine deutlich reduzierte Dateigröße.

ps2pdf in.pdf out.pdf

ps2pdf kann auch der Parameter -dPDFSETTINGS=/Qualität übergeben werden (siehe oben).

Es ergibt sich damit die einfache Möglichkeit z.B. folgende Aliasse anzulegen:

alias pdfcompress='ps2pdf'

alias pdfcompress-ebook='ps2pdf -dPDFSETTINGS=/ebook'