GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Batch-Größenänderung und Komprimierung von PDF-Dateien

Also convert von ImageMagick erzeugt gerasterte PDF-Dateien, und viele Leute wären daran interessiert, Vektorgrafiken und Text unverändert zu lassen, sodass nur eingebettete Bilder komprimiert werden. Eine gute Alternative zur Komprimierung ist also die Verwendung von gs aus Paket ghostscript Anwendungsbeispiel:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=out.pdf in.pdf

im obigen Befehlsparameter:-dPDFSETTINGS=/ebook ist wichtig. Es kann 3 Werte haben:

-dPDFSETTINGS=/screen   (screen-view-only quality, 72 dpi images)
-dPDFSETTINGS=/ebook    (low quality, 150 dpi images)
-dPDFSETTINGS=/printer  (high quality, 300 dpi images)
-dPDFSETTINGS=/prepress (high quality, color preserving, 300 dpi imgs)
-dPDFSETTINGS=/default  (almost identical to /screen)

Ich schlage hier ein Befehlszeilentool vor, das einfach mit Schleifen in integrierten Skriptsprachen in Windows, Linux, OS X usw. gestapelt werden kann.

ImageMagick unterstützt PDFs und hat einen resize Option mit seinem Konvertierungstool. Ich habe es nie persönlich benutzt, aber Sie können versuchen, damit herumzuspielen.

Sie können auch den compress verwenden Option (hier ein Beispiel):

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, weil ImageMagick sonst das Bild heruntersampelt (aus irgendeinem Grund). Das Hinzufügen der Komprimierungsoption trägt dazu bei, die Gesamtgröße der PDF-Datei ohne Qualitätsverlust zu verringern.

Für mehrseitige PDFs können Sie pdftk verwenden , dann verwenden Sie mogrify von ImageMagick, 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 zu konvertieren, muss GhostScript installiert sein.

ImageMagick kann mehrseitige PDFs konvertieren. Während mogrify an Ort und Stelle konvertieren wird, empfehle ich Ihnen, convert zu verwenden damit Sie die Originale im Falle eines Unfalls behalten können.

Ich habe einige Tests an Ihrem bereitgestellten Beispiel-PDF durchgeführt. Das hat bei mir ganz gut funktioniert:

convert -density 200 -compress jpeg -quality 20 test.pdf test2.pdf

Die Dichte ist standardmäßig auf 72 eingestellt DPI. Durch eine höhere Einstellung erhalten wir eine höhere Auflösung und damit eine akzeptable Qualität. Es sah gut aus bei 150 , und war etwas kleiner, aber wenn Sie eine Reihe von PDFs bedienen möchten 200 sollte funktionieren.

Die JPEG-Komprimierung sollte entweder automatisch eine Stufe auswählen oder standardmäßig auf 92 eingestellt sein auf einer Skala von 1 bis 100 mit 100 der Beste sein. Setzen Sie es auf 20 , es sieht fast so gut aus wie das Original (etwas unschärfer und der kleine Text unten ist etwas schwer zu lesen, aber es war trotzdem ursprünglich).

Diese Optionen bringen Ihnen 1,7 MB Sample auf 0,5 MB herunter , während es lesbar bleibt. Sie können ein wenig experimentieren.

Wenn Sie eine kleinere Größe wünschen (sowohl die Datei als auch das Bild/PDF), können Sie -resize #% verwenden , z.B. -resize 75% . In Ihrem Beispiel-PDF macht dies das Kleingedruckte am unteren Rand jedoch ziemlich unleserlich.

Wenn Sie immer noch wenig Platz haben, insbesondere bei den mehrseitigen PDFs, können Sie die Dateien weiter komprimieren, indem Sie sie einem ZIP-Archiv (oder einem anderen) hinzufügen. Dadurch wurde die Dateigröße bei diesem Test-PDF auf 0,43 MB reduziert (eine Reduzierung der JPEG-Komprimierungsqualität hat einen viel drastischeren Effekt). Sie können die PDF-Datei auch mit pdftk in Seiten aufteilen , wie @glallen in seiner Bearbeitung vorgeschlagen hat, oder das Archiv teilen und am anderen Ende neu kombinieren.

2 MB ist auch eine ziemlich kleine Grenze für Anhänge, Sie sollten sich vielleicht nach anderen E-Mail-Anbietern umsehen. Aus dem Speicher stellt GMail über 10 MB pro E-Mail zur Verfügung.

Diese Optionen und mehr sind auf ihrer Website vollständig dokumentiert.


Linux
  1. 16 Tar-Befehle zum Komprimieren und Extrahieren von Dateien unter Linux

  2. So komprimieren und dekomprimieren Sie Dateien unter Linux

  3. Tar-Befehl unter Linux (Dateien komprimieren und dekomprimieren)

  4. So archivieren und komprimieren Sie Dateien unter Linux

  5. Dateien im Verzeichnis umbenennen?

So konvertieren Sie PDF-Dateien im Stapelbetrieb unter Linux

So konvertieren Sie PDF-Dateien mit Calibre in Linux in das EPUB-Format

So konvertieren Sie PDF in PNG-Bilder und zurück unter Linux

Linux-tar-Befehl zum Komprimieren und Extrahieren von Dateien

Große Dateien sicher komprimieren, verschlüsseln, teilen und transportieren

So installieren und verwenden Sie Pigz, um Dateien unter Linux schneller zu komprimieren