PDFMove
Comment optimiser un PDF pour le web (linéarisation) ?
Tutoriel

Comment optimiser un PDF pour le web (linéarisation) ?

7 min de lecture

L'utilisateur qui clique sur le catalogue de 200 pages que vous avez mis sur votre site attend que le fichier entier soit téléchargé pour voir la première page. Sur une connexion lente, cela peut prendre une demi-minute, et la plupart des utilisateurs n'attendent pas si longtemps. La linéarisation — souvent désignée par « optimisation pour le web » ou « affichage web rapide » — résout exactement ce problème.

Ce que fait la linéarisation

Dans un PDF ordinaire, les objets sont répartis dans le fichier sans ordre logique particulier. Pour dessiner la première page, la visionneuse doit d'abord aller à la fin du fichier lire la table de références croisées (xref), y trouver l'objet catalogue, parcourir ensuite l'arbre des pages et rassembler les ressources de la première page depuis différents endroits du fichier.

Sur un fichier local, ces sauts prennent quelques millisecondes. Mais si le fichier arrive par le réseau, il faut qu'il soit entièrement téléchargé pour pouvoir effectuer ces sauts.

Dans un PDF linéarisé, l'organisation change complètement :

  1. Un dictionnaire particulier se trouve au début du fichier ; il indique « je suis un fichier linéarisé, ma première page est ici, ma table d'indices est là ».
  2. Viennent immédiatement après tous les objets de la première page — flux de contenu, polices employées, images.
  3. Puis les tables d'indices (hint tables) : une carte indiquant dans quelle plage d'octets du fichier se trouve chaque page.
  4. Enfin les objets des pages restantes, dans l'ordre.

Résultat : dès qu'il a téléchargé les premières centaines de kilo-octets, le navigateur peut dessiner la première page. Si l'utilisateur saute à la page 47, il consulte la table d'indices et ne demande que la plage d'octets de cette page — sans télécharger les 45 pages intermédiaires.

Étape 1 : déterminez si la linéarisation vous apportera réellement quelque chose

Ne sautez pas cette étape pour passer directement à l'opération, car la linéarisation ne change rien dans la plupart des scénarios.

Pour qu'elle soit bénéfique, trois conditions doivent être réunies simultanément :

1. Le fichier sera ouvert dans le navigateur. Si l'utilisateur télécharge le fichier et l'ouvre en local (lien de téléchargement, pièce jointe d'e-mail), le bénéfice est nul — le fichier est déjà entièrement sur sa machine.

2. Le fichier est suffisamment gros. Un fichier de 300 Ko se télécharge déjà en moins d'une seconde ; que vous le linéarisiez ou non, l'utilisateur ne verra pas la différence. Le bénéfice commence à se ressentir au-delà de quelques mégaoctets et devient net au-dessus de dix mégaoctets.

3. Le serveur prend en charge les requêtes byte-range. Le navigateur doit pouvoir dire « donne-moi telle plage du fichier ». Presque tous les serveurs web modernes le prennent en charge par défaut, mais certaines configurations de CDN, certains fichiers générés dynamiquement et certains serveurs applicatifs ne le font pas.

Si les trois conditions sont réunies, poursuivez. Sinon, la linéarisation est une étape superflue.

Étape 2 : pensez d'abord à la compression

L'ordre compte. La linéarisation réorganise le fichier ; la compression réencode le contenu. Si vous compressez ensuite, l'outil de compression réécrira le fichier et détruira très probablement la structure linéarisée.

Le bon ordre : compressez d'abord, linéarisez ensuite.

Gardez aussi ceci à l'esprit : en matière de performance web, diviser par deux la taille du fichier apporte le plus souvent un gain supérieur à la linéarisation. Si un catalogue de 20 Mo tombe à 6 Mo, il se télécharge rapidement en entier même sans être linéarisé. Faire les deux donne le meilleur résultat, mais s'il faut choisir, la compression passe en premier.

Étape 3 : linéarisez

Ouvrez l'outil d'optimisation pour le web et téléversez votre fichier. Le traitement se fait dans votre navigateur, le fichier n'est pas envoyé à un serveur.

L'outil lit le fichier, réordonne les objets, calcule les tables d'indices et produit un nouveau PDF. Le contenu ne change pas du tout — le texte reste du texte, les images des images, il n'y a aucune perte de qualité.

Voici ce que vous devez attendre : la taille du fichier restera quasiment identique, elle augmentera même très légèrement du fait de l'ajout des tables d'indices (typiquement 1 à 2 %). Si votre fichier a rétréci, l'outil a probablement aussi nettoyé les objets inutilisés ; c'est un bonus, pas l'effet propre de la linéarisation.

Étape 4 : vérifiez le résultat

Il existe plusieurs façons de contrôler que la linéarisation a fonctionné :

Regardez le début du fichier. Si vous ouvrez le PDF dans un éditeur de texte (avec précaution, sans enregistrer), vous devriez voir le mot-clé /Linearized dans les premières lignes. C'est la preuve directe que le fichier a été linéarisé.

Testez en conditions réelles. Mettez le fichier en ligne sur votre serveur et ouvrez-le dans un navigateur. Ouvrez l'onglet Réseau des outils de développement et appliquez une simulation de connexion lente. Sur un fichier linéarisé, la première page doit apparaître avant la fin du téléchargement.

Test de saut de page. Pendant le téléchargement du fichier, sautez à la dernière page. Sur un fichier linéarisé, cette page arrive rapidement ; sinon, vous attendez le téléchargement complet.

Pour qui cela fait-il réellement une différence

Scénarios concrets :

| Situation | Bénéfice | |---|---| | Catalogue produit de 50 Mo publié sur un site | Élevé | | Manuel de 300 pages lu en ligne | Élevé | | Grande archive de rapports sur le site d'une administration | Élevé | | Application avec visionneuse PDF intégrée au navigateur | Élevé | | Brochure de 500 Ko | Quasi nul | | Facture envoyée par e-mail | Nul | | Contrat archivé | Nul | | Formulaire destiné à l'impression | Nul |

Règle générale : linéarisez si l'utilisateur va lire le fichier sans le télécharger et que le fichier est gros. Dans tous les autres cas, c'est superflu.

Les situations où la linéarisation se perd

Un fichier linéarisé peut perdre cette propriété dès qu'on y apporte une modification :

  • Les mises à jour incrémentales. Quand vous ajoutez une annotation à un PDF et l'enregistrez, beaucoup de programmes ajoutent les modifications à la fin du fichier. Cela détruit la structure linéarisée, car il faut désormais lire des données à la fin du fichier.
  • L'ajout d'une signature. Apposer une signature numérique utilise généralement une mise à jour incrémentale.
  • L'ajout ou la suppression de pages. La structure change, les tables d'indices deviennent invalides.
  • La compression. Le fichier est réécrit.

C'est pourquoi la linéarisation doit être la dernière étape de votre flux de travail. Terminez toutes les modifications, puis linéarisez, puis publiez.

Erreurs fréquentes

La prendre pour une compression. La linéarisation ne réduit pas le fichier. Si la taille compte aussi pour vos performances web, il faut compresser séparément.

La faire dans le mauvais ordre. Si vous linéarisez puis compressez, la première opération est perdue.

L'appliquer à tous les fichiers. Sur les petits fichiers et ceux destinés au téléchargement, il n'y a aucun bénéfice ; vous ajoutez une étape inutile à votre flux de travail.

Oublier le côté serveur. Sans prise en charge du byte-range, le navigateur téléchargera le fichier entier même s'il est linéarisé. Le serveur doit en outre envoyer correctement l'en-tête Content-Length et ne pas transmettre le fichier avec un encodage de transfert compressé (gzip) — le byte-range ne fonctionne pas sur une réponse gzippée.

En résumé

La linéarisation est une opération qui réordonne les objets d'un PDF selon une logique « première page d'abord » et ajoute une table d'indices indiquant où se trouve chaque page. Le navigateur peut ainsi afficher la première page sans attendre tout le fichier et sauter directement à la page voulue. Elle ne réduit pas le fichier, ne change pas la qualité, elle ne fait qu'en réorganiser la structure. Son bénéfice n'apparaît que sur les gros fichiers publiés sur le web et servis par un serveur prenant en charge le byte-range — en l'absence de ces conditions, la sauter est la bonne décision. Et si vous l'appliquez, faites-le tout à la fin de votre flux de travail, une fois toutes les modifications et la compression terminées.

Questions fréquentes

La linéarisation réduit-elle la taille du fichier ?

Non, elle ne la réduit pas — elle l'augmente même légèrement en général. La linéarisation réorganise les objets à l'intérieur du fichier et ajoute une table d'indices (hint table) ; aucun contenu n'est écarté ni réencodé. Si vous voulez réduire la taille, il faut utiliser un outil de compression. Il est possible de faire les deux : compressez d'abord, linéarisez ensuite.

La linéarisation a-t-elle un intérêt pour un PDF téléchargé ?

En pratique, non. Tout l'intérêt de la linéarisation est de pouvoir afficher la première page avant la fin du téléchargement. Si l'utilisateur télécharge le fichier et l'ouvre en local, celui-ci est déjà entièrement sur sa machine et l'ordre des objets n'a plus d'importance. Le bénéfice apparaît pour les fichiers ouverts dans la visionneuse intégrée du navigateur, sur un serveur prenant en charge les requêtes byte-range.

Que signifie « mon serveur prend en charge le byte-range » ?

Cela signifie qu'un serveur HTTP peut envoyer une plage d'octets déterminée plutôt que le fichier entier. Le navigateur peut demander « donne-moi les octets 0 à 50000 de ce fichier ». Presque tous les serveurs web modernes le prennent en charge, généralement par défaut. En l'absence de cette prise en charge, le bénéfice de la linéarisation disparaît, car le navigateur doit de nouveau télécharger le fichier entier.

Dois-je linéariser tous mes PDF ?

Non. Cela a du sens pour les fichiers que vous publiez sur votre site web, que les utilisateurs ouvriront dans leur navigateur et dont la taille dépasse quelques mégaoctets. Pour une petite facture envoyée par e-mail, un contrat archivé ou un document simplement destiné à l'impression, cela n'apporte rien et ajoute une étape inutile.

Essayez dès maintenant avec Web İçin Optimize Et.

Essayer Web İçin Optimize Et