Taille de fichier et compression
Pourquoi un PDF grossit quand on l’enregistre ou le modifie
Pourquoi mon PDF a-t-il grossi après modification ?
Enregistrez vos outils favoris
Créez un compte iBuildPDF gratuit pour conserver vos outils favoris et les retrouver rapidement à tout moment.
Compte gratuit. Les outils PDF eux-mêmes n’en demandent jamais.
Réponse courte
Le plus souvent parce que l’enregistrement a ajouté au lieu de remplacer. Un PDF peut être mis à jour en laissant les octets d’origine intacts et en écrivant une nouvelle révision à la fin : l’ancienne copie de tout ce que vous avez changé est donc toujours dans le fichier et occupe toujours de la place. L’autre cause fréquente est une modification qui a redessiné la page en image — un aplatissement qui n’a pas pu utiliser les champs de formulaire, une conversion en niveaux de gris, un caviardage — ce qui échange quelques kilo-octets d’instructions de dessin contre quelques centaines de kilo-octets de pixels.
Un enregistrement qui ajoute au lieu de remplacer
C’est la cause que personne ne devine, parce que rien n’en est visible. Un PDF peut être écrit en mise à jour incrémentale : le fichier dont vous êtes parti est laissé exactement tel quel, et une nouvelle section est ajoutée à la fin, contenant uniquement les objets modifiés, suivie d’une nouvelle table de références croisées qui pointe vers l’ancienne.
A save that appends, and the same file rewritten
- The file as first written: its objects, then a table saying where each of them is.
- A change saved by appending. The original bytes are untouched and the new revision holds only what changed — so the old copy of the changed object is still in the file, and still costs what it costs.
- The new table points back at the old one, so a reader knows where to look for everything this revision did not replace. Save five times and there are five tables in the chain.
- Rewriting the document instead of appending to it drops whatever the later revisions superseded. That is how a file comes back from a tool smaller than it went in without anything having been compressed.
La norme ISO 32000-1 le prévoit, et les applications le font parce que c’est rapide : changer un mot dans un document de quatre cents pages représente quelques centaines d’octets écrits à la fin d’un fichier plutôt que quatre cents pages réécrites. C’est aussi ainsi qu’une signature numérique survit à l’ajout ultérieur d’une annotation, puisque les octets signés sont toujours là, intacts, au début.
Le coût, c’est que l’ancienne version de chaque objet modifié est toujours dans le fichier. Enregistrez cinq fois et un document peut porter cinq révisions, chacune conservant la copie remplacée de ce que la suivante a changé. Le document qui s’ouvre est correct ; le fichier en est l’histoire.
Deux conséquences, l’une sur la taille et l’autre plus grave.
La taille : un fichier peut doubler en un après-midi d’édition sans une seule page nouvelle. Rien n’y est anormal et aucun compresseur n’y changera rien, car les octets ne sont pas mal compressés — ils sont simplement inutiles.
L’autre : tout ce que vous avez supprimé puis enregistré de façon incrémentale peut rester récupérable depuis le fichier. Si vous avez effacé un paragraphe, une page ou une image parce qu’ils ne devaient pas être partagés, les retirer de la révision courante ne les retire pas des octets. Comment caviarder un PDF définitivement est l’article sur ce sujet, et il compte plus que les méga-octets.
Bon à savoir sur les outils d’ici : ils n’ajoutent pas. Presque tous construisent un nouveau document et y recopient les pages, ce qui veut dire que la sortie n’a qu’une révision et que ce que les anciennes remplaçaient disparaît. Ce n’est pas une fonction pensée pour la taille : elle existe parce que la bibliothèque PDF utilisée ici écrit une table de références croisées cassée quand elle réenregistre une source mise à jour de façon incrémentale, et qu’Acrobat refuse le résultat. Mesuré sur un document réel en corrigeant cela : 217 913 octets par la voie du réenregistrement contre 192 994 par la reconstruction, avec les 5 865 caractères de texte toujours extractibles. Un fichier qui revient plus petit d’un outil qui n’a rien compressé a généralement juste perdu son historique de révisions.
Une modification qui a transformé la page en image
La deuxième cause fréquente, et celle dont le coût est définitif.
Une page de texte est une liste d’instructions et pèse quelques kilo-octets. La même page rendue et stockée en image, c’est plusieurs millions de pixels, et aucune compression ne la ramène à quelques kilo-octets. Toute opération qui rastérise une page agrandit donc le fichier — souvent beaucoup — et emporte la couche de texte avec elle.
Why rasterising a page makes the file bigger
- A page of text: a list of instructions — this font, this size, these characters, at these coordinates. A page of prose costs a few kilobytes.
- The same page rendered and stored as an image. Every letterform is pixels now, and the pixels are what the file has to carry from here on.
- The text goes with it: nothing to search, select, copy or read aloud. It is the one change that makes a document bigger and less useful at the same time.
Quelles opérations de ce site font cela, exactement :
- Aplatir un PDF — seulement parfois. Il essaie d’abord d’aplatir directement les champs de formulaire, ce qui garde le texte vivant et le fichier léger. Si cela échoue — apparences qu’il ne peut pas générer, annotations hors formulaire, formulaire XFA — il rend chaque page et reconstruit le document à partir de JPEG. La page de résultat vous dit quelle voie a été prise, et ce n’est pas un détail : « votre formulaire est verrouillé » ne veut pas dire la même chose selon que le document reste consultable par recherche.
- PDF en niveaux de gris — toujours. Chaque page est rendue, désaturée pixel par pixel et réécrite en page JPEG. Les trois réglages de qualité rendent à 2,0, 1,5 et 1,1 fois la taille de la page et encodent à une qualité JPEG de 0,92, 0,82 et 0,68. Passez-y un document uniquement textuel et attendez-vous à un fichier plus gros sans texte sélectionnable ; la page de l’outil le dit avant la zone d’envoi. C’est le bon outil pour une numérisation en couleur et le mauvais pour un rapport.
- Caviarder un PDF — seulement les pages marquées. Les pages marquées sont rendues au double de leur taille, les rectangles noirs peints dans les pixels, ce qui rend le caviardage définitif. Les pages que vous n’avez pas touchées sont recopiées avec leur texte intact : le caviardage ne vous coûte que les pages caviardées.
- Compresser un PDF à son réglage le plus agressif. Les deux niveaux inférieurs recompressent les images du document et le laissent être un document. Le niveau Maximum rastérise, et il est signalé comme destructif sur la page avant exécution.
Une limite qui surprend : un canevas de navigateur ne peut pas être arbitrairement grand, donc le rendu est plafonné à 4 096 pixels de côté et environ 16 mégapixels au total. Une très grande page est rendue à une échelle inférieure à celle demandée plutôt que de revenir vide, ce qui signifie qu’une affiche A0 passée dans un outil rastérisant ressort plus floue qu’une page A4. Quelle taille de PDF un navigateur peut traiter couvre les autres limites du travail dans un onglet.
Polices, images et ce qui se retrouve intégré deux fois
Les causes restantes ont toutes la même forme : quelque chose qui était partagé, partiel ou déjà compressé a cessé de l’être, est devenu complet ou a été recompressé.
- Une police sous-ensemblée est intégrée en entier. Un producteur qui n’intègre que les glyphes utilisés écrit quelques kilo-octets ; un éditeur qui réintègre toute la famille en écrit quelques centaines. La page est identique. Pourquoi les PDF s’affichent différemment sur d’autres ordinateurs explique le sous-ensemblage et ses autres surprises.
- La même police se retrouve plusieurs fois dans le fichier. La fusion est la voie habituelle : les pages de chaque document sont recopiées avec les ressources qu’elles référencent, et rien dans la fusion ne cherche deux polices identiques pour n’en garder qu’une. Dix rapports issus du même modèle, intégrant tous la même police, en emportent dix copies dans le fichier fusionné. Comment combiner des fichiers PDF couvre ce qui change aussi.
- Une image est réencodée sans perte. Une photo JPEG dans un PDF est déjà compressée. Un éditeur qui la décode, change quelque chose et la réécrit en image sans perte peut multiplier sa taille tout en l’améliorant très légèrement, ce que personne n’a demandé.
- Une page est re-rendue par un pilote d’impression. Imprimer un PDF vers un PDF est un re-rendu complet, et cela grossit fréquemment le fichier en plus de lui retirer sa structure. Ce que fait vraiment « Imprimer en PDF » traite cela en entier.
Et un ajout de quelques octets qui mérite d’être nommé parce qu’il vient de ce site. iBuildPDF écrit des tables de références croisées classiques plutôt que les flux compressés que la bibliothèque utiliserait par défaut. Les deux sont valides ; Acrobat refuse fréquemment les seconds, avec « L’objet racine est manquant ou non valide », et un fichier que le lecteur le plus répandu n’ouvre pas n’est pas un fichier plus petit. Mesuré, la table classique coûte environ 2,7 % sur un document réaliste riche en images et entre 17 % et 27 % sur un tout petit document uniquement textuel, où la table représente l’essentiel du fichier. C’est un arbitrage assumé et c’est toute la contribution de ce site à la taille de votre fichier.
Ajouter des numéros de page ou un filigrane, en revanche, ne coûte presque rien : les deux dessinent avec l’une des quatorze polices standard, donc aucune donnée de police n’est intégrée — quelques centaines d’octets d’instructions de dessin par page et rien de plus.
Récupérer la taille
- Déterminez quel genre de fichier vous avez. Nombre de pages et informations du fichier, puis divisez la taille par le nombre de pages. Un document textuel dépassant quelques centaines de kilo-octets par page contient autre chose que du texte, et savoir s’il reste une couche de texte vous dit immédiatement si une page a déjà été rastérisée.
- Si la couche de texte a disparu, arrêtez-vous et revenez en arrière. La rastérisation est à sens unique. La compression réduira volontiers les images, et le texte ne reviendra que par l’OCR, qui est un nouvel ensemble de suppositions plutôt que les caractères d’origine et qui tourne sur un serveur. La bonne décision, c’est la version antérieure du document, si vous l’avez encore.
- Si la couche de texte est intacte, compressez. Compresser un PDF décode les images intégrées, les rééchantillonne à une résolution raisonnable pour la taille à laquelle elles sont dessinées et les réencode. Il ne vous rendra pas un fichier plus gros : si sa sortie devait dépasser ce que vous lui avez donné, il indique que le document était déjà optimisé et vous rend votre propre fichier inchangé. Comment fonctionne la compression PDF décrit ce que change chaque niveau.
- Si le surpoids est l’historique des révisions, n’importe quel outil structurel l’élimine. Il n’y a pas ici de bouton « réécrire ceci en une seule révision », et il n’en faut pas : pivoter, réordonner, extraire ou compresser écrivent tous un document neuf à révision unique, donc l’économie arrive en même temps que ce que vous faisiez. Organiser les pages est le moins invasif d’entre eux.
- Gardez le fichier de départ. Chaque étape ci-dessus jette quelque chose définitivement, et le moment où vous découvrez que l’original vous manquait n’est jamais celui que vous attendiez.
Si le fichier dépasse environ un méga-octet par page et est réellement numérisé, l’arithmétique et les remèdes diffèrent assez pour mériter leur propre article : pourquoi un PDF numérisé est si lourd. Et si rien ne le réduit du tout, pourquoi certains PDF ne peuvent pas être compressés couvre les fichiers déjà aussi petits que possible.
Quatre choses à savoir avant d’essayer
- Un fichier plus gros n’est pas un fichier cassé. Un document portant quatre révisions s’ouvre correctement, s’imprime correctement et est un PDF parfaitement valide. Si rien ne dépend de la taille, il n’y a rien à faire.
- Réécrire un document signé casse la signature. Une signature numérique couvre une plage d’octets, donc tout outil qui écrit un nouveau fichier l’invalide — y compris tous ceux d’ici, puisqu’ils reconstruisent tous. Les mises à jour incrémentales existent en partie pour que des documents signés puissent être annotés sans cela. Si la signature est le sens du document, ne le passez dans rien. Comment signer un PDF traite de la différence entre une signature et une image de signature.
- Une partie de la croissance est simplement le document qui grandit. Un filigrane sur chaque page, des numéros de page, une image de signature, une police réellement manquante désormais intégrée : tout cela ajoute des octets parce que cela ajoute du contenu, et il n’y a rien à récupérer.
- Vérifiez le résultat plutôt que le nombre. Un fichier revenu 70 % plus petit et 70 % plus flou n’est pas une réussite. Ouvrez-le à 100 %, lisez un paragraphe, et s’il doit être imprimé lisez les petits caractères ; pourquoi mon PDF est-il flou explique ce que vous regardez si cela a mal tourné.
Les outils traités dans cet article
Sources
Documentation primaire des affirmations ci-dessus.