Método THotPDF.ValidatePDFUA2Structure
Ejecuta una validación de estructura PDF/UA-2 acotada sobre un object graph de producer o cargado y devuelve diagnósticos estructurados estables sin mutar el documento
Declaración
function ValidatePDFUA2Structure(
const Options: THPDFUA2ValidationOptions;
out Issues: THPDFUA2ValidationIssues): boolean; overload;
function ValidatePDFUA2Structure(
const Options: THPDFUA2ValidationOptions;
out Findings: THPDFComplianceFindings): boolean; overload;
Unidad
HPDFDoc
Opciones de validación
Use THPDFUA2ValidationOptions.Default para la validación estricta de generación o ajuste políticas semánticas individuales para diagnósticos de ingesta
| Campo | Propósito |
|---|---|
HeadingPolicy | Ignora, diagnostica o rechaza los niveles de encabezado saltados |
AllowDocumentFragmentHeadingStarts | Reinicia el contexto de encabezados dentro de DocumentFragment |
CheckDocumentSemantics | Verifica el idioma del Catalog, los metadatos, el título mostrado, el optional content y los archivos incrustados |
CheckHumanReadableStrings | Rechaza caracteres Unicode de uso privado en cadenas legibles para personas |
CheckAnnotationSemantics | Verifica el orden de tab de página, la propiedad de anotaciones, roles, flags, descripciones y appearance streams |
CheckFormSemantics | Verifica campos AcroForm, widgets, etiquetas, actions, opciones y valores enriquecidos |
CheckNavigationSemantics | Verifica los structure destinations, los outlines y los number trees anidados de page labels |
RequireListLabels | Exige un Lbl por cada elemento de lista numerada |
RequireExplicitTableHeaderAssociations | Reporta las celdas de datos que dependen solo de la inferencia de scope |
CheckListSemantics | Verifica la numeración, las cadenas de continuación, captions, etiquetas, cuerpos y la ubicación directa del contenido real |
CheckTableSemantics | Verifica la geometría acotada del grid, los grupos de filas, spans, scopes y las asociaciones de headers locales de la tabla |
CheckRubyWarichuSequences | Verifica las secuencias exactas de hijos directos que Ruby y Warichu requieren |
CheckPronunciationHints | Verifica los tipos de entrada de pronunciación y los lexicones PLS incrustados indirectos |
RequireStructureAssociatedFiles | Exige que todo archivo asociado del catálogo sea alcanzable desde la estructura |
RequireFormulaTextAlternative | Exige Alt, ActualText o MathML asociado para las fórmulas |
MaxObjects | Acota el escaneo de objetos indirectos y por defecto admite 1,000,000 de objetos |
MaxIssues | Acota los diagnósticos retenidos y por defecto admite 256 issues |
Valor de retorno
Devuelve True solo cuando no queda ningún diagnóstico uisError
Diagnósticos
THPDFUA2IssueSeverity distingue warnings y errores, mientras que cada THPDFUA2ValidationIssue lleva un código con namespace estable, la cláusula aplicable, la ruta del objeto, el número de objeto, el índice de página basado en cero cuando se conoce y un mensaje legible para personas en el array THPDFUA2ValidationIssues
- La validación nunca crea un
StructTreeRooto diccionario de namespace faltante - Los role maps conscientes de namespace se resuelven de forma transitiva con detección de ciclos y profundidad
- Los metadatos del documento, las cadenas legibles para personas, el optional content, los elementos de estructura, los parent backlinks, los atributos, las anotaciones, los forms, la navegación, los archivos asociados, los encabezados, las listas, las tablas, Ruby, Warichu, las pistas de pronunciación, las fórmulas y el MathML se verifican en una sola pasada acotada
- La propiedad de anotaciones cargadas se resuelve desde el ParentTree físico y soporta entradas
Kescalares o en array sin depender del estado del producer - La navegación local exige structure destinations, aplica
SDantes de un fallback compatible conDy valida los number trees anidados de page labels - Las propiedades XMP se resuelven por URI de namespace, así que los prefijos alternativos válidos siguen siendo interoperables
- Los diagnósticos de tablas distinguen spans inválidos, intersecciones de celdas, filas y grupos de filas irregulares, IDs entre tablas, referencias de headers duplicadas o cíclicas y asociaciones algorítmicas faltantes
- Los diagnósticos de listas distinguen numeración inválida, contenido sin envolver, estructura de etiqueta y cuerpo, referencias de continuación del mismo nivel y ciclos de continuación
- La geometría expandida de tablas comparte el límite
MaxObjectsy falla de forma cerrada conua2.table.limit.cells ua2.limit.objectsfalla de forma cerrada antes de escanear un graph de tamaño excesivo
Findings legibles por máquina
El overload con THPDFComplianceFindings mapea la misma pasada de validación acotada al modelo de conformidad compartido sin cambiar el orden de validación ni mutar el graph
Cada finding identifica PDF/UA-2, severidad, ID de regla, cláusula del estándar, ruta, número de objeto, índice de página, mensaje y un estado de reparación crsNotAttempted