J'ai plusieurs fois lu la question suivante:
J'ai un gros document PDF que je voudrais envoyer par email. Comment faire pour en réduire la taille ?
Cette question est le plus souvent en relation avec un document comportant pas mal d'images. Et malheureusement, une réponse très fréquente est:
Essaie de le compresser en zip ou en sit.
Malheureusement ? Oui, parce que ce n'est pas la bonne solution.
Il faut bien comprendre comment est structuré un document PDF. C'est un fait un bête fichier texte contenant des instructions sur le placement de différents objets. Ces objets peuvent être des paragraphes, des hyperliens, des images, etc.
En compressant un document PDF avec un algorithme de compression comme celui de zip ou celui de StuffIt, on parvient à obtenir un gain sur la partie "texte" du document, mais cette partie-là n'occupe de toute façon qu'une très petite proportion de la taille du fichier. Mais qu'en est-il des images ?
Les images sont stockées dans le document au format JPEG, en bitmap zippé ou éventuellement en bitmap brut.
Dans ce dernier cas (qui est rare), on peut effectivement gagner de la place en "zippant" ou en "stuffant" le document.
Mais dans la plupart des cas, l'image est incluse dans le document dans un format déjà compressé (JPEG ou zip). Or, en compactant le document, il est impossible de compresser à nouveau ce qui l'est déjà. Si vous n'êtes pas convaincus, prenez une image JPEG, compressez là (zip ou sit) et comparez la taille du fichier compressé à celle de l'image. Le gain est quasi inexistant.
Et pourtant j'affirme qu'il est possible de gagner de la place sur un document existant.
Tout est une question de savoir ce que vous voulez faire avec votre document.
En gros, il y a trois possibilités:
- Vous voulez qu'il soit lu sur un écran
- Vous voulez qu'il soit imprimé sur une imprimante de bureau
- Vous voulez en obtenir un tirage professionnel chez un imprimeur
Un écran d'ordinateur possède une résolution typique d'une centaine de DPI (pixels par pouces). Ce qui signifie que sur un pouce de largeur (ou de hauteur) il y a une centaine de pixels. Traditionnellement, la résolution utilisée pour des images destinées à l'écran est de 72 DPI.
Or, vous comprendrez aisément que si votre image est à 300 DPI, c'est complètement inutile ! Pour un pouce, vous aurez 228 pixels en trop, et chacun de ces pixels prendra de la place sur votre disque.
De même, pour une impression de bonne qualité, votre image devrait être entre 150 et 200 DPI. Là encore, votre image à 300 DPI est beaucoup trop grande.
(pour bien comprendre les problèmes liés à la résolution et à l'impression, je vous rappelle les deux articles de BLUES, là et là).
Puis il y a les polices. La plupart des polices traditionnelles sont pré-installées sur les systèmes modernes, il est donc inutile d'en conserver une copie dans le document PDF.
Donc, plutôt que d'essayer de compresser ce qui l'est déjà, il vaudrait mieux réenregistrer ces images plus intelligemment et supprimer ce qui est inutile.
Pour cela, il y a plusieurs méthodes.
Premièrement, utiliser un logiciel dédié. Malheureusement, aucun d'entre eux n'est gratuit (ils sont même plutôt chers).
PDF Shrink
Ce programme vous permet de compresser vos documents PDF selon plusieurs réglages.
Les configurations de base sont: eBook, Screen et Print. C'est-à-dire: affichage à l'écran avec éventuellement une impression à la clef, affichage simple à l'écran et impression. Ces réglages peuvent être modifiés à volonté en jouant sur la résolution, la qualité de la compression JPEG, etc.
PDF Shrink peut également fonctionner comme un "Service" ou même comme un "PDF Service" (j'en parlais dans cet article).
Il est très simple d'utilisation est plutôt efficace. Il coûte 35$.
PDF Enhancer
PDF Enhancer est le grand frère de PDF Shrink puisqu'il est écrit par les mêmes concepteurs.
Il offre donc les mêmes possibilités que ce dernier mais ajoute également quelques fonctions propres aux documents PDF. Il permet même de faire des livrets (je suis fou, moi, je vante la concurrence !).
Toutefois ces fonctions supplémentaires ont un prix puisqu'il coûte 179$-
PStill
Ce programme est très simple en apparence. Il offre un certain nombre de préréglages pour compresser vos documents:
Toutefois, si vous cherchez à personnaliser vos réglages vous remarquerez bien vite que la quantité d'options est assez incroyable. Vous pourrez changer la taille du papier, l'orientation, le niveau postscript, etc. Un bémol: l'application a une fâcheuse tendance à vouloir se connecter à internet sans rien vous demander, et je déteste ça. PStill coûte 69$.
pdfCompress
Ce programme vient d'un éditeur qu'on aime bien sur Cuk, puisqu'ils ont déjà publié PostView et TextLightning. Il se veut très simple puisqu'il n'offre aucune interface. Pour traiter un fichier, il vous suffit de le déposer sur l'icône de l'application. Dans les préférences, vous trouverez une simple fenêtre de réglages:
C'est très spartiate, mais ça marche. De tous ces programmes, pdfCompress est le moins paramétrable, mais c'est également le moins cher puisqu'il ne coûte que 25$.
Adobe Acrobat
Bien entendu, tout cela est également possible avec le mastodonte Acrobat de chez Adobe, mais là franchement, le prix est dans une autre catégorie.
Gratuit mais avec le Terminal
Et oui, il y a effectivement un moyen complètement gratuit de réduire la taille de vos documents.
Il faut pour cela avoir installé Ghostscript. Cela peut se faire avec Fink, avec i-Installer ou avec ce paquet d'installation.
Ceci étant fait, vous pouvez recompresser un document PDF avec cette ligne de commande:
gs -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite
-dPDFSETTINGS=/printer
-sOUTPUTFILE=NouveauPDF.pdf -f
MonPDF.pdf
En rouge, vous avez le nom du document original ("MonPDF.pdf") et celui du nouveau document qui sera créé ("NouveauPDF.pdf").
En vert, vous avez le réglage. Ce dernier peu prendre trois valeurs:
- /screen pour un document destiné à l'écran
- /printer pour un document destiné à l'impression
- /prepress pour un document destiné à l'impression professionnelle
C'est une méthode simple et efficace, mais qui nécessite de bien vouloir se plonger dans le Terminal.
Gratuit et plus simple !
Rassurez-vous, il y a plus simple.
Depuis MacOS X 10.3 (Panther), il est possible d'utiliser des filtres ColorSync lors d'une impression. Or l'un d'entre eux se nomme "Reduce Filesize" ("Réduire la taille du fichier"):
Et il fait exactement ça ! Il réduit bel et bien la taille du fichier en recompressant les images. Donc, ouvrez votre document, imprimez-le, puis sélectionnez le filtre ColorSync (comme sur la capture précédente) puis réenregistrez tout ça dans un nouveau document PDF (avec l'option "Enregistrer comme PDF").
Si vous désirez avoir un peu plus de libertés sur les paramètres, ouvrez l'application "Utilitaire ColorSync" qui se trouve dans votre dossier "Utilitaires" puis sélectionnez l'onglet "Filtres". Vous trouverez alors une série de filtres par défaut. Dupliquez le filtre "Reduce Filesize". Dans l'onglet "Images", vous pourrez alors jouer sur la résolution:
et sur la compression:
Ce filtre est donc moins paramétrable que certains des logiciels que j'ai cités plus haut, mais il a l'avantage d'être gratuit et intégré au système.
Vous n'avez maintenant plus aucune excuse pour envoyer des fichiers PDF de 15 Mo par email à vos amis !
