Wie kann ich die Dateigröße einer gescannten PDF-Datei reduzieren?


Zur akzeptierten Antwort gehen


Ich habe eine 72,9 MB PDF-Datei, die ich auf unter 500 KB verkleinern muss.

Die Datei war ein JPEG-Bild, das ich gescannt und dann in ein PDF konvertiert hatte.


397





2012-03-16




Anzahl der Antworten: 21


aking1012 ist richtig. Mit mehr Informationen zu möglichen eingebetteten Bildern, Hyperlinks usw. wäre es viel einfacher, diese Frage zu beantworten!

Hier finden Sie einige Skript- und Befehlszeilenlösungen. Verwenden Sie, wie Sie es für richtig halten.


150


2012-03-16

Verwenden Sie den folgenden Ghostscript- Befehl:

 gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
 
  • -dPDFSETTINGS=/screen geringere Qualität, kleinere Größe. ( 72 dpi )
  • -dPDFSETTINGS=/ebook für bessere qualität, aber etwas größere pdfs. ( 150 dpi )
  • -dPDFSETTINGS=/prepress Ausgabe ähnlich der Einstellung "Prepress Optimized" von Acrobat Distiller ( 300 dpi )
  • -dPDFSETTINGS=/printer Wählt eine Ausgabe ähnlich der Einstellung "Druckoptimiert" von Acrobat Distiller ( 300 dpi ).
  • -dPDFSETTINGS=/default Wählt die Ausgabe aus, die für eine Vielzahl von Verwendungszwecken nützlich sein soll, möglicherweise auf Kosten einer größeren Ausgabedatei

546


2013-02-15

Meine Lieblingsmethode ist es, das PDF in PS und zurück zu konvertieren. Es funktioniert zwar nicht immer, aber wenn es funktioniert, sind die Ergebnisse schön:

 ps2pdf input.pdf output.pdf
 

Dies funktioniert auch direkt bei PDFs, wie in den Kommentaren vorgeschlagen.

Einige Benutzer melden auch mehr Erfolg, wenn sie die E-Book-Einstellungen wie folgt verwenden:

 ps2pdf -dPDFSETTINGS=/ebook input.pdf output.pdf 
 

165


2013-01-16

Wenn Sie eine PDF-Datei mit gescannten Bildern haben , können Sie convert eine PDF- Datei mit JPEG-Komprimierung erstellen (Sie können diese Methode für jede PDF-Datei verwenden, verlieren jedoch alle Textinformationen).

Beispielsweise:

 convert -density 200x200 -quality 60 -compress jpeg input.pdf output.pdf
 

Passen Sie Dichte (zB 100x100) und Qualität an Ihre Bedürfnisse an.

Abhängig von Ihrer Eingabe ist die JPEG- Komprimierung aufgrund von Komprimierungsartefakten möglicherweise nicht die beste Wahl. Sie haben die Wahl zwischen BZip, Fax, Group4, JPEG, JPEG2000, Lossless, LZW, RLE oder Zip als alternative Komprimierungsmethoden (einige erlauben nur s / w-Bilder). Details finden Sie hier .

Ich konnte (abhängig von den Einstellungen) hervorragende Komprimierungsraten für gescannte / fotografierte Dokumente erzielen. Abhängig von der Dokumentquelle möchten Sie möglicherweise die Farbtiefe ( -depth Argument) reduzieren .


130


2014-05-19

Ich musste ein PDF verkleinern, das Farbscans eines Dokuments enthielt. Jede meiner Seiten war in Bezug auf die Datei ein Vollfarbenbild. Es waren Bilder von Seiten, die Text und Bilder enthielten, aber sie wurden durch Scannen in ein Bild erstellt.

Ich habe eine Kombination aus dem folgenden Ghostscript-Befehl und einem aus einem anderen Thread verwendet.

 gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dDownsampleColorImages=true \
-dColorImageResolution=150 -dNOPAUSE  -dBATCH -sOutputFile=output.pdf input.pdf
 

Dadurch wurde die Bildauflösung auf 150 dpi reduziert und meine Dateigröße halbiert. Beim Betrachten des Dokuments war kaum ein Verlust an Bildqualität festzustellen. Der Text ist auf meinem 2012 Nexus7 immer noch perfekt lesbar.


42


2014-01-19

Hier ist ein Skript zum Umschreiben von gescannten PDFs:

 #!/bin/sh

gs  -q -dNOPAUSE -dBATCH -dSAFER \
    -sDEVICE=pdfwrite \
    -dCompatibilityLevel=1.3 \
    -dPDFSETTINGS=/screen \
    -dEmbedAllFonts=true \
    -dSubsetFonts=true \
    -dColorImageDownsampleType=/Bicubic \
    -dColorImageResolution=72 \
    -dGrayImageDownsampleType=/Bicubic \
    -dGrayImageResolution=72 \
    -dMonoImageDownsampleType=/Bicubic \
    -dMonoImageResolution=72 \
    -sOutputFile=out.pdf \
     $1
 

Sie könnten es ein wenig anpassen, um es wiederverwendbarer zu machen, aber wenn Sie nur ein PDF haben, können Sie es einfach durch $1 Ihren PDF-Dateinamen ersetzen und in einem Terminal binden.


30


2010-08-31

Normalerweise verwende ich dazu ps2pdf (einfachere Syntax), etwa so:

 ps2pdf -dPDFSETTINGS=/ebook BiggerPdf SmallerPDF
 

Ich verwende das folgende Python-Skript, um die Größe aller PDF-Dateien in einem Verzeichnis auf einem Produktionsserver (8.04) zu reduzieren. Also sollte es funktionieren.

 #!/usr/bin/python

import os

for fich in os.listdir('.'):
        if fich[-3:]=="pdf":
                os.system("ps2pdf -dPDFSETTINGS=/ebook %s reduc/%s" % (fich,fich))
 

23


2010-09-01

  1. Ich benutze LibreOffice Draw , um das PDF zu öffnen.
  2. Ich dann "exportiere als pdf"
  3. Stellen Sie "JPEG-Komprimierungsqualität" auf 50% und "Bildauflösung" auf 150 dpi ein

Dies wird ein gutes Ergebnis haben.


17


2016-06-14

Das Beste für mich war

 convert -compress Zip -density 150x150 input.pdf output.pdf
 

Andere Möglichkeiten:

 #### gs
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf $INPUTFILE

### pdf2ps && ps2pdf
pdf2ps input.pdf output.ps && ps2pdf output.ps output.pdf

### Webservice
http://compress.smallpdf.com/de
 

Grüße


10


2016-04-21

Ich bin gerade auf dieses Problem gestoßen. Wenn Sie den einfachen Scan verwenden, wählen Sie den Textmodus für Scans mit niedriger Auflösung und Sie müssen sich keine Gedanken über das Kommandozeilenmaterial machen. Ich sage es nur.


5


2013-07-29

Kontrollieren Sie die Komprimierungsqualität:

 #!/bin/sh
INPUT=$1; shift
OUTPUT=$1; shift
GS_BIN=/usr/bin/gs
QFACTOR="0.40"

# Image Compression Quality
#
# Quality HSamples VSamples QFactor
# Minimum [2 1 1 2] [2 1 1 2] 2.40
# Low     [2 1 1 2] [2 1 1 2] 1.30
# Medium  [2 1 1 2] [2 1 1 2] 0.76
# High    [1 1 1 1] [1 1 1 1] 0.40
# Maximum [1 1 1 1] [1 1 1 1] 0.15 

${GS_BIN} -dBATCH -dSAFER -DNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=${OUTPUT} -c "<< /ColorImageDict << /QFactor ${QFACTOR} /Blend 1 /HSample [1 1 1 1] /VSample [1 1 1 1] >> >> setdistillerparams" -f ${INPUT}
 

4


2016-04-02

Ich empfehle dringend pdfsizeopt .

Es ist viel effizienter in Bezug auf die Größenreduktion als alle vorherigen CLI und GUI - Software , dass ich versucht habe (einschließlich convert , gs , pdftk , etc.) - wenn auch möglicherweise langsamer mit pngout aktiviert - und nicht über einen Teil ihrer Ausgaben (nicht schwer verpixelte / verschlechterte Bilder, kein Verlust von Lesezeichen usw.).

Wenn Sie nun unabhängig von den Konsequenzen eine bestimmte Größe erreichen müssen (einschließlich einer Verschlechterung der Bildqualität bis hin zu einer Unlesbarkeit), ist dies möglicherweise nicht das benötigte Tool, sondern eine stets funktionierende Lösung, um unnötig große Größen zu reduzieren Ich halte PDFs für die beste Option, ohne an Lesbarkeit, Informationen und akzeptabler Bildqualität zu verlieren. (Hinweis: Ich verwende es in der Regel, nachdem ich in Adobe Acrobat [die Funktion, die früher als "CleanScan" bezeichnet wurde] zum ersten Mal eine Vektorisierungs-OCR durchgeführt habe, die sich auf einige gescannte Textdokumente dramatisch auf die Größe auswirken kann.)


Ich empfehle die generische Unix-Installation :

  1. Installieren Sie alle erforderlichen Abhängigkeiten:

  2. Laden Sie die ausführbare Datei herunter und installieren Sie sie:

     curl -L -o https://raw.githubusercontent.com/pts/pdfsizeopt/master/pdfsizeopt.single
    cp pdfsizeopt.single /usr/local/bin/pdfsizeopt
     

Verwendung:

 pdfsizeopt original.pdf [compressed.pdf]
 

Hinweis für Mac- Benutzer, die diesen Beitrag finden (oder Linuxbrew-Benutzer): Es gibt eine Homebrew-Installationsformel:

 brew install --HEAD pts/utils/pdfsizeopt
 

4


2018-03-02

Da dieser Link für mich der erste war, als ich in Google suchte, dachte ich, ich würde noch eine Möglichkeit hinzufügen. Keine der oben genannten Lösungen funktionierte für ein aus Inkscape (15 MB) exportiertes PDF, aber ich konnte es endlich auf 1 MB verkleinern, indem ich es in GIMP öffnete und erneut als PDF exportierte.

Eine andere Option, die nahe kam (aber der Text war ein wenig unscharf), war das Konvertierungsprogramm von ImageMagick:

 convert -compress Zip input.pdf output.pdf
 

3


2014-02-13

Am Ende schrieb ich meinen eigenen Bash - Skript , dies zu lösen, ist es verwendet mogrify , convert und gs PDF - Seiten als png zu extrahieren, Größe ändern, wandelt sie in 1-Bit - BMP und sie dann als pdf wieder aufzubauen. Die Dateigrößenreduzierung kann über 90% betragen. Verfügbar unter http://www.timedicer.co.uk/programs/help/pdf-compress.sh.php .


3


2016-09-21

Ich hatte das gleiche Problem und war froh, diesen Thread zu finden. Insbesondere ließ ich ein PDF aus gescannten Bildern erstellen und musste seine Bytegröße um den Faktor 6 reduzieren.

Leider hat keine der oben genannten Lösungen funktioniert :(. Dann stellte ich fest, dass die Seitengröße irgendwo im Scanner-> JPEG-> PDF-Prozess um den Faktor 4 aufgebläht war. Die gescannten Dokumente hatten alle die Größe Letter. aber das pdf hatte größe von

 identify -verbose doc_orig.pdf | grep "Print size"
 Print size: 35.4167x48.7222
 

Die gewünschten Ergebnisse habe ich schließlich mit einem "convert" -Befehl erzielt, der sowohl die Größenänderung als auch die Komprimierung in einem Schritt ausführte:

 convert -density 135x135 -quality 70 -compress jpeg -resize 22.588% doc_orig.pdf doc_lowres.pdf
 

Beachten Sie, dass doc_orig eine Dichte von 72 x 72 dpi hat.


2


2016-03-20

Wenn die Konvertierung in djvu auch in Ordnung wäre und keine Farben betroffen sind, könnten Sie Folgendes versuchen:

Konvertieren Sie das PDF in JPG-Dateien mit pdfimages -j

Wenn Sie stattdessen pbm-Dateien erhalten, sollten Sie den Zwischenschritt ausführen:

for FILENAME in $(ls *.pbm); do convert $FILENAME ${FILENAME%.*}.jpg ;done

Der Befehl convert stammt aus dem imagemagick-Paket.

Verwenden Sie dann scantailor , um daraus Tifs zu machen.

In einem letzten Schritt gehen Sie zu scantailors out direcory (wo sich die tifs befinden) und wenden djvubind auf dieses Verzeichnis an.

Dies sollte die Dateigröße drastisch reduzieren, ohne dass der Text an Qualität verliert. Wenn Sie eine genauere Kontrolle über das OCR-Backend wünschen, können Sie versuchen djvubind --no-ocr , die OCR-Ebene anschließend mit ocrodjvu hinzuzufügen.

Wenn Sie in Ihrem Dokument Farben haben, werden die Dinge etwas komplizierter. Anstelle von djvubind können Sie auch didjvu verwenden und in scantailor müssen Sie in den gemischten Modus wechseln und manchmal Farbbilder manuell auswählen.


1


2011-09-11

Bild oder sogar PDF-Datei in Inkscape laden.

Aus inkscape: Speichern Sie im Vektorformat (als native .svg).

Importieren Sie Vektordateien in Scribus, bearbeiten Sie das Layout und exportieren / speichern Sie sie als PDF


1


2013-07-28

Super einfaches PDF-Komprimierungs-Tool: GitHub-Seite.

Installation unter Ubuntu:

 sudo add-apt-repository ppa:jfswitz/released

sudo apt-get update

sudo apt-get install pdf-compressor
 

Es verwendet Ghostscript.


0


2015-10-12

Sie können dies versuchen:

 $ time pdftk myFile.pdf output myFile__SMALLER.pdf compress
GC Warning: Repeated allocation of very large block (appr. size 16764928):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 8384512):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 11837440):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 8384512):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 33525760):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 7254016):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 34041856):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 33525760):
    May lead to memory leak and poor performance.

real    0m23.677s
user    0m23.142s
sys     0m0.540s
$ du myFile*.pdf
108M    myFile.pdf
74M     myFile__SMALLER.pdf
 

Es ist schneller als gs , komprimiert jedoch in diesem Fall bis zu 30% für eine 107,5-MB-Eingabedatei.


0


2018-08-09

Für mich war die gs- screen Option zu schlecht und die ebook zu groß.

Mein Originaldokument enthielt Text in Farbe und in Schwarzweiß (je nach Seite).

Die beste Lösung, die ich gefunden habe, war:

 gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dDownsampleColorImages=true -dDownsampleGrayImages=true -dDownsampleMonoImages=true -dColorImageResolution=130 -dGrayImageResolution=130 -dMonoImageResolution=130 -r130 -dNOPAUSE  -dBATCH -sOutputFile=output_lr.pdf input.pdf
 

Beachten Sie, dass die Komprimierungsstufe nicht linear ist. Wenn ich 135 angegeben habe, wurde sie nicht komprimiert. In meinem Fall war 130 die maximale Auflösung, mit der eine Komprimierung erzielt wird.


0


2019-03-08

Ich habe die folgenden Befehle verwendet, aber meine PDF-Datei wurde nicht wesentlich komprimiert. Manchmal war ein Teil des Teils nach der Kompression geschwärzt.

  1. gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf $INPUTFILE

  2. "ps2pdf -dPDFSETTINGS=/ebook %s %s" % (input_file_path, out_file_path)

Nachdem ich zu viel im Web gewandert war, konnte ich einfach nicht die richtige Komprimierungsbibliothek finden. Ich bin rübergekommen pdfcompressor.com . Dies ist einfach eine großartige Website. Es komprimiert das PDF um 95% (15 MB Dateien). Also habe ich Selen und Tor verwendet, um die Komprimierung zu automatisieren. Checke mein Github-Repository aus. [GITHUB] ( https://github.com/gugli28/PdfCompressor )


-1


2018-05-08