Le programme qui dit si un document est vraiment conforme
veraPDF est un programme gratuit qui ouvre un document et dit s’il suit vraiment la norme d’archivage qu’il déclare. Il est publié par les organismes qui écrivent cette norme : sa réponse vient donc de l’extérieur. Cette page dit ce qu’il tranche, comment le lancer sur un fichier à vous, et les deux usages qu’on en fait ici.
Résumé
Pensez au contrôle technique d’une voiture. Le garage qui l’entretient toute l’année n’est pas celui qui délivre le certificat : quelqu’un d’autre la regarde, la liste officielle à la main, et dit oui ou non. veraPDF est ce quelqu’un d’autre, pour un document.
C’est un programme que tout le monde peut télécharger et lancer, gratuitement, et il vient des deux organismes qui écrivent eux-mêmes la norme d’archivage : l’Open Preservation Foundation et la PDF Association. La liste qu’il applique est donc la vraie liste, tenue par ceux-là mêmes qui l’ont écrite.
Voici pourquoi cela compte le jour où vous choisissez un fournisseur. Un programme qui noterait ses propres fichiers les mesurerait avec la compréhension même qui a servi à les créer : on lit la règle d’une certaine façon, on écrit le fichier de cette façon, et on le déclare juste. Un contrôle venu de l’extérieur est la seule chose qui rattrape une lecture de travers, et c’est lui qu’ont en tête un service d’archives, un auditeur ou un tribunal quand ils réclament un document conforme.
S’en servir prend une minute. Vous le téléchargez, vous lui indiquez un fichier, et vous nommez la règle à laquelle il doit le confronter. Il répond par un simple réussi ou refusé, et derrière cette réponse il énumère chaque règle appliquée, chacune avec le numéro de son article dans le texte publié : tout refus peut donc être vérifié mot pour mot.
L’équipe s’en sert de deux façons. La première décide de ce que fait le moteur : veraPDF énonce par écrit, article par article, les règles qu’il applique, dans des fichiers que tout le monde peut ouvrir. Ces fichiers sont lus avant qu’une règle n’entre dans le moteur, si bien que ce que le moteur exige est ce que demande le texte publié, lu chez le vérificateur plutôt que retenu de mémoire.
Le second usage est le plus simple : ce qui sort passe devant lui. Une facture de trois pages, posée sur des modèles de page tels que LibreOffice les a écrits, son fichier de données joint à l’intérieur, est déclarée document d’archivage sur 146 règles et 5 468 contrôles distincts, tous satisfaits. Un document de la quatrième partie, qui contient une hiérarchie de ses propres parties et un lien vers l’une d’elles, passe sur 109 règles sur 109. Les deux chiffres se lisent sur le rapport de veraPDF lui-même, et tous deux peuvent être reproduits sur votre propre machine.
C’est sur ces deux usages que repose presque tout ceci. Presque tout ce que le moteur écrit pour une archive, et presque tout ce qu’il refuse d’écrire, vient d’une règle lue dans ce vérificateur puis revérifiée avec lui.
veraPDF couvre les deux familles sur lesquelles ce moteur est mesuré : les documents gardés longtemps, et les documents lus à voix haute à quelqu’un qui ne voit pas la page. Pour la famille de l’imprimerie, la question se tranche autrement : la page sur les fichiers prêts pour la presse dit comment, et ce que le moteur y garantit.
Techniquement
L’appel, les variantes sur lesquelles il tranche, où se trouvent ses profils de règles, et ce que contient un rapport.
Le lancer sur un fichier à vous
La version en ligne de commande est un programme Java livré avec son propre installeur ; une fois déballé, il laisse un exécutable qui prend un fichier et une variante. La variante est la règle exacte sur laquelle le fichier est mesuré, et la nommer est ce qui transforme une question vague en verdict. Les chiffres de cette page ont été produits avec la version 1.30.2.
La réponse tient sur une ligne : le verdict, la variante de la norme et le chemin. Tout ce qu’il y a derrière cette ligne est disponible sous forme de rapport — un rapport lisible par une machine, qui nomme chaque règle, les objets auxquels elle a été appliquée et le message de chaque test, et un rapport en clair pour la lecture.
Demander aussi les réussites transforme le rapport en profil entier. Une règle qui a tourné et qui est passée se distingue alors d’une règle qui n’avait rien à regarder, et c’est toute la différence entre un contrôle qui a eu lieu et un contrôle sauté.
verapdf --format text -f 3b invoice.pdf
verapdf --format mrr --success -f ua1 invoice.pdf > report.xml
Les variantes sur lesquelles il tranche
Quinze variantes sont fournies avec lui. La famille d’archivage comprend 1a, 1b, 2a, 2b, 2u, 3a, 3b, 3u, 4, 4f et 4e ; les règles d’accessibilité comprennent ua1 et ua2 ; les profils bien balisés comprennent wt1r et wt1a. Une lettre nomme un niveau : b promet que la page aura toujours la même allure, a réclame en plus la structure du texte, et u réclame que chaque lettre puisse être ramenée à son caractère.
Chaque variante est un profil transporté en XML dans l’archive de la ligne de commande, un élément par article et par test. Compter ces éléments donne la taille d’un verdict : 155 en 3a, 146 en 3b, 106 en ua1, 109 dans la quatrième partie et 1 727 en ua2. Un rapport produit en incluant les réussites compte exactement ce nombre de règles, et c’est ainsi qu’un rapport se recoupe avec le profil dont il se réclame.
Vos propres règles, passées par le même programme
Au-delà des profils qu’il livre, veraPDF extrait en XML ce qu’un document contient et applique un fichier de politique à cet extrait — un document Schematron qui énonce vos propres assertions. C’est ainsi que la norme d’impression est mesurée ici : onze règles lues dans le texte publié, un verdict par règle, et un total à la fin.
Les deux usages restent séparés, et la différence est dite partout où un chiffre repose sur l’un d’eux. Un profil livré avec le programme donne une réponse qui est celle de veraPDF ; un fichier de politique donne une réponse qui est la nôtre, produite à partir de la lecture du fichier par veraPDF.
verapdf --extract --policyfile pdfx4.sch --success -f 3b sheet.pdf
Ce que contient un rapport
Chaque règle d’un rapport donne la norme d’où elle vient, le numéro de sa clause et le numéro du test à l’intérieur de cette clause, le genre d’objet auquel elle s’applique, et la phrase dans laquelle le profil l’énonce. Un test en échec ajoute l’objet sur lequel il a échoué, écrit comme un chemin à travers le document : la page, l’annotation posée dessus, l’apparence de cette annotation, le flux à l’intérieur de cette apparence.
C’est ce chemin qui rend une réponse utilisable. Un rapport qui nomme la clause 6.2.2 test 3 de la quatrième partie, sur le flux de contenu de l’apparence de la première annotation de la première page, désigne un objet et une phrase d’un texte — c’est une réparation qu’on peut faire l’après-midi même.
Ce à quoi le moteur est tenu devant lui
Les deux usages, les chiffres que chacun a produits, et les documents sur lesquels ces chiffres ont été obtenus.
Les profils sont lus comme la source d’une règle
Une règle de conformité peut s’écrire de mémoire d’après la norme, ou se lire sur un profil qui l’énonce. Ici, elle se lit. Les profils voyagent en XML dans l’archive de la ligne de commande, et en ouvrir un transforme une question d’interprétation en simple consultation.
Un exemple a tranché une vraie question. Un document de la quatrième partie d’archivage devait contenir un lien vers une partie d’un autre document, une action du type que le format moderne appelle GoToDp. Savoir si un document d’archivage a le droit d’en contenir une est affaire de lecture. Le profil de la quatrième partie répond en une ligne : sa règle sur les actions énumère les types permis, et celui-là en fait partie, dans les trois variantes de cette partie. La règle du moteur a été écrite d’après cette lecture, et le document qui la met en œuvre passe la validation.
Lire les profils est aussi ce qui empêche le moteur d’exiger quelque chose que le texte n’a jamais demandé. Un refus que personne ne peut rattacher à un article est un refus sur lequel un client ne peut rien faire : chaque règle que le moteur applique a donc un article derrière elle.
Chaque document passe devant lui
Le second usage est le témoin. Un document écrit par le moteur est remis à veraPDF avant qu’on en dise quoi que ce soit, et ce que le vérificateur répond est ce que ce site publie. Deux de ces passages méritent d’être nommés, parce qu’ils s’accompagnent de leurs chiffres.
- Une facture de trois pages, posée sur des modèles de page tels que LibreOffice les a écrits et contenant le fichier de données de la facture : déclarée document d’archivage de la troisième partie au niveau B, sur 146 règles et 5 468 contrôles distincts, tous satisfaits.
- Un document de la quatrième partie contenant une hiérarchie de ses propres parties et un lien vers l’une d’elles : 109 règles sur 109, et toutes respectées.
Les exemples publiés ici passent aussi devant lui
Les documents d’archivage du catalogue d’exemples passent devant le vérificateur aux deux niveaux de la troisième partie et devant les règles d’accessibilité, et il les accepte. Il en va de même des profils de couleur de référence passés de bout en bout : vingt-six sont entrés, trois ont été refusés à l’appel avant que le moindre octet soit écrit, et veraPDF a accepté les vingt-trois qui ont été écrits comme intention de sortie d’un document d’archivage.
La traduction française d’un document y est passée au même titre que l’anglaise. Traduire change le texte tracé sur la page et les mots rangés dans la structure : la passe vaut donc d’être faite deux fois, et la forme d’archivage française est déclarée conforme au regard des mêmes 146 règles.
Ce que veraPDF couvre, et ce qui se contrôle autrement
La liste des variantes est la liste de ce que veraPDF tranche : la famille d’archivage et les règles d’accessibilité. Cela couvre ce que réclament un service d’archives, un auditeur ou une administration, et le moteur est mesuré sur les deux.
Pour la famille de l’impression, la question se tranche ailleurs, et de deux façons. Des règles lues sur son texte publié sont passées sur le fichier fini par le mécanisme de politique ci-dessus, et la même page est écrite une seconde fois par un tout autre programme, puis comparée point par point. La page sur les fichiers prêts pour la presse dit quelle partie le moteur écrit et ce sur quoi il insiste avant d’écrire quoi que ce soit.
Le jour venu, l’imprimeur passe son propre contrôle sur ce qu’il reçoit, comme la plupart le font. C’est une troisième paire d’yeux, et c’est elle qui tranche pour de bon.
Où aller ensuite
Ce qui rend un document lisible dans des dizaines d’années, et par tout le monde Ce que demande chaque déclaration d’archivage, et qui fournit quoi Un formulaire d’archivage que le vérificateur accepte Comment un fichier prêt pour la presse est contrôlé à la place Les vingt-trois profils de couleur sur lesquels le vérificateur s’est prononcé Ce que le vérificateur tranche, et ce qui est encore en cours de vérification
D’où viennent ces informations
Textes lus le 27 juillet 2026.
- Qui fabrique le vérificateur gratuit, et qui le finance
-
veraPDF — About the project
Open Preservation Foundation et PDF Association
Ce que nous en faisons : Qui publie le vérificateur, qui a payé pour le construire, et sous quelle licence il est distribué gratuitement. C’est sur cela que repose toute notre affirmation : le verdict sur nos documents vient de l’extérieur.
- Comment le vérificateur gratuit décide qu’un document passe
-
veraPDF documentation — Validation
Open Preservation Foundation et PDF Association
Ce que nous en faisons : Comment le vérificateur arrive à un verdict, et sur quelles variantes il se prononce. Les appels montrés sur cette page, et le nombre de règles que chaque profil rapporte, sont tirés de lui et des profils eux-mêmes.
- La norme du PDF fait pour être conservé, la partie qui contient un autre fichier
-
ISO 19005-3:2012 — Document management — Electronic document file format for long-term preservation — Part 3: Use of ISO 32000-1 with support for embedded files (PDF/A-3)
Organisation internationale de normalisation — octobre 2012
Ce que nous en faisons : La partie derrière le premier chiffre de cette page : la facture de trois pages y est déclarée conforme, au niveau B.
- La norme du PDF fait pour être conservé, quatrième partie
-
ISO 19005-4:2020 — Document management — Electronic document file format for long-term preservation — Part 4: Use of ISO 32000-2 (PDF/A-4)
Organisation internationale de normalisation — novembre 2020
Ce que nous en faisons : La partie derrière le second chiffre, et celle dont le profil énumère les types d’action qu’un document d’archivage a le droit de contenir. C’est à partir de cette liste qu’a été écrite la règle du moteur.
- La norme du PDF qu’un lecteur aveugle peut lire, première partie
-
ISO 14289-1:2014 — Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1)
Organisation internationale de normalisation — décembre 2014
Ce que nous en faisons : Les règles d’accessibilité sur lesquelles le vérificateur tranche à côté de celles d’archivage. Le moteur les écrit, et c’est le vérificateur qui le dit.