Étude sur l'optimisation du PDF, partie 1 : le JPG

Le , par Julien Wilhelm - Écoconception

Véritable fourre-tout, le PDF est un incontournable du Web. L’ennui, c’est qu’il est rarement optimisé (ou pas de façon intentionnelle). Quant à l’accessibilité des contenus, n’en parlons pas !

Pour tenter d’y voir plus clair sur ce qu’il est possible de faire du PDF, j’ai décidé de le mettre à l’épreuve. Les outils de compression que l’on peut utiliser après-coup dans le but de réduire le poids d’un fichier ont malheureusement tendance à produire des résultats discutables et à casser l’accessibilité (le cas échéant, bien sûr). La question est donc de savoir ce qu’il est possible de faire en amont. C’est d’autant plus important que le PDF n’est pas compressible à travers le réseau.

Le premier volet de cette étude consacrée à l’optimisation du PDF porte sur la gestion des images JPG au sein du format. Ce que j’écris sur cette page concernant les images se rapporte donc exclusivement à JPG.

Au sommaire :

  1. Contexte de l’analyse
  2. Optimisation JPG à l’export du fichier PDF
  3. Traitement séparé de l’image JPG pour comparaison
  4. Quid de la compression PDF sur une image déjà compressée ?
  5. Conclusion

1. Contexte de l’analyse

  1. J’ai téléchargé cette image JPG sur pixabay. Cette photographie mesure 3822 x 5184 px. Avec une qualité initiale de 94 % (soit presque pas de compression), son poids est de 4,8 Mo.
  2. J’ai créé un document texte avec l’application “Writer” de la suite LibreOffice téléchargeable gratuitement (version utilisée : 7.5.7.1). Le document est au format A4 (21 x 29,70 cm), ses marges sont toutes de 2 cm.
  3. J’ai inséré l’image dans le document sans la déplacer ni la redimensionner. Je n’ai par ailleurs rien ajouté d’autre au document.
  4. J’ai exporté 6 PDF, jouant seulement sur les options suivantes :
    • “Compression JPEG qualité” (valeurs : 90 et 75 %).
    • “Réduit la résolution des images à” (valeurs : 300, 150 et 75 DPI).

2. Optimisation JPG à l’export du fichier PDF

À l’export PDF, il est tout d’abord intéressant de noter que :

  • La sortie en 300 DPI produit une image de 2007 x 2722 pixels.
  • La sortie en 150 DPI produit une image de 1003 x 1361 pixels.
  • La sortie en 75 DPI produit une image de 502 x 680 pixels.

Dans les trois cas, l’image est donc redimensionnée à la baisse, puis ajustée dans le PDF pour occuper la zone qui est la sienne (l’image ne semble jamais plus petite ni déborder).

Voici maintenant dans le détail le poids des PDF générés :

  • PDF à 300 DPI, en qualité 90 % : 1,3 Mo
  • PDF à 300 DPI, en qualité 75 % : 759,7 Ko
  • PDF à 150 DPI, en qualité 90 % : 354,7 Ko
  • PDF à 150 DPI, en qualité 75 % : 219,3 Ko
  • PDF à 75 DPI, en qualité 90 % : 95,9 Ko
  • PDF à 75 DPI, en qualité 75 % : 59,8 Ko

Sans surprise, diminuer la résolution de cette image et augmenter sa compression permet de réduire le poids du PDF obtenu. À renfort de quelques produits en croix, on peut même se montrer (un peu) plus précis :

  • Passer de 300 à 150 DPI, ou de 150 à 75 DPI, permet de réduire de 70 à 75 % le poids de notre PDF.
  • Passer d’une compression de 90 % à 75 % permet de réduire de 38 % le poids de notre PDF.

À mon sens, et dans la totalité des cas, pour un affichage à 100% de sa taille, la qualité perceptible de l’image est plus qu’acceptable. Comprenez par là que l’utilisateur lambda n’y verra que du feu.

En cas de zoom, là, le résultat diffère selon la visionneuse. Comment s’en sortent nos navigateurs, justement ? Après tout, pour les utilisateurs du Web, ce sont eux les premiers concernés !

  • PDF à 300 DPI, en qualité 75 et 90 % :
    • Avec Firefox : zoom possible jusqu’à 400 % sur l’image avant apparition d’un crénelage (effet d’escalier).
    • Avec Chrome : zoom possible jusqu’à 500 % sur l’image (perception de plus en plus floue).
    • Or cas spécifiques, c’est bien évidemment trop.
  • PDF à 150 DPI, en qualité 75 et 90 % :
    • Avec Firefox : zoom possible jusqu’à 200 % sur l’image avant apparition d’un crénelage.
    • Avec Chrome : zoom possible jusqu’à 440 % sur l’image avant apparition d’un crénelage (jusqu’à ce seuil, perception de plus en plus floue).
    • À préférer à du 300 DPI, si vraiment le 150 DPI n’est pas acceptable.
  • PDF à 75 DPI, en qualité 75 et 90 % :
    • Avec Firefox : zoom possible jusqu’à 100 % sur l’image avant apparition d’un crénelage.
    • Avec Chrome : zoom possible jusqu’à 220 % sur l’image avant apparition d’un crénelage (jusqu’à ce seuil, perception de plus en plus floue).
    • C’est souvent bien assez !

3. Traitement séparé de l’image JPG pour comparaison

J’ai montré ce qu’il est possible d’obtenir avec les paramètres d’export PDF. Voyons cette fois ce que je peux générer comme image en optimisant cette dernière par mes propres moyens.

Pour faire cela, j’ai utilisé l’outil en ligne de commande ImageMagick. J’ai ainsi pu optimiser mon image de départ selon les mêmes critères (dimensionnement et qualité).

  • Image redimensionnée à 2007 x 2722 px, en qualité 90 % : 1,3 Mo
  • Image redimensionnée à 2007 x 2722 px, en qualité 75 % : 782,3 Ko
  • Image redimensionnée à 1003 x 1361 px, en qualité 90 % : 366 Ko
  • Image redimensionnée à 1003 x 1361 px, en qualité 75 % : 222,6 Ko
  • Image redimensionnée à 502 x 680 px, en qualité 90 % : 98,1 Ko
  • Image redimensionnée à 502 x 680 px, en qualité 75 % : 59,1 Ko

Le constat est à la fois prévisible… Et surprenant !

  • PDF ou image, dans les deux approches, le poids des fichiers est similaire.
  • Le PDF est presque systématiquement plus léger. Par exemple :
    • Encapsulation de l’image dans un PDF, avec un export à 300 DPI, qualité à 75 % : 759,7 Ko, contre 782,3 Ko pour l’image optimisée séparément.
    • Encapsulation de l’image dans un PDF, avec un export à 150 DPI, qualité à 75 % : 219,3 Ko, contre 222,6 Ko pour l’image optimisée séparément.
    • Encapsulation de l’image dans un PDF, avec un export à 75 DPI, qualité à 75 % : 59,8 Ko, contre 59,1 Ko pour l’image optimisée séparément (j’avais dit “presque”).

4. Quid de la compression PDF sur une image déjà compressée ?

Parmi nos images, il arrive que celles-ci soient déjà compressées.

Alors, comment réagit à une nouvelle compression une image déjà compressée ?

Par exemple, en utilisant plusieurs fois la commande mogrify mon-image.jpg -quality 75 sur la même image, on pourrait penser que chaque version de l’image serait compressée à 75 % de la précédente.

Pas vraiment ! Ces 75 % semblent plutôt produire un résultat donné. Pour aller plus loin, il faut revoir le paramètre de qualité à la baisse.

En revanche, répéter la même compression plusieurs fois sur un même fichier finit par créer du bruit, ce qui augmente peu à peu le poids du fichier, tout en le rendant moins beau. Et chercher à augmenter la qualité d’une image, en compressant par exemple à 90 % une image initialement compressée à 75 %, ne l’améliorera plus sur le plan visuel, mais augmentera son poids !

En clair, mieux vaut éviter :

  1. De compresser plusieurs fois la même image avec le même paramètre de compression.
  2. D’essayer d’améliorer après-coup une image qui a déjà été compressée.

Voilà qui répond presque à notre question, non ?

Pour la forme, j’ai inséré l’une des images retravaillées par mes soins (dimensions à 502 x 680 px, qualité 75 %) dans un nouveau document, toujours avec Writer. Puisque l’image est cette fois bien plus petite dès le départ, j’ai été obligé de l’étirer dans l’éditeur pour qu’elle occupe la même zone qu’auparavant (17 x 23,06 cm, très exactement).

Mes observations :

  1. Ajuster le DPI à la hausse n’a aucune incidence.
  2. Baisser la compression augmente le poids du fichier, sans rajouter de qualité.

Soit ce que j’expliquais plus haut.

5. Conclusion

À choisir, il apparait préférable de ne pas optimiser ses images JPG avant leur insertion dans le document, mais de faire confiance aux options du logiciel de traitement de texte. En toute franchise, je n’y croyais pas avant de le vérifier par moi-même.

Se pose toutefois une question importante : les algorithmes de compression utilisés sont-ils tous égaux selon les logiciels ? On peut supposer que non.

Vos retours sont les bienvenus à ce sujet !