Un manuel qui dit comment il veut être lu

Vous envoyez un manuel de cent pages. La personne qui l'ouvre tombe sur la couverture, à demi grossie, sans aucune liste de chapitres en vue — et il faut maintenant expliquer à quelqu'un où cliquer. Un PDF peut dire lui-même comment il veut être ouvert : sur cette page, à cette taille, avec la liste des chapitres déjà dépliée sur le côté. C'est un vœu et non un ordre. Un logiciel de lecture de bureau comme Adobe Acrobat Reader en suit la plus grande partie ; le logiciel de lecture intégré à un navigateur n'en suit que peu, et chaque navigateur trace sa propre limite. Ouvrez le document ci-dessous dans les deux, l'un après l'autre, et la différence se voit en cinq secondes.

Sa page trois imprime la liste entière de ce qu'il demande, pour que vous puissiez comparer cette liste avec ce que votre propre logiciel de lecture a réellement fait. Il demande à s'ouvrir sur le sommaire plutôt que sur la couverture, pour que personne ne commence sur une page de titre qu'il n'était pas venu chercher. Il demande à remplir la fenêtre avec ce qui est tracé plutôt qu'avec le papier autour, pour que les mots soient lisibles sans qu'on touche à rien. Il demande les pages deux à la fois, la couverture seule, comme un livre s'ouvre. Et il dit avec quoi la fenêtre d'impression doit se présenter — quelles pages, recto verso, combien d'exemplaires — pour que celui qui l'imprime cesse de régler les quatre mêmes réglages à chaque fois. Sur un manuel, un catalogue ou un tarif qui doit s'ouvrir de la même façon pour tout le monde, c'est la différence entre un fichier et un document.

Ce que montre cet exemple

  • La page sur laquelle il s'ouvre, la part de la fenêtre qu'il remplit, et la liste des chapitres à côté.
  • Deux pages à la fois, avec la couverture toute seule.
  • Une fenêtre d'impression qui se présente déjà remplie, et la liste entière imprimée en page trois pour la comparer.

Le code source complet

Rien n'est omis et rien n'est simplifié : c'est le programme exactement tel qu'il tourne, pour le développeur qui utilise cette bibliothèque. La troisième est la description elle-même : une simple liste de ce que la page doit dire, et c'est elle qu'on envoie au service.

Voir le code Rust Voir le code Python Voir le code JSON

Le document lui-même

Ouvrir le document en anglais Ouvrir le document en français

Un manuel qui dit comment il veut être lu, première page

Optimisé, ce document pèse 19.2 ko — au moins 80 % de moins que ce qu'écriraient la plupart des générateurs de PDF

Le document est plus léger qu'avant, et chaque page a exactement le même aspect. Voir la ligne de ce document dans le tableau de tous les exemples.

Des exemples voisins de celui-ci

Un diaporama qui se déroule tout seul

Une première diapositive sobre et treize autres, chacune énonçant l'effet par lequel elle arrive — les douze que définit la norme PDF (ISO 32000) —, la durée de cet effet et le temps où la diapositive reste avant que la suivante n'arrive. Le fichier demande à s'ouvrir en plein écran, là où les effets se jouent, et un lien posé sur la première diapositive réaffiche l'écran en le faisant apparaître par dissolution.

Liens internes et externes

Un document fait pour être suivi, pas regardé : chaque ligne du sommaire tombe sur la page qu'elle nomme, et chaque page ramène là d'où l'on vient.

Liens et marques sur un texte déjà composé

Des liens et des repères accrochés à un texte que le moteur a déjà mis en place : un bandeau derrière une ligne, un soulignement, une cellule encadrée — chaque rectangle repris de ce que la mise en page et le tableau indiquent après coup, aucun mesuré à la main.

Un récit qui se poursuit plus loin

Deux articles sur deux pages : chacun commence dans une colonne de la première page et se poursuit dans une colonne de la seconde, et les deux échangent de côté en chemin. Le fichier dit quelle colonne suit laquelle, si bien que le logiciel de lecture poursuit l'article en cours.

Un registre dont chaque page dit d'où elle vient

Deux séances reliées en un seul fichier. Chaque page a son propre relevé — ce qu'elle est, de quelle main elle a été écrite, le jour où elle l'a été — la photographie de la deuxième page en a un aussi, et chaque transcription est rattachée à la page qu'elle transcrit plutôt qu'au fichier entier.

Tous les exemples, par sujet