Wie verkleinere ich eine PDF-Datei?

51

Ich suche in Ubuntu nach einer Möglichkeit, die Größe eines PDF-Dokuments zu verringern (indem die Qualität der Bilder verringert wird).

Ich weiß, dass dies in Ghostscript durch Eingabe des folgenden Befehls im Terminal erfolgen kann:

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

Das Problem ist, dass ich die Qualität nicht mit irgendeiner Genauigkeit spezifizieren kann. Der Parameter -dPDFSETTINGS=/screenentscheidet über die Qualität. Die Alternativen sind jedoch ziemlich starr (zum Beispiel ist es möglich, -dPDFSETTINGS=/ebooketwas bessere Qualität zu erzielen).

Ich suche nach einer Möglichkeit, die Größe eines PDF-Dokuments so zu verringern, dass ich die gewünschte Qualität numerisch angeben kann.

Nicole
quelle
Vielleicht möchten Sie diese Fragen und Antworten überprüfen .
Glutanimate
Es ist in der Tat ein Duplikat!
Hectorpal

Antworten:

57

Ich konnte Ihren Befehl mit der Option -r300 von @drN leicht ändern. Mit der Option -r können Sie die Ausgabeauflösung sowohl im PDF als auch im PNG einstellen.

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default \
    -dNOPAUSE -dQUIET -dBATCH -dDetectDuplicateImages \
    -dCompressFonts=true -r150 -sOutputFile=output.pdf input.pdf
Tully
quelle
7
Dieser Befehl wandelte ein 4-Seiten-PDF mit 25 MB in ein PDF mit nahezu gleicher Qualität um, jedoch mit 2 MB. Prost!
Yanick Rochon
Dies funktioniert mit den meisten Dateien. In einigen Fällen wird jedoch tatsächlich die Dateigröße erhöht. Es scheint, dass die -rOption in diesen Fällen ignoriert wird.
Luís de Sousa
Dieser Befehl hat meinen gesamten Arbeitsspeicher (8 GB) belegt und meinen Laptop mit einer 1000-Seiten-PDF-Datei eingefroren.
zu tun
12

Diese beiden Beiträge, die ich auf Stackoverflow gepostet hatte, sollten Ihnen helfen. Ich habe versucht, die Größe von pdfs zu reduzieren und gleichzeitig sicherzustellen, dass sie eine bestimmte dpi oder ppi für meine Diplomarbeit erfüllen.

Verkleinerung der PDF-Größe mit Ghostscript

Ändern der Auflösung von PDF-Bildern mit gs

Haben Sie versucht, mit convertLinux herumzuspielen?

Bearbeiten:

gs \
  -o out300.png \
  -sDEVICE=pngalpha \
  -r300 \
   input.pdf

Wenn ich mich richtig erinnere, r300ist die Ausgabe dpidoch vielleicht zu prüfen. Dies konvertiert jedoch ein PDF in ein PNG.

ODER

convert -units PixelsPerInch myPic.pdf -density 300 fileout.pdf

Lass uns wissen, wie es geht! Dies ist für ein PDF oder ein anderes Format in ein anderes Format. Ich habe gerade eine Eingabedatei von myPic.pdf und eine Ausgabedatei von fileout.pdf verwendet

LiebeN
quelle
Hmm ... Ich habe mir die Fragen angesehen, mit denen Sie in Verbindung standen. Sie sind interessant, aber es ist schwierig, einen konkreten Befehl zu finden, den ich verwenden sollte. Ich suche dort einen Befehl mit einem numerischen Wert, mit dem ich spielen kann, um die Qualität zu bestimmen. Können Sie einen solchen Befehl ausführen? Kann man das mit convert machen?
Nicole
Ich habe meine Antwort überarbeitet und einige einfachere Optionen hinzugefügt. Schauen Sie vorbei und lassen Sie es uns wissen! :)
Lieber
1
Der Konverter vergrößert mein PDF, auch wenn ich 100 dpi verwende. Vielleicht ist die beste Wahl, mit "gs" nach png zu konvertieren und dann "convert", um nach pdf zu wechseln?
Nicole
@Nicole Es gab immer Probleme mit PDF-Konvertierungen. Wofür möchten Sie das PDF verwenden?
Lieber
@Nicole Mir ist aufgefallen, dass ich, um das beste Ergebnis für pdfs / eps-Dateien zu erzielen, zu dem Programm zurückkehren muss, mit dem das PDF erstellt wurde, und meine Speicheroptionen ändern muss, um es in der gewünschten dpi / ppi zu speichern. Ich hoffe das hilft und ja das kann den Hintern ein bisschen quälen.
Lieber
12

Die einfachste Möglichkeit, die ich gefunden habe, besteht darin, eine Quell-PDF-Datei mit LibreOffice Draw zu öffnen und dann mit der erwarteten DPI in eine PDF-Datei zu exportieren. Im Dialogfeld "Exportieren" von Draw können Sie DPI und andere Optionen für exportierte PDF-Dateien angeben.

Serrega
quelle
1
Ich habe alle anderen Kommandozeilen-Dinge ausprobiert, aber am Ende konnte ich die Komprimierung genug für meine Zwecke erhöhen.
C. Rogers
1
Die grafische Art, mit noch viel Kontrolle.
Agmenor
Ich habe herausgefunden, dass LibreOffice Draw besser zum Drucken / Exportieren von PDFs geeignet ist als so ziemlich alles andere, also +1.
Yoric
1
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=myNewFile.pdf myOldFile.pdf

Dies ist der einfachste Weg, wie ich finde, die Größe auf 50 +/- kb zu reduzieren. Wechseln Sie auf Ihrem Terminal in das Verzeichnis der Datei: Beispiel

cd ~/document/files

Geben Sie dann den obigen Code ein, wobei:

myNewFile.pdf

ist der neue Name der Datei und

myOldFile.pdf

ist der Name der Datei.

ConnelBLAZE
quelle