[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Tool gesucht, um pdf zu verkleinern



On Sunday 19 August 2012, Manfred Gil wrote:
> Sorry Nochmal
> 
> Hallo Liste,
> 
> Bin schon den ganzen Tag auf der Suche um die Dateigröße mehrere
> PDF's zu verkleinern.
> Die ein- bis zweiseitigen PDF sind um die 3 bis 1,8 MB groß.
> Ich hatte Seinerzeit eine hohe Auflösung bei Einscannen gewählt.
> Diese würde ich nun gerne so verringern, das die noch Akzeptabel zum
> Ansehen sind und folglich auch einen geringeren Speicherplatz
> brauchen.
> 
> Ich hab nun etliche Pakete installiert und auch wieder verworfen, da
> Sie zwar alle PDF trennen und zusammen fügen können aber keines die
> Auflösung verringern kann.
> ( einen DPI wert von ca. 75 zum Beispiel ( Für Robert ))
> 
> Hatte dann versuch die PDF neu auszudrucken und diesen Ausdruck dann
> über den weg in eine neue Datei zu drucken, jedoch kann ich in keinem
> Druckdialog der mir angeboten wird die Auflösung verringern.

Ich mache das mit einem Eintrag im KDE-Kontextmenü. Normalerweise nicht 
mit niedriger Qualität, aber auch das lässt sich machen.

Vielleicht hilft's.

Michael


Für Details zum Aufruf von gs (GhostScript) siehe
http://milan.kupcevic.net/ghostscript-ps-pdf/

### ~/kde4/services/shrinkpdf.desktop
[Desktop Entry]
Type=Service
Actions=ShrinkPdf;
ServiceTypes=KonqPopupMenu/Plugin
MimeType=application/pdf;

[Desktop Action ShrinkPdf]
Name=Shrink
Exec=shrinkpdf "%F"

### /usr/local/bin/shrinkpdf
#! /bin/sh -e

shrink()
{
  # fuer bessere Qualitaet -dPDFSETTINGS=/printer
  echo "Shrinking $1 to $2"
  gs -sDEVICE=pdfwrite \
    -dCompatibilityLevel=1.4 \
    -dPDFSETTINGS=/screen \
    -dUseCIEColor \
    -dNOPAUSE -dQUIET -dBATCH \
    -sOutputFile="$2" \
    "$1"
}

outname()
{
  echo "${1%.pdf}.min.pdf"
}

do_shrink()
{
  local infile="$1"
  local outfile
  if [ -n "$infile" ]; then
    outfile=`outname "$infile"`
    shrink "$infile" "$outfile"
    chmod --reference="$infile" "$outfile"
  fi
}

if [ $# -eq 0 ]; then
  while read infile; do
    do_shrink "$infile"
  done
else
  for infile; do
    do_shrink "$infile"
  done
fi

-- 
Michael Schuerig
mailto:michael@schuerig.de
http://www.schuerig.de/michael/


Reply to: