GNU/Linux >> Tutoriels Linux >  >> Linux

Redimensionner et compresser les fichiers PDF par lots

Donc convert d'ImageMagick produira un PDF pixellisé et de nombreuses personnes seraient intéressées à conserver les graphiques vectoriels et le texte intacts afin que seules les images intégrées soient compressées. Une bonne alternative à la compression consiste donc à utiliser gs du paquet ghostscript exemple d'utilisation :

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

dans le paramètre de commande ci-dessus :-dPDFSETTINGS=/ebook est important. Il peut avoir 3 valeurs :

-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)

Je suggère ici un outil de ligne de commande, qui peut être facilement regroupé avec des boucles dans des langages de script intégrés à Windows, Linux, OS X, etc.

ImageMagick prend en charge les PDF et a un resize option avec son outil de conversion. Je ne l'ai jamais utilisé personnellement, mais vous pouvez essayer de jouer avec ça.

Vous pouvez également utiliser le compress option (il y a un exemple ici):

Faire pivoter un PDF

$ convert -rotate 270 -density 300x300 -compress lzw in.pdf out.pdf

Cela suppose un PDF soutenu par TIFF. Le paramètre de densité est important car sinon ImageMagick sous-échantillonne l'image (pour une raison quelconque). L'ajout de l'option de compression permet de réduire la taille globale du PDF, sans perte de qualité.

Pour les PDF multipages, vous pouvez utiliser pdftk , puis utilisez mogrify d'ImageMagick pour convertir chaque page en place :

$ pdftk in.pdf burst
$ mogrify -rotate 270 -density 300x300 -compress lzw pg_*.pdf
$ pdftk pg*.pdf cat output out.pdf
$ rm pg*.pdf

Pour convertir des fichiers PDF avec ImageMagick, vous devez avoir installé GhostScript.

ImageMagick peut convertir des PDF multipages. Alors que mogrify se convertira sur place, je vous recommande d'utiliser convert afin de pouvoir conserver les originaux en cas d'accident.

J'ai fait quelques tests sur votre exemple de PDF fourni. Cela a très bien fonctionné pour moi :

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

La densité par défaut est 72 PPP. En le fixant plus haut, nous pouvons obtenir une résolution plus élevée et donc une qualité acceptable. Il avait l'air bien à 150 , et était un peu plus petit, mais si vous voulez prendre en charge une gamme de PDF 200 devrait fonctionner.

La compression JPEG doit choisir automatiquement un niveau ou par défaut sur 92 sur une échelle de 1 à 100 avec 100 étant le meilleur. Le mettre à 20 , il est presque aussi beau que l'original (un peu plus flou et le petit texte en bas est un peu difficile à lire, mais c'était quand même à l'origine).

Ces options apportent votre 1,7 Mo échantillon jusqu'à 0,5 Mo , tout en restant lisible. Vous pouvez expérimenter un peu.

Si vous voulez une taille plus petite (à la fois du fichier et de l'image/PDF), vous pouvez utiliser -resize #% , par exemple. -resize 75% . Sur votre exemple de PDF, cela rend cependant les petits caractères en bas pratiquement illisibles.

Si vous manquez encore d'espace, en particulier pour les PDF multipages, vous pouvez compresser davantage en ajoutant les fichiers à une archive ZIP (ou autre). Cela a ramené la taille du fichier à 0,43 Mo sur ce PDF de test (la réduction de la qualité de compression JPEG a un effet beaucoup plus drastique). Vous pouvez également diviser le fichier PDF en pages avec pdftk , comme @glallen l'a suggéré dans sa modification, ou scinder l'archive et recombiner à l'autre bout.

2 Mo est également une limite de pièce jointe plutôt petite, vous voudrez peut-être vous tourner vers d'autres fournisseurs de messagerie. De mémoire, GMail fournit plus de 10 Mo par e-mail.

Ces options, et bien d'autres, sont entièrement documentées sur leur site Web.


Linux
  1. 16 commandes Tar pour compresser et extraire des fichiers sous Linux

  2. Comment compresser et décompresser des fichiers sous Linux

  3. Comment archiver et compresser des fichiers sous Linux

  4. Renommer les fichiers dans le répertoire ?

  5. Renommer les fichiers par lots en ligne de commande et Xargs

Comment convertir par lots des fichiers PDF sous Linux

Comment convertir des fichiers PDF au format EPUB à l'aide de Calibre sous Linux

Comment convertir un PDF en images PNG et inversement sous Linux

Commande Linux tar pour compresser et extraire des fichiers

Compressez, chiffrez, fractionnez et transportez de gros fichiers en toute sécurité

Comment installer et utiliser Pigz pour compresser des fichiers plus rapidement sous Linux