Un fichier encore lisible dans des dizaines d'années
Déclarer que le document suit une norme d'archivage : tout ce qu'il faut pour le relire est écrit dedans, pour toujours.
Résumé
Un contrat signé aujourd'hui doit pouvoir se rouvrir dans des dizaines d'années, sur une machine qui n'existe pas encore. Les polices voyagent donc à l'intérieur du fichier au lieu d'être empruntées au logiciel de lecture qui l'affiche, et rien sur la page ne renvoie à une adresse qui peut avoir disparu. C'est ce qu'exigent les archives publiques, les tribunaux, et de plus en plus de services comptables.
Techniquement
Écrit au premier niveau d'une requête, sous
"archive"
archive déclare, dans le paquet XMP, la norme d'archivage à laquelle le document se conforme, et fixe du même coup la version de PDF qui va avec. Huit valeurs existent dans le schéma : les trois niveaux du PDF/A-2 et les trois du PDF/A-3, tous bâtis sur le PDF 1.7, puis le PDF/A-4 et le PDF/A-4f, bâtis sur le PDF 2.0. La partie 3 est celle qui autorise un fichier de tous types à être joint, ce dont une facture électronique a besoin ; le niveau U demande que chaque lettre dessinée renvoie au caractère qu'elle représente, et le niveau A demande en plus au document de dire de quoi il est fait. La norme veut les polices écrites dans le fichier : une requête qui déclare archive passe par fonts ou type1_fonts.
Schéma de la requête
-
archive— chaîne, facultatif, absent par défaut. Dix valeurs :pdfa1b— PDF/A-1 niveau B. Impose la version 1.4 de PDF. La plus ancienne des parties et la plus stricte : la page garde la même allure aussi longtemps que le fichier existe, rien n'y est peint de façon à laisser voir ce qui est derrière, aucune portion ne peut être éteinte, et aucun fichier ne voyage à l'intérieur.pdfa1a— PDF/A-1 niveau A. Impose la version 1.4 de PDF. La même partie, au niveau qui demande au document de dire de quoi il est fait, ce qui réclame unestructure.pdfa2b— PDF/A-2 niveau B. Impose la version 1.7 de PDF. La page garde la même allure aussi longtemps que le fichier existe, et le document ne contient un autre fichier que si celui-ci est lui-même archivable.pdfa2u— PDF/A-2 niveau U. Impose la version 1.7 de PDF. La même partie, et chaque lettre dessinée renvoie au caractère qu'elle représente, si bien que les mots se cherchent et se recopient.pdfa2a— PDF/A-2 niveau A. Impose la version 1.7 de PDF. La même partie encore, au niveau qui demande au document de dire de quoi il est fait : il prend unstructure, et tout ce qui est dessiné sur ses pages tient dans cet arbre ou est marqué comme mobilier.pdfa3b— PDF/A-3 niveau B. Impose la version 1.7 de PDF. C'est la partie qui autorise un fichier de tous types à être joint :invoiceest accepté sous cette revendication et souspdfa3a, sous aucune autre.pdfa3u— PDF/A-3 niveau U. Impose la version 1.7 de PDF. La même partie, et chaque lettre dessinée renvoie au caractère qu'elle représente.pdfa3a— PDF/A-3 niveau A. Impose la version 1.7 de PDF. La même partie, au niveau qui demande au document de dire de quoi il est fait : il prend unstructure, et tout ce qui est dessiné sur ses pages tient dans cet arbre ou est marqué comme mobilier.pdfa4— PDF/A-4, ISO 19005-4. Impose la version PDF 2.0. Le document ne contient pas de dictionnaire d'information, et n'accueille un fichier que si ce fichier est lui-même archivable.pdfa4f— PDF/A-4f. Impose la version 2.0 de PDF. La même partie, au niveau qui contient des fichiers de n'importe quelle sorte — un tableur, une image, le XML que lit une machine. Un document qui la revendique contient au moins un fichier.
-
Les polices sont écrites dans le fichier. Une police déclarée par
standard_fontsest refusée sous cette clé, puisque rien de la police ne voyage avec le document ;fontsettype1_fontsconviennent. -
output_intentdéclare l'appareil pour lequel les couleurs sont dites ; en son absence, le document dit que ses couleurs sont du sRGB. -
Le niveau A de la partie 3 demande un arbre de structure : une demande en déclare un par
structure, et un document qui revendique ce niveau sans en avoir un est refusé.
Une requête entière qui crée un PDF
Un nom ci-dessous tient lieu de fichier de police : mettez le fichier encodé à sa place, ou envoyez le fichier lui-même à côté de la description, comme une pièce fournie dans le même appel. Une page contient une vraie police déjà encodée, et sa requête part telle quelle.
{
"archive": "pdfa3b",
"output_intent": { "identifier": "sRGB", "info": "sRGB IEC61966-2.1" },
"metadata": {
"title": "Minutes of the board meeting",
"created": "2026-08-08T10:00:00+02:00"
},
"fonts": [{ "name": "body", "data": "PASTE_THE_FONT_FILE_BASE64_HERE" }],
"items": [
{
"type": "text",
"rect": { "llx": 60, "lly": 740, "urx": 535, "ury": 768 },
"content": ["Minutes of the board meeting"],
"font": "body",
"font_size": 18
}
]
}
Le document dans son ensemble
Les numéros que montre le logiciel de lecture Cent courriers dans un seul fichier Ce que le document dit de lui-même Ce que le document dit de lui-même, dit une seule fois Les notes qu'un programme laisse pour lui-même Les notes qu'un programme laisse sur une page Les données qu'un programme accroche à un passage d'encre La norme d'impression que le document revendique Le mot de passe qui l'ouvre, et ce qu'on peut en faire Une facture qu'un humain et une machine lisent L'adresse contre laquelle les liens se lisent La version de PDF que le fichier déclare Ce qu'une image dit d'elle-même, et comment elle est lue Les pièces jointes du document, à côté de ses pages Les pièces jointes, présentées en portefeuille Les pièces jointes d'une page La fiche d'identité que contient une seule page La norme d'accessibilité que le document déclare Les normes contre lesquelles le document fini est mesuré
Où aller ensuite
Toutes les clés JSON d'une requête, en une page Les quarante et un autres réglages d'une requête