Aller au contenu
getnextpdf.com

Une brève histoire du PDF

Spec: ISO 32000-1

Le PDF a commencé par un mémo sur une frustration : on pouvait imprimer un document n’importe où, mais on ne pouvait pas en envoyer un de façon fiable. Cette page est le récit court de la manière dont ce problème s’est transformé en l’un des formats documentaires les plus utilisés au monde — d’un dérivé de PostScript en 1993 à une norme ISO dont la dernière édition ne porte plus le nom d’Adobe.

L’histoire n’est pas ici de la nostalgie. Le PDF que tu produis aujourd’hui est plein de décisions prises il y a des décennies, et la plupart sont encore porteuses. L’objet numéro zéro est la tête d’une liste d’objets libres avec la génération 65535 parce qu’une conception de 1993 l’a décidé ainsi. Les pages se décrivent elles-mêmes avec des opérateurs de dessin descendant de PostScript parce que le format est né d’un langage d’impression. Savoir d’où vient une règle est souvent le moyen le plus rapide de comprendre pourquoi on ne peut pas simplement l’ignorer.

L’autre raison, c’est la perspective. « PDF 2.0 » sonne comme une réinvention nette. Ce n’en est pas une. C’est la dernière couche d’un sédiment de trente ans, et le lire comme une continuation plutôt que comme une remise à zéro est ce qui te permet de prédire son comportement.

  • Le PDF descend de PostScript, le langage de description de page d’Adobe. Il a conservé le modèle de dessin et abandonné le langage de programmation complet.
  • Le mémo interne « Camelot » de John Warnock, en 1991, a posé l’objectif : un fichier que tout le monde pourrait ouvrir et qui aurait le même aspect partout.
  • PDF 1.0 est sorti en 1993 avec Acrobat. C’était un produit payant et de niche avant de devenir un standard par défaut.
  • Les versions 1.1 à 1.7 ont ajouté ce qui l’a rendu indispensable — liens, chiffrement, compression, formulaires, transparence, balisage, signatures numériques — une spécification à la fois.
  • En 2008, PDF 1.7 est devenu ISO 32000-1 : le format a cessé d’être celui d’Adobe pour devenir une norme internationale ouverte.
  • PDF 2.0 est ISO 32000-2, la première édition entièrement rédigée et détenue au sein de l’ISO. Il consolide, resserre et retire plus qu’il ne réinvente.

NextPDF traite cette filiation comme une contrainte réelle, pas comme une anecdote. C’est un moteur PDF 2.0 par défaut, mais les formes plus anciennes du format restent accessibles à dessein, parce que les normes bâties par-dessus le PDF les exigent toujours.

La rupture décisive dans la chronologie, c’est 2008. Avant elle, « PDF » signifiait « ce que dit la dernière spécification d’Adobe ». Après elle, le PDF est une norme ISO (Spec: ISO 32000-1), ce qui est précisément la raison pour laquelle un moteur indépendant comme celui-ci peut exister et revendiquer la conformité à un document public plutôt qu’au produit d’un fournisseur. La base actuelle est PDF 2.0 (Spec: ISO 32000-2, Introduction), la première édition rédigée entièrement au sein de l’ISO.

Cette histoire explique un choix de conception discret mais important du moteur : la version du PDF est une décision délibérée, jamais un accident. NextPDF écrit par défaut une structure 2.0, et pourtant il peut encore sérialiser les formes de fichier 1.7 et 1.4 plus anciennes — non par sentiment, mais parce que des profils de conformité comme PDF/A ont été définis par rapport à ces structures antérieures et continuent de les exiger. Le passé n’est pas déprécié. C’est une cible de sortie prise en charge.

  1. PostScript (1984)Adobe ships a page-description language for laser printers — the drawing model the PDF inherits.
  2. Camelot memo (1991)John Warnock proposes a portable file anyone can open and that aims to render the same way everywhere.
  3. PDF 1.0 with Acrobat (1993)The format ships as a paid product. Adoption is slow; the readers and tools cost money.
  4. PDF 1.1 to 1.7 (1996 to 2006)Links, encryption, compression, forms, transparency, tagging, and signatures arrive one version at a time.
  5. ISO 32000-1 (2008)PDF 1.7 is adopted by ISO. The format becomes an open standard, no longer Adobe-owned.
  6. ISO 32000-2 / PDF 2.0 (2017, rev. 2020)The first ISO-authored edition: consolidation, tightening, and the baseline NextPDF writes by default.
La filiation des versions du PDF sous forme de chronologie : un dérivé de PostScript devient un produit payant, accumule des fonctionnalités tout au long de la lignée 1.x, est confié à l'ISO en 2008, et aboutit à la base 2.0 détenue par l'ISO que NextPDF cible.

Quelques détails de cette chronologie méritent qu’on s’y arrête, car ils expliquent le caractère du format.

Il est né d’un langage d’impression. PostScript pouvait dessiner tout ce qu’une imprimante savait dessiner, mais c’était un langage de programmation complet — un fichier PostScript pouvait boucler à l’infini. Le PDF a conservé le système de coordonnées et les opérateurs graphiques de PostScript et a jeté la programmabilité. Ce qui est resté, c’est une description statique d’une page achevée : prévisible, bornée et sûre à rendre. C’est ce compromis qui fait qu’une page PDF a le même aspect sur chaque lecteur, et qu’elle n’est pas une petite application comme l’était de fait un fichier PostScript.

L’adoption électronique gratuite a été un tournant. PDF 1.0 était un produit commercial, et pendant des années le format est resté une curiosité payante. La percée a consisté à rendre le lecteur gratuit tout en gardant les outils de création payants. Un format dont un seul côté doit s’acquitter du coût d’entrée est un format que tout le monde peut recevoir. Au moment où la spécification a atteint la version 1.7, le PDF était déjà la manière par défaut d’envoyer un document qui ne doit pas changer en transit.

2008 a changé qui détient les règles. Confier PDF 1.7 à l’ISO a transformé une spécification de fournisseur en norme internationale. C’est le moment où un moteur indépendant et conforme devient possible tout court — il existe un document public sur lequel s’appuyer, avec une clause publique pour chaque comportement.

Tu peux lire l’arc tout entier dans la première ligne d’un fichier. L’en-tête est un marqueur de version, et c’est le contrat le plus ancien et le plus simple du format — présent en 1993 et inchangé dans sa forme aujourd’hui.

%PDF-1.0 ← 1993, Acrobat 1.0
%PDF-1.4 ← 2001, transparency and the basis for PDF/A-1
%PDF-1.7 ← 2006, the version ISO adopted as 32000-1 in 2008
%PDF-2.0 ← ISO 32000-2, the first ISO-authored edition

Les mêmes huit octets, à une génération d’écart. Un lecteur moderne peut ouvrir les quatre, parce que le format a été conçu pour qu’un lecteur ancien puisse ignorer ce qu’il ne comprend pas tandis qu’un lecteur plus récent reste compatible avec ce qui l’a précédé. En pratique, un lecteur ancien peut au contraire rendre incorrectement une fonctionnalité inconnue, si bien que la garantie est une intention de conception, pas une garantie absolue. NextPDF écrit le dernier de ces marqueurs par défaut, et peut écrire les autres lorsqu’un profil de conformité le demande.

Le piège, c’est de lire les numéros de version comme l’histoire d’une réinvention spectaculaire — comme si PDF 2.0 était à PDF 1.7 ce qu’une suite est à un film. C’est plus proche d’une nouvelle édition soignée d’un long ouvrage de référence. Le modèle objet, la table de références croisées et le trailer qu’utilisait un fichier de 1993 sont, de manière reconnaissable, la même mécanique qu’utilise un fichier 2.0. La plus grande partie de ce qui a changé en trente ans a été ajoutée à côté de la conception d’origine, et non arrachée et remplacée. Le format est exceptionnellement conservateur, et ce conservatisme est tout l’enjeu : un fichier écrit aujourd’hui devrait encore s’ouvrir dans dix ans, et un fichier écrit il y a dix ans devrait encore s’ouvrir aujourd’hui.

Un second contresens veut que « ISO 32000-2 soit la spec d’Adobe avec une nouvelle couverture ». Les deux éditions ISO diffèrent réellement par leur paternité. PDF 2.0 est la première édition produite au sein du processus de l’ISO plutôt que publiée par Adobe et ratifiée ensuite, ce qui explique en partie pourquoi elle se lit comme une consolidation de décennies de règles accumulées plutôt que comme l’annonce de fonctionnalités d’un fournisseur.

Cette page est une orientation narrative, pas un journal des modifications précis. Les dates sont données à l’année près, et « 1.1 à 1.7 » comprime à dessein plus d’une décennie de spécifications incrémentales en une seule ligne. Si tu as besoin des différences exactes au niveau des clauses entre les éditions, c’est un autre document.

Historical PDF versions as an output target — edition availability
EditionAvailability
Core

Le cœur écrit du PDF 2.0 par défaut et peut sérialiser les structures de fichier 1.7 et 1.4 plus anciennes lorsqu’un profil l’exige. C’est un écrivain de ces versions, pas un musée : il ne promet pas de lire, de réparer ou de reconstruire fidèlement un fichier hérité arbitraire produit par un autre outil il y a des décennies.

ProAvailable
EnterpriseAvailable

NextPDF est un moteur PDF 2.0 qui respecte sa filiation ; ce n’est pas un historien universel de chaque PDF jamais produit. Le comportement décrit ici concerne les fichiers qu’il écrit, ancrés aux éditions qu’il cible. La façon dont ces fichiers sont structurés en interne, et ce que la 2.0 a spécifiquement changé, sont traités sur les pages ci-dessous.

Le PDF a-t-il toujours été gratuit à lire ? Non. Le lecteur est devenu gratuit relativement tôt, mais PDF 1.0 est sorti comme produit payant. Lecture gratuite, création payante : c’est le modèle qui a rendu le format omniprésent.

PDF 2.0 a-t-il rompu la compatibilité avec les fichiers plus anciens ? En grande partie non. La structure partagée est inchangée, et les nouvelles fonctionnalités sont conçues pour qu’un lecteur ancien puisse ignorer ce qu’il ne reconnaît pas. Une fonctionnalité propre à la 2.0 ne sera typiquement pas honorée par un lecteur 1.7, qui peut la sauter ou, selon la fonctionnalité et le lecteur, se rabattre imparfaitement.

Pourquoi NextPDF écrit-il encore de l’ancienne structure ? Parce que des profils de conformité bâtis par-dessus le PDF — notamment certains niveaux PDF/A — ont été définis par rapport aux formes de fichier plus anciennes et les exigent. Le passé est une cible de sortie prise en charge, pas une cible dépréciée.

  • Ce qu’est vraiment un PDF — le modèle objet, la table de références croisées et le trailer que cette histoire a produits.
  • PDF 2.0 : ce qui a changé — les différences au niveau des clauses entre la 1.7 et la base 2.0.
  • Le paysage des normes — où se situe ISO 32000 au sein de la fédération plus large des normes que suit NextPDF.
  • Archivage et PDF/A — pourquoi les structures de fichier plus anciennes issues de cette histoire restent des cibles de sortie exigées.
  • PostScript — le langage de description de page d’Adobe de 1984 pour les imprimantes ; un langage de programmation complet. Le PDF en a hérité le modèle de dessin mais en a abandonné la programmabilité.
  • Camelot — le nom de projet interne, issu du mémo de John Warnock de 1991, de l’effort devenu le PDF.
  • PDF 1.0 — la première spécification PDF publiée, sortie avec Acrobat en 1993.
  • ISO 32000-1 — l’adoption par l’ISO en 2008 de PDF 1.7 ; la première fois que le format est devenu une norme internationale ouverte.
  • ISO 32000-2 (PDF 2.0) — la première édition PDF rédigée et détenue entièrement au sein de l’ISO plutôt que publiée par Adobe.
  • Profil de conformité — une norme plus stricte superposée au PDF de base (comme PDF/A pour l’archivage), souvent définie par rapport à une structure de fichier spécifique, parfois plus ancienne.