Aller au contenu

Sélectionner un mode de conformité via Connect

Limite. Définir un mode de conformité câble le catalogue et les métadonnées attendus par la norme correspondante. Cela amène le moteur à produire une sortie destinée à se conformer à cette norme. Cela ne rend pas le document « conforme » — c’est un validateur (par exemple veraPDF) qui détermine la conformité. Lis chaque affirmation de « conformité » de cette page comme « destinée à se conformer ; c’est le validateur qui détermine le résultat ».

Un document possède exactement un discriminant de conformité : mode simple, mode balisé/PDF-UA ou mode PDF/A. Ce discriminant détermine le câblage de catalogue, de structure et de métadonnées que le writer émet. Cette recette définit ce discriminant via les transports Connect. Le setter du mode balisé fait partie du cœur. Le setter du mode PDF/A-4 relève définitivement du palier Premium (ADR-011) et ne s’enregistre que lorsque nextpdf/premium est installé aux côtés du serveur.

Si tu appelles les deux setters, les deux piles de fonctionnalités se superposent. Le discriminant reste toutefois une valeur unique : le dernier appel l’emporte, et un avertissement d’écrasement est émis pour que l’outillage puisse constater le remplacement.

Fenêtre de terminal
composer require nextpdf/server

Vérifie que le setter du mode PDF/A est présent avec un appel à tools/list. Voir /connect/tool-catalog/.

Le marqueur de conformité déclare une conformité visée ; c’est un validateur qui détermine la conformité réelle (PDF/A-4 §6.7.3). La conformité est déterminée au regard des exigences de la norme, et non affirmée par le logiciel producteur (PDF/A-4 §6.7.3). Le mode balisé câble l’arbre de structure et les entrées de catalogue mark-info (ISO 32000-2 §14.7).

Un changement de mode est donc une opération de câblage. Il prépare le document à être vérifié au regard de la norme. À lui seul, il ne constitue pas un résultat de conformité.

Les noms d’outils sont vérifiés par rapport au registre en cours d’exécution via tools/list. Le catalogue de référence est /connect/tool-catalog/. Cette recette ne duplique pas le décompte des outils. Sélectionne le discriminant avant le premier appel de contenu. Le writer fige le mode dès l’émission de la première page.

Crée un document, puis bascule-le vers le mode balisé/PDF-UA :

{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "enable_tagged_pdf",
"arguments": { "document_id": "<id>", "language": "en" }
}
}

La réponse indique les prédicats du mode actif (balisé / accessibilité / archivage) que le writer consulte à chaque site d’émission. Elle indique aussi le câblage de catalogue ajouté. Les prédicats décrivent ce que le writer va émettre ; ils n’affirment pas que le résultat est conforme.

Bascule vers PDF/A-4 (palier Premium), puis vérifie. Traite un statut autre que succès comme un résultat normal à inspecter :

{
"jsonrpc": "2.0",
"id": 7,
"method": "tools/call",
"params": {
"name": "enable_pdf_a",
"arguments": { "document_id": "<id>", "version": "PdfA4" }
}
}

Si les deux setters sont appelés, le discriminant se résout en faveur du dernier appel, et un avertissement d’écrasement est émis. Lance le contrôle de normes pour chaque variante dont la pile de fonctionnalités reste câblée, car le câblage est additif même si le discriminant unique, lui, ne l’est pas.

  • Mode défini après la première page : rejeté avec une erreur indiquant que le mode est figé. Définis le mode immédiatement après avoir créé le document.
  • Setter PDF/A sans Premium : échoue, car il relève définitivement du palier Premium (ADR-011). Un document PDF 2.0 simple n’a besoin d’aucun mode PDF/A.
  • Cas d’énumération inconnu : rejeté. Le cas d’archivage pris en charge est PDF/A-4 (les profils PDF/A historiques ont été retirés).
  • Opération interdite par le mode archivage (par exemple du JavaScript embarqué) : rejetée tant que le prédicat d’archivage est actif.
  • Incohérence variante/mode au contrôle : renvoie un constat de marqueur non conforme. Passe la variante correspondant au mode actif, ou les deux lorsque les deux piles sont câblées.

Le budget indiqué dans le front-matter est un plafond documentaire. Le câblage du mode n’ajoute aucune phase distincte mesurable.

Sans objet, au-delà des recommandations générales sur le transport Connect.

AffirmationClausereference_id
Le marqueur de conformité déclare une conformité visée ; c’est un validateur qui tranchePDF/A-4 §6.7.3
Conformité déterminée au regard des exigences, non affirmée par le producteurPDF/A-4 §6.7.3
Le mode balisé câble l’arbre de structure et les entrées mark-infoISO 32000-2 §14.7

Sélectionner un mode de conformité amène le moteur à produire une sortie destinée à se conformer. Ce n’est pas une certification de conformité. C’est un validateur qui détermine le résultat.

Le setter du mode PDF/A-4 relève définitivement du palier Premium (ADR-011) et ne s’enregistre que lorsque nextpdf/premium est installé aux côtés du serveur. Le setter du mode balisé est une capacité du cœur.

Les setters de mode et le contrôle s’invoquent de la même manière via le tools/call MCP, le point de terminaison d’outil REST et le service gRPC, à travers l’exécuteur d’outils partagé.

Les setters de mode sont classés au niveau prudence. Le contrôle est en lecture seule. Aucun n’est approval_required par défaut. Une dérogation d’opérateur ne peut qu’élever le risque. Voir /connect/hitl-risk-tiers/.

Ces outils ne déclenchent pas le verrou, sauf si une dérogation d’opérateur fait passer l’un d’eux à approval_required. Le contrat de l’enveloppe et du jeton à usage unique est décrit dans /connect/hitl-risk-tiers/.

  • /cookbook/connect/compliance-check/ — valider au regard de la norme active.
  • /cookbook/connect/tagged-pdf-tutorial/ — parcours PDF balisé de bout en bout.
  • /connect/tool-catalog/ — le calcul de l’ensemble d’outils par palier.
  • /connect/hitl-risk-tiers/ — le modèle de risque et le verrou.