THotPDF.ValidatePDFUA2Structure Method
Executa validação limitada de estrutura PDF/UA-2 sobre um grafo de objetos de produtor ou carregado e retorna diagnósticos estruturados estáveis sem mutar o documento
Declaração
function ValidatePDFUA2Structure(
const Options: THPDFUA2ValidationOptions;
out Issues: THPDFUA2ValidationIssues): boolean; overload;
function ValidatePDFUA2Structure(
const Options: THPDFUA2ValidationOptions;
out Findings: THPDFComplianceFindings): boolean; overload;
Unidade
HPDFDoc
Opções de validação
Use THPDFUA2ValidationOptions.Default para validação estrita de geração ou ajuste políticas semânticas individuais para diagnósticos de entrada
| Campo | Finalidade |
|---|---|
HeadingPolicy | Ignora, diagnostica ou rejeita níveis de cabeçalho pulados |
AllowDocumentFragmentHeadingStarts | Redefine o contexto de cabeçalho dentro de DocumentFragment |
RequireListLabels | Exige um Lbl para cada item de lista numerada |
RequireExplicitTableHeaderAssociations | Relata células de dados que dependem apenas de inferência de escopo |
CheckListSemantics | Verifica numeração, cadeias de continuação, legendas, rótulos, corpos e posicionamento direto de conteúdo real |
CheckTableSemantics | Verifica geometria de grade limitada, grupos de linhas, extensões, escopos e associações de cabeçalho locais da tabela |
CheckRubyWarichuSequences | Verifica as sequências exatas de filhos diretos exigidas para Ruby e Warichu |
CheckPronunciationHints | Verifica tipos de entrada de pronúncia e léxicos PLS incorporados indiretos |
RequireStructureAssociatedFiles | Exige que todo arquivo associado do catálogo seja alcançável a partir da estrutura |
RequireFormulaTextAlternative | Exige Alt, ActualText ou MathML associado para fórmulas |
MaxObjects | Limita a varredura de objetos indiretos e tem padrão de 1.000.000 de objetos |
MaxIssues | Limita diagnósticos retidos e tem padrão de 256 problemas |
Valor de retorno
Retorna True apenas quando nenhum diagnóstico uisError permanece
Diagnósticos
THPDFUA2IssueSeverity distingue avisos e erros, enquanto cada THPDFUA2ValidationIssue carrega um código com namespace estável, cláusula aplicável, caminho do objeto, número do objeto, índice de página baseado em zero quando conhecido e mensagem legível no array THPDFUA2ValidationIssues
- A validação nunca cria um
StructTreeRootou dicionário de namespace ausente - Mapas de função com reconhecimento de namespace são resolvidos transitivamente com detecção de ciclo e profundidade
- Elementos de estrutura, backlinks de pai, atributos, anotações, arquivos associados, cabeçalhos, listas, tabelas, Ruby, Warichu, dicas de pronúncia, fórmulas e MathML são verificados em uma passagem limitada
- Diagnósticos de tabela distinguem extensões inválidas, interseções de célula, linhas e grupos de linhas irregulares, IDs entre tabelas, referências de cabeçalho duplicadas ou cíclicas e associações algorítmicas ausentes
- Diagnósticos de lista distinguem numeração inválida, conteúdo não encapsulado, estrutura de rótulo e corpo, referências de continuação ordenadas no mesmo nível e ciclos de continuação
- A geometria expandida de tabela compartilha o limite
MaxObjectse falha fechada comua2.table.limit.cells ua2.limit.objectsfalha fechada antes de verificar um grafo superdimensionado
Achados legíveis por máquina
A sobrecarga THPDFComplianceFindings mapeia a mesma passagem de validação limitada para o modelo de conformidade compartilhado sem alterar a ordem de validação ou mutar o grafo
Cada achado identifica PDF/UA-2, severidade, ID de regra, cláusula padrão, caminho, número do objeto, índice de página, mensagem e um estado de reparo crsNotAttempted