THotPDF.ValidatePDFUA2Structure Method
Esegue una validazione limitata della struttura PDF/UA-2 su un grafo di oggetti producer o caricato e restituisce diagnostica strutturata stabile senza mutare il documento
Dichiarazione
function ValidatePDFUA2Structure(
const Options: THPDFUA2ValidationOptions;
out Issues: THPDFUA2ValidationIssues): boolean; overload;
function ValidatePDFUA2Structure(
const Options: THPDFUA2ValidationOptions;
out Findings: THPDFComplianceFindings): boolean; overload;
Unità
HPDFDoc
Opzioni di validazione
Usa THPDFUA2ValidationOptions.Default per una validazione rigorosa della generazione, oppure regola le singole policy semantiche per la diagnostica in ingresso
| Campo | Scopo |
|---|---|
HeadingPolicy | Ignora, segnala o respinge i livelli di heading saltati |
AllowDocumentFragmentHeadingStarts | Azzera il contesto degli heading dentro DocumentFragment |
CheckDocumentSemantics | Controlla lingua del Catalog, metadati, titolo visualizzato, optional content ed embedded file |
CheckHumanReadableStrings | Respinge i caratteri Unicode private-use nelle stringhe leggibili |
CheckAnnotationSemantics | Controlla l'ordine di tabulazione della pagina, la proprietà delle annotazioni, ruoli, flag, descrizioni e stream delle appearance |
CheckFormSemantics | Controlla campi AcroForm, widget, etichette, azioni, opzioni e valori rich |
CheckNavigationSemantics | Controlla le structure destination, gli outline e le number tree annidate delle page label |
RequireListLabels | Richiede un Lbl per ogni voce numerata di elenco |
RequireExplicitTableHeaderAssociations | Segnala le celle di dati che dipendono solo dall'inferenza dello scope |
CheckListSemantics | Controlla numerazione, catene di continuazione, didascalie, etichette, corpi e piazzamento diretto del contenuto reale |
CheckTableSemantics | Controlla la geometria limitata della griglia, i gruppi di righe, span, scope e le associazioni fra header locali alla tabella |
CheckRubyWarichuSequences | Controlla le sequenze esatte di figli diretti richieste per Ruby e Warichu |
CheckPronunciationHints | Controlla i tipi di voce di pronuncia e i lessici PLS incorporati indiretti |
RequireStructureAssociatedFiles | Richiede che ogni associated file del catalogo sia raggiungibile dalla struttura |
RequireFormulaTextAlternative | Richiede Alt, ActualText o MathML associato per le formule |
MaxObjects | Limita la scansione degli oggetti indiretti, con default 1.000.000 di oggetti |
MaxIssues | Limita la diagnostica conservata, con default 256 problemi |
Valore restituito
Restituisce True solo quando non resta alcuna diagnostica uisError
Diagnostica
THPDFUA2IssueSeverity distingue warning ed errori, mentre ogni THPDFUA2ValidationIssue porta un codice con namespace stabile, la clausola applicabile, il percorso dell'oggetto, il numero d'oggetto, l'indice di pagina zero-based quando noto e un messaggio leggibile nell'array THPDFUA2ValidationIssues
- La validazione non crea mai un
StructTreeRooto un dizionario di namespace mancanti - Le role map consapevoli dei namespace vengono risolte transitivamente, con rilevamento di cicli e profondità
- Metadati del documento, stringhe leggibili, optional content, elementi di struttura, backlink dei padri, attributi, annotazioni, form, navigazione, associated files, heading, elenchi, tabelle, Ruby, Warichu, pronunciation hint, formule e MathML vengono controllati in un unico passaggio limitato
- La proprietà delle annotazioni caricate viene risolta dal ParentTree fisico e supporta voci
Kscalari o array senza fare affidamento allo stato del producer - La navigazione locale richiede structure destination, applica
SDprima di un fallback compatibile suDe valida le number tree annidate delle page label - Le proprietà XMP vengono risolte per URI di namespace, così i prefissi alternativi validi restano interoperabili
- La diagnostica delle tabelle distingue span non validi, intersezioni di celle, righe e gruppi di righe irregolari, ID fra tabelle, riferimenti agli header duplicati o ciclici e associazioni algoritmiche mancanti
- La diagnostica degli elenchi distingue numerazione non valida, contenuto non incapsulato, struttura di etichetta e corpo, riferimenti di continuazione ordinati allo stesso livello e cicli di continuazione
- La geometria estesa delle tabelle condivide il limite
MaxObjectse fallisce in modo sicuro conua2.table.limit.cells ua2.limit.objectsfallisce in modo sicuro prima di scandire un grafo sovradimensionato
Findings leggibili da macchina
L'overload THPDFComplianceFindings mappa lo stesso passaggio di validazione limitato nel modello di conformità condiviso, senza cambiare l'ordine di validazione né mutare il grafo
Ogni finding identifica PDF/UA-2, severità, ID della regola, clausola dello standard, percorso, numero d'oggetto, indice di pagina, messaggio e uno stato di riparazione crsNotAttempted