====== 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:
* **/screen** pour un document destiné à l’écran
* **/ebook** pour une qualité entre screen et printer (suite aux commentaires de l’article)
* **/printer** pour un document destiné à l’impression
* **/prepress** pour un document destiné à l’impression professionnelle
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.
* avec l'option /printer j'ai obtenu un pdf de 90Mo et le pdf a gardé les textes en vectoriels qui restent donc copiable et lisible en zoomant
* avec l'option /screen 9.8Mo (45min de traitement quand même) le pdf a le texte sous forme d'image et une compression assez forte du jpeg ce qui rend a peine lisible du petit texte et un aspect "crade"
* avec l'option /ebook 81.5Mo en 11min ca reste pour moi le meilleur modèle meme si pour du web la taille est quand même énorme...
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