← Back to all articles

PDF/UA-1 accessibilité, activée par défaut, via API

SealDoc Team · · 5 min read

La directive européenne sur l’accessibilité (Directive 2019/882) est en vigueur depuis le 28 juin 2025. Ce n’est plus un sujet “on s’en occupera plus tard”. Les banques, opérateurs télécoms, acteurs de l’e-commerce dont le chiffre d’affaires dépasse 10 M€, portails du secteur public et fournisseurs de médias audiovisuels doivent livrer chaque PDF destiné aux clients sous une forme navigable par un utilisateur de lecteur d’écran. Les sanctions varient selon les États membres mais atteignent 100 000 € par infraction aux Pays-Bas et en Allemagne. La directive renvoie à EN 301 549, qui renvoie à ISO 14289-1, c’est-à-dire PDF/UA-1.

SealDoc produit des archives PDF/A-3 depuis deux ans. Ajouter PDF/UA-1 à la même sortie faisait depuis longtemps partie de la feuille de route ; le mandat européen l’a fait passer de “utile” à “porteur pour notre positionnement compliance”. À partir d’aujourd’hui, chaque document généré par SealDoc peut sortir comme un hybride PDF/A-3u tagué et accessible aux lecteurs d’écran, en envoyant un champ supplémentaire dans la requête.

Ce qui change

POST /api/documents/generate et POST /api/invoices/generate acceptent désormais un champ accessibilityLevel. La valeur par défaut est "None", ce qui préserve la sortie binaire du flux existant. Réglez-la sur "PdfUa1" et le convertisseur change de chemin : export PDF tagué avec un arbre de structure, identifiant de métadonnées PDF/UA-1, et un contrôle post-vol veraPDF contre ISO 14289-1.

POST /api/invoices/generate HTTP/1.1
Host: api.sealdoc.eu
X-Api-Key: ...
Content-Type: application/json

{
  "seller": { "name": "FeFem Holding B.V.", "vatNumber": "NL000000000B01", ... },
  "buyer": { "name": "Acme Corp", ... },
  "invoiceNumber": "INV-2026-001",
  "invoiceDate": "2026-05-07",
  "currency": "EUR",
  "vatRate": 0.20,
  "vatLabel": "20% TVA",
  "lines": [ ... ],
  "accessibilityLevel": "PdfUa1"
}

La réponse renvoie le même format jobId que vous connaissez déjà. La PDF que vous pouvez ensuite télécharger comporte un arbre de structure, des textes alternatifs là où c’est nécessaire, des en-têtes de tableau correctement balisés et un attribut de langue. Un lecteur d’écran qui la parcourt annonce “Facture 2026-001. Adresse de facturation : Acme Corp. Sous-total : 1750 euros” au lieu de “Facture 2026 001 Acme Corp 1750”.

Ce que nous avons mesuré

Avant d’activer le drapeau, nous avons fait passer un corpus de 12 documents par la nouvelle pipeline et validé chaque sortie avec verapdf -f ua1. Le corpus couvre des documents minimalistes, des factures simples et complexes, des paragraphes multilingues, du contenu riche en Unicode, des titres profondément imbriqués, des tableaux nus, des tableaux avec en-têtes corrects, des listes imbriquées et un document long de 50 sections.

Résultats : 8 documents sur 12 ont passé l’ensemble des 106 règles ISO 14289-1. Les 4 restants ont passé 105 sur 106 avec le même unique échec (clause 7.4.2, imbrication des titres), causé par l’importateur HTML de LibreOffice qui transforme le premier <h1> en métadonnée Title du document. Notre modèle de facture dans InvoiceHtmlBuilder utilise des paragraphes stylisés au lieu d’un mélange de titres <h1>/<h2>, donc ce cas ne s’applique pas. Une facture représentative obtient 106/106 dans la nouvelle pipeline avec 2778 contrôles veraPDF individuels qui passent tous.

Pourquoi c’est stratégiquement important

La directive européenne sur l’accessibilité est le genre de réglementation qui crée des fenêtres d’achat sous panique. Les responsables compliance cherchent activement maintenant, la maturité des fournisseurs est inégale, et la plupart des options existantes sont des outils de bureau (axesPDF Quickfix), des bibliothèques Java sous licence entreprise (iText avec le module Pdf/UA), ou des services de remédiation manuelle facturés au document. Aucun de ceux-là n’est API-first, aucun ne produit un hybride PDF/A-3 + PDF/UA-1 dans le même appel, et aucun n’est souverain européen par construction.

Nous avons construit notre version sur l’export PDF tagué natif de LibreOffice et le validateur Universal Accessibility open source de veraPDF. Aucune bibliothèque commerciale n’est impliquée. Le coût d’infrastructure marginal au-dessus de notre pipeline PDF/A-3 existante est négligeable. Nous pouvons livrer ceci à nos points de prix existants sans perte de marge.

Ce qui est dans le périmètre et ce qui ne l’est pas

Dans le périmètre : documents et factures que SealDoc génère lui-même à partir de votre entrée structurée (Markdown, HTML ou JSON de facture). La structure du modèle est sous notre contrôle, le chemin de conversion est sous notre contrôle, et nous pouvons garantir la qualité de sortie.

Pas encore dans le périmètre : auto-remédiation de PDF arbitraires téléversés. Prendre une plaquette de 30 pages réalisée par un graphiste sous InDesign il y a cinq ans et déduire sa structure sémantique à partir d’heuristiques de mise en page est un problème de recherche de plusieurs mois avec une qualité de sortie incertaine. Nous ne promettons pas ce que nous ne pouvons pas livrer. Si vous en avez besoin : contactez-nous, il existe des intégrations partenaires qui ont du sens ici.

Niveau d’abonnement

PDF/UA-1 est une fonctionnalité Growth-et-au-dessus (slug pdf_ua dans l’ensemble des fonctionnalités de votre tarif). Les niveaux Developer et Starter continuent de recevoir des PDF/A-3 non tagués par défaut. Le drapeau est rejeté avec un 402 Payment Required si votre tarif ne l’inclut pas, avec la cible d’upgrade nommée dans la réponse afin que votre SDK client puisse rediriger vers la bonne page.

Si vous êtes sur Starter et qu’un client entreprise vous demande des factures accessibles : c’est une conversation Growth, et nous sommes ravis de l’avoir.

Le valider vous-même

Chaque sortie PDF/UA-1 de SealDoc passe le même validateur verapdf -f ua1 que les États membres de l’UE citent dans leurs audits compliance. Téléchargez une PDF générée, exécutez veraPDF localement, et vous verrez la même ligne passedRules="106" failedRules="0" que nous publions dans nos benchmarks internes. Nous ne vous demandons pas de prendre la revendication marketing sur parole ; le validateur est open source, la norme est publiée par l’ISO, et la sortie est binaire-reproductible par requête.

Sprint 53 livre PDF/UA-1 aujourd’hui. Sprint 53 était estimé à six jours et demi de travail d’ingénierie. Nous sommes passés sous le budget parce que la pipeline de conversion existante faisait déjà l’essentiel du travail ; la revendication marketing “la seule API souveraine européenne livrant Factur-X 1.0 plus PDF/UA-1 dans un seul appel” est désormais réellement vraie et validée.


← Back to all articles