Table des matières

Pdf

1ère commande à utiliser pdfinfo qui donne pas mal d’info sur le pdf

Title:          
Creator:        Adobe InDesign CC (Macintosh)
Producer:       3-Heights(TM) PDF Optimization Shell 4.7.19.0 (http://www.pdf-tools.com)
CreationDate:   Fri Dec  5 10:58:03 2014
ModDate:        Fri Jan  6 14:49:07 2017
Tagged:         no
Pages:          477
Encrypted:      no
Page size:      595.266 x 841.88 pts (A4)
File size:      137914052 bytes
Optimized:      yes
PDF version:    1.7

Créer un pdf

Installer le paquet imagemagick

Pour par exemple créer un pdf à partir d’image

convert img1.jpg fichier.pdf
convert img1.jpg img2.jpg img3.jpg fichier pdf
convert img*.jpg fichier.pdf

Sinon il y a gimp ou scribus

Optimiser un pdf

Avec pdf2ps et ps2pdf

J’ai créé un pdf à partir d’une image sous GIMP et celui-ci pesait 13Mo. Grace aux commandes suivantes, le pdf pèse maintenant 1,3Mo !

Attention, ces commandes écrasent le pdf original, faite une copie si vous voulez garder l’original.

pdf2ps fichier.pdf
ps2pdf fichier.ps

et voila ;)

Autre exemple concret qui n’a pas marché, un pdf de 40Mo converti en ps pèse 7.9Go puis reconverti en pdf pèse 2Go

Avec GhostScript

Autre méthode ( merci http://astuces.absolacom.com/ubuntu/reduire-la-taille-dun-pdf-sur-linux/ )

gs -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dPDFSETTINGS=/printer -sOUTPUTFILE=PDFdeSortie.pdf -f PDFaAlleger.pdf

Remplacez bien sûr, PDFdeSortie et PDFaAlleger par le nom voulu et le nom de votre document.

l’option -dPDFSETTINGS peut prendre les valeurs suivantes:

Pour info, j’ai utilisé l’option /screen pour un PDF de 40Mo et j’ai obtenu (après une bonne minute de traitement) un PDF de 5.1 Mo.
Le document obtenu s’ouvre bien plus rapidement et la qualité des pages, si elle a légèrement souffert, reste largement suffisante pour lire le texte et les images.
Avec l’option /printer, la taille du document obtenu est de 13.5 Mo sans perte de qualité visible à l’œil par rapport au document d’origine. Mais le document est quand même plus rapide à l’ouverture.

Un exemple avec un pdf de 176Mo bourré de photo.

Si on cherche un peu sur le net, Adobe nous donne tous les détails de ces différents mode de compression ( https://helpx.adobe.com/acrobat/using/pdf-conversion-settings.html#adobe_pdf_presets )

On voit alors que le mode /ebook conserve les polices, couleurs etc..

Rich Content PDF (Acrobat Pro DC)
Creates accessible PDF files that include tags, hyperlinks, bookmarks, interactive elements, and layers. This set of options uses PDF 1.6 and embeds subsets of all fonts. It also optimizes files for byte >serving. These PDF files can be opened in Acrobat and Reader 7.0 and later. (The Rich Content PDF preset is in the Extras folder).
Note: This preset was called eBook in earlier versions of some applications.

Et que le mode screen transforme tout en image

Smallest File Size
Creates PDF files for displaying on the web or an intranet, or for distribution through an email system. This set of options uses compression, downsampling, and a relatively low image resolution. It converts all colors to sRGB, and (for Adobe Acrobat Distiller-based conversions) does not embed fonts. It also optimizes files for byte serving. These PDF files can be opened in Acrobat and Reader 6.0 and later.

autre commande

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default \
    -dNOPAUSE -dQUIET -dBATCH -dDetectDuplicateImages \
    -dCompressFonts=true -r150 -sOutputFile=output.pdf input.pdf

La doc avec toutes les options ⇒ https://ghostscript.com/doc/current/Ps2pdf.htm

Je vais tester celle la

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen \
   -dNOPAUSE -dEmbedAllFonts=true -dDetectDuplicateImages=true -r300 \
   -sOutputFile=output.pdf input.pdf

Avec ImageMagick

Autre méthode avec ImageMagick

convert -density 200x200 -quality 60 -compress jpeg input.pdf output.pdf

Cette commande converti le pdf en image exactement comme le fait le profil /screen sauf que c’est beaucoup plus rapide. 8min au lieu de 45min et pour un résultat de 168Mo vers 33Mo.

De plus vous pouvez facilement ajuster la densité et la qualité.

Pour spécifier un répertoire de travail temporaire autre que le /tmp par défaut, ajouter l’option

-define registry:temporary-path=/monrepertoiretemp

Le plus amusant dans tout ca, c’est que imagemagick utilise la commande gs pour faire cette conversion comme on peut le voir avec ps

gs -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 -sDEVICE=pam -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r200x200 -dUseCIEColor -sOutputFile=./magick-DcOUhFLE-%08d -f./magick-O7YDJ6Lp -f./magick-4vxlHEMa

Lien intéressant sur les options de convert ⇒ http://stackoverflow.com/questions/27458437/make-imagemagick-use-external-hdd-for-temporary-files/27458977#27458977

Une autre commande

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

Extraire, fusionner des pages d'un fichier pdf

Installez pdftk

sudo apt-get pdftk

exemple ⇒ https://doc.ubuntu-fr.org/pdftk