THotPDF.ValidatePDFUA2Structure Method
Exécute une validation de structure PDF/UA-2 bornée sur un graphe d’objets producteur ou chargé et renvoie des diagnostics structurés stables sans muter le document
Déclaration
function ValidatePDFUA2Structure(
const Options: THPDFUA2ValidationOptions;
out Issues: THPDFUA2ValidationIssues): boolean; overload;
function ValidatePDFUA2Structure(
const Options: THPDFUA2ValidationOptions;
out Findings: THPDFComplianceFindings): boolean; overload;
Unité
HPDFDoc
Options de validation
Utilisez THPDFUA2ValidationOptions.Default pour une validation de génération stricte, ou ajustez les politiques sémantiques individuelles pour un diagnostic à l’entrée
| Champ | Rôle |
|---|---|
HeadingPolicy | Ignore, diagnostique ou rejette les niveaux de titres sautés |
AllowDocumentFragmentHeadingStarts | Réinitialise le contexte de titres dans un DocumentFragment |
CheckDocumentSemantics | Vérifie la langue du Catalog, les métadonnées, le titre affiché, le contenu facultatif et les fichiers intégrés |
CheckHumanReadableStrings | Rejette les caractères Unicode à usage privé dans les chaînes lisibles par un humain |
CheckAnnotationSemantics | Vérifie l’ordre de tabulation des pages, la propriété des annotations, les rôles, les indicateurs, les descriptions et les flux d’apparence |
CheckFormSemantics | Vérifie les champs AcroForm, les widgets, les libellés, les actions, les options et les valeurs riches |
CheckNavigationSemantics | Vérifie les destinations de structure, les signets et les arbres de numérotation de pages imbriqués |
RequireListLabels | Exige un Lbl pour chaque élément de liste numéroté |
RequireExplicitTableHeaderAssociations | Signale les cellules de données qui ne dépendent que de l’inférence de portée |
CheckListSemantics | Vérifie la numérotation, les chaînes de continuation, les légendes, les libellés, les corps et le placement direct du contenu réel |
CheckTableSemantics | Vérifie la géométrie bornée de la grille, les groupes de lignes, les fusions, les portées et les associations d’en-têtes locales au tableau |
CheckRubyWarichuSequences | Vérifie les séquences exactes d’enfants directs exigées pour Ruby et Warichu |
CheckPronunciationHints | Vérifie les types d’entrées de prononciation et les lexiques PLS intégrés indirects |
RequireStructureAssociatedFiles | Exige que chaque fichier associé du catalogue soit atteignable depuis la structure |
RequireFormulaTextAlternative | Exige Alt, ActualText ou un MathML associé pour les formules |
MaxObjects | Borne le balayage des objets indirects et vaut 1 000 000 d’objets par défaut |
MaxIssues | Borne les diagnostics conservés et vaut 256 constats par défaut |
Valeur de retour
Renvoie True uniquement lorsqu’aucun diagnostic uisError ne subsiste
Diagnostics
THPDFUA2IssueSeverity distingue avertissements et erreurs, tandis que chaque THPDFUA2ValidationIssue porte un code à espace de noms stable, la clause applicable, le chemin d’objet, le numéro d’objet, l’index de page à base zéro lorsqu’il est connu et un message lisible par un humain dans le tableau THPDFUA2ValidationIssues
- La validation ne crée jamais un
StructTreeRootmanquant ni un dictionnaire d’espaces de noms - Les role maps conscientes des espaces de noms sont résolues transitivement avec détection de cycles et de profondeur
- Métadonnées du document, chaînes lisibles par un humain, contenu facultatif, éléments de structure, liens parents inverses, attributs, annotations, formulaires, navigation, fichiers associés, titres, listes, tableaux, Ruby, Warichu, indices de prononciation, formules et MathML sont contrôlés en une seule passe bornée
- La propriété des annotations chargées est résolue depuis le ParentTree physique et prend en charge les entrées
Kscalaires ou tableaux sans dépendre de l’état du producteur - La navigation locale exige des destinations de structure, applique
SDavant un repli compatibleDet valide les arbres de numérotation de pages imbriqués - Les propriétés XMP sont résolues par URI d’espace de noms, si bien que les préfixes alternatifs valides restent interopérables
- Les diagnostics de tableau distinguent les fusions invalides, les intersections de cellules, les lignes et groupes de lignes irréguliers, les IDs inter-tableaux, les références d’en-têtes dupliquées ou cycliques et les associations algorithmiques manquantes
- Les diagnostics de liste distinguent la numérotation invalide, le contenu non enveloppé, la structure de libellés et de corps, les références de continuation ordonnées de même niveau et les cycles de continuation
- La géométrie de tableau étendue partage la borne
MaxObjectset déclenche un échec sûr avecua2.table.limit.cells ua2.limit.objectsdéclenche un échec sûr avant de balayer un graphe surdimensionné
Constats lisibles par machine
La surcharge THPDFComplianceFindings projette la même passe de validation bornée dans le modèle de conformité partagé sans changer l’ordre de validation ni muter le graphe
Chaque constat identifie PDF/UA-2, la sévérité, l’ID de règle, la clause de la norme, le chemin, le numéro d’objet, l’index de page, le message et un état de réparation crsNotAttempted