Verringerung PDF-Datei Größe mit Ghostscript unter Linux nicht funktioniert
Habe ich etwa 50-60 pdf-Dateien (Bilder), sind 1,5 MB groß jedes. Jetzt will ich nicht mehr so große pdf-Dateien in meiner Arbeit so machen würden, herunterladen, Lesen und ausdrucken ein Schmerz in der Rückseite. Also versuchte ich mit ghostscript zu tun, die folgenden:
gs \
-dNOPAUSE -dBATCH \
-sDEVICE=pdfwrite \
-dCompatibilityLevel=1.4 \
-dPDFSETTINGS="/screen" \
-sOutputFile=output.pdf \
L_2lambda_max_1wl_E0_1_zg.pdf
Aber jetzt meine 1,4 MB pdf-Datei 1,5 MB groß ist.
Was habe ich falsch gemacht? Gibt es eine Möglichkeit, kann ich die Auflösung von der pdf-Datei? Ich brauche nur 300dpi-Bilder, so würde jemand vorschlagen, mit convert
um die Auflösung zu ändern oder ist es irgendwie, ich könnte ändern Sie die Bild-Auflösung (reduzieren es) mit gs
, da das Bild sehr körnig, wenn ich convert
Wie ich konvertieren:
convert \
-units PixelsPerInch \
~/Desktop/L_2lambda_max_1wl_E0_1_zg.pdf \
-density 600 \
~/Desktop/output.pdf
Beispiel-Datei
http://dl.dropbox.com/u/13223318/L_2lambda_max_1wl_E0_1_zg.pdf
gs 9.04. Die pdfs Bilder in Farbe. Ich weiß nicht, ob die Schriften eingebettet werden. Ich Spare zahlen von mathematica-Dateien als PDF-Dateien. Sie haben zahlen auf den Achsen, die sind die einzigen Schriftarten
Führen Sie
pdffonts your.pdf
um eine Liste von Schriftarten. Wenn die emb
Spalte sagt yes
die schriftart eingebettet ist...Wenn Sie haben, Helvetica, Courier, Times, dann müssen Sie nicht unbedingt einbetten. Wenn Sie full Einbettung für einige Schriftarten (Spalte
sub
sagt no
), wechseln Sie zum einbetten der verwendeten Teilmenge nur.NO
für emb
. So sind die Schriften NICHT eingebettet sind. Die schriftart ist Times new roman.InformationsquelleAutor drN | 2012-08-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie Ghostscript
-dPDFSETTINGS=/screen
dies ist nur eine Art Verknüpfung. In der Tat erhalten Sie (implizit) eine ganze Reihe von Einstellungen verwendet, die Sie Abfragen können mit dem folgenden Befehl:Auf meinem Ghostscript (v9.06prerelease) bekomme ich folgende Ausgabe (leicht bearbeitet um die Lesbarkeit zu erhöhen):
Frage ich mich, ob Ihre PDF-Dateien sind image-schwer, und wenn diese Art der Umwandlung hat der un-willkommen Dinge (f.e. re-sampling-Bilder mit der "falschen" Parameter), die zu einer Erhöhung der Dateigröße...
Wenn dies der Fall ist (Bild-schweres PDF), sagen, und ich werde diese zu aktualisieren, Antworten Sie mit ein paar Vorschläge....
Update
Hatte ich einen Blick auf die Beispiel-Datei zur Verfügung gestellt von DNA. Interessant...
Nein, es geht nicht enthalten Bild.
Statt, es enthält einen großen Strom (komprimiert mit
/FlateDecode
) aus rund 700.000+ (!!) Operationen, die meist Vektor-Operationen im PDF-Sprache, wie:m
(moveto),l
(lineto),d
(setdash),w
(setlinewidth),S
(Schlaganfall),s
(closepath und Schlaganfall),W*
(eoclip),rg
undRG
(setrgbcolor)und ein paar mehr.
(PDF-code ist sehr ineffizient geschrieben AFAICS (aber macht seinen job), weil es nicht verketten viele kurze Striche anstatt das zu tun, 'lang', und fast jeden Schlag definiert die Farbe wieder (auch wenn es das gleiche wie vorher), und hat alle anderen overhead (start Kontur, Ende, Schlaganfall,...).
Ghostscript ist
-dPDFSETTINGS=/screen
nicht alle Effekt hier (es sind keine Bilder zur Neuberechnung, zum Beispiel). Die erhöhte Dateigröße (+48 kByte, um genau zu sein) ist wahrscheinlich aufgrund der Ghostscript-re-Organisation einige der internen streicheln etc. Befehle einer anderen Reihenfolge, wenn Sie interpretiert die Datei.So gibt es nicht viel können Sie tun, um die PDF-Datei Größe ...
(Ich habe die
pngalpha
Ausgabe zu bekommen transparentem hintergrund.) Die Bild-Dimensionen der 'aus.png' sind259x213px
, die Dateigröße ist nun 70 kByte. Aber ich bin sicher, dass Sie nicht wie die Qualität 🙂Qualität der Ausgabe ist "schlecht", weil Ghostscript verwendet standardmäßig eine Auflösung von 72 dpi.
Da Sie sagte, Sie würde gerne 300 dpi der Befehl wird dies:
Die Dateigröße ist jetzt 750 kByte, die Bild-Dimensionen
1080x889
Pixel.Update 2
Seit Neugier ist en vogue in diesen Tagen... 🙂 ...ich habe versucht zu bringen um die Größe der Datei mit Hilfe von Adobe Acrobat X Pro auf einem Mac.
Du willst die Ergebnisse kennen?
Durchführung einer 'Speichern als... (PDF mit reduzierter Größe)' -- was für mich in der Vergangenheit immer zu sehr guten Ergebnissen! -- erstellt einen 1,8++ MByte-Datei (+29%). Ich denke, dies ist definitiv setzt Ghostscript Leistung (Dateigröße erhöhen +3%) und in eine realistische Perspektive !
Kurt, vielen Dank für die besonders übersichtliche Antwort. Ich werde versuchen, diese bald und beschreiben Sie das Ergebnis hier.
Was ist die
13223318
Zahl angehängt die pdf-Datei Namen? Ist, dass nur die Ordner Weg?Anzahl rutschte durch meine cut ' N ' Paste zu überprüfen... ich werde das beheben.
Dank Kurt! Das löst "das Geheimnis der wandernden Zahl"!
InformationsquelleAutor Kurt Pfeifle
DNA beschlossen zu gehen für Graustufen-PNGs. Die Art, wie er schafft; Sie ist in zwei Schritte:
pdfwrite
Gerät und die Einstellungen-dColorConversionStrategy=/Gray
und-dProcessColorModel=/DeviceGray
.pngalpha
Gerät mit einer Auflösung von 300 dpi (-r300
auf der GS Kommandozeile).Dies reduziert seine anfänglichen Dateigröße von 1,4 MB 0,7 MB.
Aber dieser workflow hat den folgenden Nachteil:
Gibt es 2 alternativen zu DNA-workflow:
Einer ein-Schritt-Konvertierung (Farbe) - PDF -> (color), PNG, unter Verwendung von Ghostscript ist
pngalpha
Gerät mit der original-PDF-Datei als input (gleiche Einstellungen der Auflösung von 300 dpi). Das hätte folgenden Vorteil:Einer ein-Schritt-Konvertierung (Farbe) - PDF -> Graustufen PNG, unter Verwendung von Ghostscript ist
pnggray
Gerät mit der original-PDF-Datei als input (gleiche Einstellungen der Auflösung von 300 dpi), mit diesem mix von Vorteil/Nachteil :So können Sie make up your mind und sehen Sie die Ausgabe-Größe und Qualität zu side-by-side, hier ist ein shell-script zu zeigen, die Unterschiede:
Dieses Skript ausführen und vergleichen Sie die verschiedenen Ausgänge nebeneinander.
Ja, die "direct-Graustufen-PNG-von-Farbe-PDF-mit-pnggray-Gerät" einen Blick ein bit schlimmer (und es nicht sport transparentem hintergrund) als der andere-aber es ist auch nur 20% der Dateigröße. Auf der anderen Seite, wenn Sie wan, um zu kaufen ein bisschen mehr Qualität durch Verzicht auf ein bisschen Speicherplatz auf der Festplatte-Sie könnte verwenden
-r400
statt-r300
...Error: /undefinedfilename in (col*.pdf)
Wie soll ich über das ändern der Dateinamen im Skript?Sorry. Ändern Sie einfach alle occurrances von 'col*.pdf' , '*.pdf". Ich habe führen Sie 1 test gefunden, ein Verzeichnis, das hatten 200 PDF-Dateien, von denen zwei begannen Ihre Namen mit 'col', und ich benutzte diese, um Sie zu testen... 🙂 Behoben, im script oben.
Oh. Sicher!!!
:)
Ich habe versuchtpnggray
und wie du schon gesagt hast, es ist eine 80% ige Reduktion der Dateigröße von 1,2 Mb ~200KB. Danke!InformationsquelleAutor Kurt Pfeifle