Aller au contenu principal
Tooletto

Pourquoi mon PDF est-il si lourd ? (Et comment vraiment y remédier)

Un PDF est un conteneur, pas un format unique — sa taille provient presque entièrement de ce qui y a été intégré. Voici ce qui alourdit vraiment un PDF, et ce qui aide réellement.

· 5 min de lecture

Un PDF est un conteneur, et le conteneur lui-même est minuscule

La confusion derrière « pourquoi ce PDF est-il si lourd » vient généralement du fait de traiter le PDF comme un format de fichier unique et uniforme, à la manière d'un fichier texte brut — mais un PDF ressemble davantage à un format conteneur, dans l'esprit d'une archive ZIP, qui regroupe plusieurs types de contenu véritablement distincts : instructions de mise en page, polices intégrées, images intégrées, graphiques vectoriels et métadonnées, chacun stocké selon sa propre représentation interne. La structure du conteneur en elle-même — la partie réellement spécifique au PDF — est petite ; un PDF ne contenant que du texte brut et une mise en page simple, sans image intégrée ni police inhabituelle, ne pèse généralement que quelques kilo-octets, quel que soit son nombre de pages. Chaque fois qu'un PDF gonfle jusqu'à des dizaines, voire des centaines de mégaoctets, cette taille provient de ce qui a été intégré à l'intérieur de ce conteneur, pas du format conteneur lui-même — ce qui explique pourquoi « pourquoi mon PDF est-il si lourd » a presque toujours une réponse précise et identifiable, plutôt que d'être une propriété inhérente au format.

La cause la plus fréquente, de loin : des pages scannées enregistrées à une résolution d'impression

Un document produit en scannant des pages physiques n'est, au niveau du format de fichier, pas vraiment un document texte — c'est une séquence de photographies de page entière, une par page, enveloppées dans un conteneur PDF, et toutes les règles de taille de fichier qui s'appliquent aux photographies s'appliquent ici aussi. Les scanners capturent généralement par défaut à 300 points par pouce ou plus, une résolution calibrée pour une reproduction imprimée physique, ce qui représente beaucoup plus de données de pixels qu'un écran ne peut en afficher ou qu'un lecteur n'en a réellement besoin pour un document destiné à n'être consulté que sur un moniteur. Un document scanné de dix pages capturé à résolution d'impression atteint couramment plusieurs dizaines de mégaoctets précisément pour cette raison : ce ne sont pas dix pages de texte, ce sont dix photographies en pleine résolution, et des photographies à cette résolution sont intrinsèquement volumineuses, quelle que soit la faible quantité d'information visuelle qu'elles transmettent réellement une fois affichées sur un écran classique.

C'est aussi pourquoi un PDF scanné réagit de façon si spectaculaire à la compression, contrairement à un PDF réellement basé sur du texte : réencoder chaque page image à une résolution plus basse mais toujours adaptée à un écran, avec un niveau de compression plus agressif mais encore raisonnable, peut réduire un document scanné de 70 à 90 %, avec peu ou pas de perte perceptible de lisibilité à l'écran, car l'original transportait bien plus de données de pixels qu'un écran ne pourrait jamais en exploiter.

Les polices intégrées, et pourquoi elles comptent plus qu'on ne le pense

Un PDF qui doit s'afficher de façon identique sur n'importe quel appareil, indépendamment des polices qui y sont installées, intègre généralement les fichiers de police réels qu'il utilise directement dans le document, plutôt que de se contenter de référencer une police par son nom en espérant que le système du lecteur en possède un équivalent — ce qui est exactement le bon choix technique pour un rendu fiable et cohérent, mais qui a un coût réel en taille. Une seule famille de police intégrée, surtout avec plusieurs graisses et styles, peut facilement ajouter plusieurs centaines de kilo-octets à un document qui, sans cela, serait presque entièrement composé de texte. Cet effet est considérablement plus marqué pour les documents utilisant du texte chinois, japonais ou coréen : ces écritures nécessitent des milliers de glyphes distincts, contre une centaine de caractères environ pour une police à écriture latine, si bien qu'une police CJK entièrement intégrée peut à elle seule atteindre plusieurs dizaines de mégaoctets — souvent le composant le plus volumineux d'un document par ailleurs modeste.

Les outils de génération de PDF bien conçus contournent ce problème en n'intégrant que le sous-ensemble de glyphes réellement utilisé par le document, plutôt qu'un fichier de police complet, ce qui maintient le surcoût de taille proportionnel à la quantité de texte réellement présente. Un document qui intègre des fichiers de police complets et non sous-ensemblés pour une écriture au grand jeu de caractères, plutôt que les seuls glyphes réellement utilisés, peut finir par transporter plusieurs fois plus de données de police que ce dont le texte de la page aurait jamais besoin.

Historique de modifications résiduel et structure interne redondante

Certains flux d'édition de PDF, en particulier les schémas d'enregistrement incrémental où chaque modification est ajoutée à la fin du fichier plutôt que de réécrire le document entier, peuvent laisser d'anciennes versions du contenu modifié techniquement toujours présentes à l'intérieur du fichier, même si elles ne sont plus affichées visiblement — l'équivalent d'un historique de modifications qui s'accumule silencieusement dans le document au lieu d'être nettoyé. Un PDF ayant subi plusieurs cycles de modification de cette manière peut transporter nettement plus de données que ce que son contenu visible actuel ne le laisse penser, puisqu'une partie de ce qui est stocké à l'intérieur n'est plus réellement montrée à personne. Réenregistrer le document via un processus qui reconstruit le fichier à partir de son état visible actuel, plutôt qu'en continuant à ajouter à la structure existante, est ce qui permet d'éliminer ce surplus.

Ce qui aide vraiment, et ce qui n'aide pas

Réencoder les images intégrées à une résolution et un niveau de compression adaptés à la façon dont le document sera réellement consulté est la solution la plus efficace, et elle l'est précisément parce qu'elle s'attaque à la cause réelle du gonflement dans l'écrasante majorité des PDF trop volumineux : des données d'image capturées ou intégrées avec une fidélité bien supérieure à ce dont l'usage final a besoin. Reconstruire la structure interne du document, en éliminant les résidus de modifications incrémentales, constitue un second levier plus modeste mais bien réel. Ce qui n'aide pas vraiment, c'est d'appliquer un utilitaire de compression de fichier générique sur un PDF déjà enregistré : les lecteurs et générateurs de PDF compressent déjà en interne la majeure partie du contenu intégré à l'aide d'une compression standard et bien connue, si bien qu'envelopper l'ensemble du fichier dans une couche supplémentaire de compression générique n'économise typiquement qu'un ou deux pour cent — nettement moins que de retraiter réellement les images et la structure intégrées, car il reste très peu de redondance dans un fichier déjà compressé pour qu'une seconde passe de compression sans rapport puisse en trouver.

Outils associés

Plus sur le blog