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