PDF/A-3 et Factur-X
Factur-X impose PDF/A-3 parce que c’est la seule variante du PDF d’archivage qui accepte un fichier joint de n’importe quel type. Beaucoup de non-conformités viennent de cette exigence.
Ce qu’est PDF/A
PDF/A (norme ISO 19005) est un PDF conçu pour rester lisible à l’identique dans plusieurs décennies : tout ce qui est nécessaire à l’affichage doit se trouver dans le fichier, et tout ce qui dépend de l’extérieur est interdit. La partie 3 de la norme, publiée en 2012, ajoute une possibilité absente des précédentes : incorporer des fichiers de tout format, dont du XML.
Ce que la norme impose
- Toutes les polices sont incorporées dans le fichier.
- Les couleurs sont définies sans ambiguïté, avec un profil colorimétrique de sortie.
- Aucun chiffrement, aucun mot de passe.
- Pas de JavaScript, pas de contenu audio ou vidéo, pas de lien vers des ressources externes nécessaires à l’affichage.
- Des métadonnées XMP présentes, qui déclarent la partie et le niveau de conformité (
pdfaid:part= 3,pdfaid:conformance= A, B ou U). - Chaque fichier joint est décrit : type MIME, et relation avec le document (
AFRelationship).
Ce que Factur-X ajoute
En plus des métadonnées PDF/A, le PDF porte un schéma d’extension XMP propre à Factur-X, avec quatre champs :
| Champ | Valeur attendue |
|---|---|
fx:DocumentType | INVOICE |
fx:DocumentFileName | factur-x.xml |
fx:Version | 1.0 |
fx:ConformanceLevel | Le profil : MINIMUM, BASIC WL, BASIC, EN 16931 ou EXTENDED |
Le profil annoncé ici doit être celui que déclare le XML. Une divergence est une erreur.
Pourquoi « Enregistrer en PDF » ne suffit pas
L’export PDF d’un traitement de texte ou d’un navigateur produit un PDF ordinaire. Même l’option « PDF/A » de ces outils génère le plus souvent un PDF/A-1 ou A-2, qui n’autorise pas la pièce jointe XML. Et lorsqu’un programme ajoute ensuite le XML à un PDF/A existant, il doit réécrire les métadonnées, faute de quoi le fichier cesse d’être conforme.
La déclaration PDF/A-3 ne suffit pas non plus : un fichier peut porter la mention dans ses métadonnées et enfreindre la norme ailleurs, par exemple avec une police non incorporée. Il faut un validateur qui parcourt tout le fichier. VeriFacturX utilise veraPDF, l’implémentation de référence soutenue par la PDF Association et l’Open Preservation Foundation.
Un doute sur un fichier ? Le contrôle est gratuit et le fichier n’est pas conservé.
Vérifier une facture