Ich schlage hier ein Befehlszeilentool vor, das sich problemlos mit Schleifen in integrierten Skriptsprachen in Windows, Linux, OS X usw. stapeln lässt.
ImageMagick unterstützt PDFs und bietet resize
mit dem Konvertierungstool eine Option . Ich habe es nie persönlich benutzt, aber Sie können versuchen, damit herumzuspielen.
Sie können auch die Verwendung compress
Option (es gibt ein Beispiel hier ):
PDF drehen
$ convert -rotate 270 -density 300x300 -compress lzw in.pdf out.pdf
Dies setzt ein TIFF-unterstütztes PDF voraus. Der Dichteparameter ist wichtig, da ImageMagick das Bild sonst (aus irgendeinem Grund) heruntermustert. Durch Hinzufügen der Komprimierungsoption wird die Gesamtgröße der PDF-Datei kleiner gehalten, ohne dass die Qualität beeinträchtigt wird.
Für mehrseitige PDFs möchten Sie möglicherweise Folgendes verwenden pdftk
und dann mogrify
von ImageMagick verwenden, um jede Seite an Ort und Stelle zu konvertieren:
$ pdftk in.pdf burst
$ mogrify -rotate 270 -density 300x300 -compress lzw pg_*.pdf
$ pdftk pg*.pdf cat output out.pdf
$ rm pg*.pdf
Um PDF-Dateien mit ImageMagick konvertieren zu können, muss GhostScript installiert sein.
ImageMagick kann mehrseitige PDFs konvertieren. Während mogrify
an Ort und Stelle konvertieren, empfehle ich Sie verwenden , convert
so dass Sie die Originale im Fall eines Unfalls zu halten.
Ich habe einige Tests an Ihrem bereitgestellten PDF-Beispiel durchgeführt. Das hat bei mir ganz gut geklappt:
convert -density 200 -compress jpeg -quality 20 test.pdf test2.pdf
Die Standardeinstellung für die Dichte ist 72
DPI. Durch eine höhere Einstellung erhalten wir eine höhere Auflösung und damit eine akzeptable Qualität. Es sah in Ordnung aus 150
und war etwas kleiner, aber wenn Sie für eine Reihe von PDFs sorgen möchten, 200
sollte es funktionieren.
JPEG - Komprimierung sollte entweder automatisch auf eine Ebene oder Standard wählt 92
auf einer Skala von 1
zu 100
mit 100
dem besten. Wenn Sie es auf 20
einstellen, sieht es fast so gut aus wie das Original (etwas unschärfer und der kleine Text unten ist etwas schwer zu lesen, aber ursprünglich war es trotzdem).
Mit diesen Optionen können Sie Ihr 1,7-MB- Sample auf 0,5 MB reduzieren , während es lesbar bleibt . Sie können ein wenig experimentieren.
Wenn Sie eine kleinere Größe wünschen (sowohl der Datei als auch des Bildes / PDF), können Sie -resize #%
z -resize 75%
. In Ihrem Beispiel-PDF ist das kleine Druckbild am unteren Rand jedoch so gut wie unleserlich.
Wenn Sie immer noch wenig Speicherplatz haben, insbesondere für mehrseitige PDF-Dateien, können Sie die Dateien durch Hinzufügen zu einem ZIP-Archiv (oder einem anderen Archiv) weiter komprimieren. Dadurch wurde die Dateigröße für dieses Test-PDF auf 0,43 MB gesenkt (eine Reduzierung der JPEG-Komprimierungsqualität hat einen viel drastischeren Effekt). Sie können die PDF-Datei auch in Seiten mit aufteilenpdftk
, wie @glallen in seiner Bearbeitung vorgeschlagen hat, oder das Archiv aufteilen und am anderen Ende neu kombinieren.
2MB ist auch ein eher kleines Limit für Anhänge. Vielleicht möchten Sie einen Blick auf andere E-Mail-Anbieter werfen. Aus dem Speicher stellt GMail über 10 MB pro E-Mail bereit.
Diese und weitere Optionen sind auf ihrer Website vollständig dokumentiert .
JPEG
? Wie ist esresize
gelaufen? Haben Sie eine (nicht vertrauliche) Beispieldatei, mit der wir spielen könnten? Ist das Downsampling akzeptabel?density
... Ich schwöre, ich kann Anweisungen lesen und befolgen! Etwas verlegen: S Vielen Dank, dass Sie sich die Zeit genommen haben, mir zu helfen. BobDaher wird
convert
ImageMagick gerasterte PDF-Dateien erstellen, und viele Menschen sind daran interessiert, Vektorgrafiken und Text unverändert zu lassen, damit nur eingebettete Bilder komprimiert werden. Eine gute Alternative zur Komprimierung ist die Verwendunggs
von Paketenghostscript
mit folgenden Verwendungsbeispielen:im obigen Befehlsparameter:
-dPDFSETTINGS=/ebook
ist wichtig. Es kann 3 Werte haben:quelle