Aller au contenu

Accueil de la conformité : ce que NextPDF produit et qui établit qu'un fichier est conforme

Énoncé de la limite. Prendre en charge un profil ne vaut pas conformité ; un validateur indépendant détermine la conformité.

Cette page recense les profils standard que NextPDF Core cible. Chaque page de cette section suit une règle unique, directement issue des normes elles-mêmes : la bibliothèque produit une sortie destinée à être conforme à un profil, et un validateur indépendant — veraPDF, un vérificateur PDF/UA, un validateur Schematron de facture électronique ou l’autorité destinataire — détermine si un fichier donné est réellement conforme. ISO 19005-4 §6.7.3 l’énonce explicitement pour le PDF/A : les marqueurs pdfaid:part/pdfaid:rev émis par un générateur ne déterminent pas, à eux seuls, la conformité. Cette détermination est effectuée selon la clause de conformité de la norme, par un processus extérieur à la bibliothèque productrice.

NextPDF n’affirme pas la conformité. Il émet les artefacts structurels exigés par un profil. Lorsqu’un profil est verrouillé, l’échec se produit immédiatement à la frontière de l’API, de sorte qu’une capacité manquante se manifeste par une erreur claire plutôt que par un fichier silencieusement non conforme.

Fenêtre de terminal
composer require nextpdf/core:^3

Certains des profils ci-dessous exigent le package Premium nextpdf/pro (indiqué page par page). Core fournit le discriminateur de conformité (NextPDF\Conformance\ConformanceMode) et les validateurs de flux d’octets dans NextPDF\Compliance ; le chemin de génération OutputIntent / ICC / XMP pour les profils d’archivage est fourni par nextpdf/pro.

NextPDF rattache un document à un contrat de conformité au moyen d’un unique discriminateur typé, NextPDF\Conformance\ConformanceMode. L’énumération est l’unique source de vérité pour savoir quel contrat ISO le générateur doit honorer. Elle comporte des cas pour Plain, PdfUa1, PdfUa2, PdfA2, PdfA3/PdfA3b/PdfA3u, et PdfA4/PdfA4e/PdfA4f. Le générateur lit le mode et émet la structure requise ; il ne positionne jamais d’indicateur « ce fichier est conforme ».

Trois limites s’appliquent à toutes les pages de cette section :

  • Prise en charge ≠ conformité. Émettre les métadonnées exigées par un profil est une capacité, pas un verdict.
  • Validation ≠ certification. Exécuter un validateur sans erreur signalée fournit une preuve, pas un certificat.
  • Un profil testé ≠ certification. Les tests internes de NextPDF vérifient que les octets émis correspondent aux clauses citées ; ils ne constituent pas un audit accrédité.

Les points d’entrée liés à la conformité dans NextPDF\Core\Document :

MéthodeEffetNiveau
enablePdfA(?object $version = null)Rattache le document à un cas ConformanceMode PDF/A (par défaut PdfA4) ; planifie OutputIntent + ICC + XMP au moment de save(). Lève InvalidConfigException si nextpdf/pro est absent.API Core, moteur Premium
enableTaggedPdf(string $lang = 'en', ?ConformancePolicy $policy = null)Définit ConformanceMode::PdfUa2, connecte l’émetteur de contenu balisé et valide la balise de langue par rapport à la politique.Core
<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use NextPDF\Core\Document;
$doc = Document::createStandalone();
$doc->enableTaggedPdf('en'); // ConformanceMode::PdfUa2
$doc->setTitle('Conformance index sample');
$doc->writeHtml('<h1>Hello</h1><p>Tagged content.</p>');
$doc->save(getenv('NEXTPDF_COOKBOOK_OUTPUT') ?: __DIR__ . '/out.pdf');

Sans objet. Les pages propres à chaque profil contiennent les exemples de production exécutables ; cet index est une page de routage.

  • L’index n’affirme aucun comportement. Les pages propres à chaque profil contiennent les tableaux de revendications vérifiées. Cette page énonce seulement la règle directrice.
  • Un nom de profil dans les métadonnées est une revendication, pas une preuve. Un lecteur qui trouve pdfaid:part=4 y voit l’intention du producteur, pas la preuve que le fichier est conforme.
  • Le verrouillage des capacités provoque un échec immédiat. Une installation Core seule qui appelle un chemin d’archivage Premium reçoit InvalidConfigException avec un message de mise à niveau, jamais un fichier silencieusement non conforme.

Sans objet pour cet index. Les pages propres à chaque profil déclarent leurs propres budgets.

Les profils de conformité contraignent la structure, pas la posture face aux menaces. Le PDF/A-4 interdit le chiffrement ; le PDF/UA-2 impose une structure accessible. Ni l’un ni l’autre n’est un contrôle de sécurité. Consulte le centre de confiance pour le modèle de sécurité du moteur.

RevendicationNormeClausereference_id
Les marqueurs pdfaid du producteur ne déterminent pas à eux seuls la conformité ; la détermination est effectuée selon la clause de conformité de la norme (c’est-à-dire par un validateur ou un processus externe, pas par la bibliothèque).ISO 19005-4§6.7.3
La conformité PDF/UA-2 est évaluée par rapport aux exigences de conformité de la norme, et non affirmée par le logiciel producteur.ISO 14289-2§7.2.2
Un fichier PDF 2.0 conforme doit satisfaire les exigences définies relatives à la structure du fichier et au trailer ; la bibliothèque les émet mais ne juge pas le résultat.ISO 32000-2§7.5.5

Les citations sont des pointeurs associant clause-id et reference_id vers le corpus de vérification. Aucun texte de norme n’est reproduit.