table de références croisées
Une table de références croisées est la carte, à la fin d'un PDF, qui dit à quel endroit du fichier commence chaque partie numérotée du document.
En détail
Les parties d'un document sont écrites les unes après les autres et numérotées au fur et à mesure, et rien dans le fichier ne dit où commence la partie quatre cent douze, sauf cette table : une ligne par partie, qui donne à combien d'octets du début du fichier elle se trouve. La toute dernière ligne d'un PDF dit où commence la table elle-même, et c'est pour cela qu'un logiciel qui ouvre un document en lit la fin avant tout le reste.
C'est ce qui permet d'afficher la page trois cents d'un document de quatre cents pages sans lire du tout les deux cent quatre-vingt-dix-neuf qui la précèdent. Le logiciel de lecture cherche la page dans la carte, saute à l'endroit dit, et la dessine. Depuis 2003, la carte elle-même peut être mise en paquet et compressée comme le reste du fichier : on l'appelle alors un flux de références croisées.
Ce qu'il fait sur un vrai document
On peut ajouter quelque chose à un document sans le réécrire. Les parties neuves s'écrivent après tout ce qui est déjà là, suivies d'une petite carte qui ne nomme que ce qui a changé et renvoie à la carte d'avant. Pas un octet de l'original ne bouge, et c'est exactement ce qui permet à un sceau posé sur ces octets de tenir encore une fois qu'une page a été ajoutée.
Quand la carte est fausse — un fichier coupé en route, ou ouvert et enregistré par quelque chose qui a mal compté ses octets — chacune de ses lignes désigne un endroit à quelques caractères à côté. Le logiciel de lecture lit alors le fichier d'un bout à l'autre, refait la carte lui-même, et n'en dit rien. C'est pour cela qu'un document abîmé s'ouvre quand même, et c'est pour cela qu'il s'ouvre lentement.
D'où il vient, et pourquoi
La table est aussi vieille que le format, publié en 1993. Ses lignes ont été dessinées pour faire exactement vingt caractères, complétées par des zéros, afin qu'un programme atteigne la ligne de la partie quatre cent douze par une multiplication plutôt qu'en lisant — un souci de machine qui allait lire un fichier sur un disque qui tourne.
La révision de 2003 a permis d'écrire la carte sous la forme d'un paquet compressé, en même temps que la mise en paquet des autres notes du document : les deux voyagent ensemble, et un fichier qui met l'une en paquet y met l'autre.
Voyez-le sur un document fini
Réduire la taille du fichier Montrer la page un sans attendre le reste