THotPDF.ValidatePDFA4 Method
Valida um grafo de objetos gerado ou carregado em relação ao perfil suportado de base PDF/A-4, engenharia PDF/A-4e ou arquivos associados PDF/A-4f e retorna diagnósticos estruturados estáveis
Declaração
function ValidatePDFA4(
const Options: THPDFPDFA4ValidationOptions;
out Issues: THPDFPDFA4ValidationIssues): boolean; overload;
function ValidatePDFA4(
const Options: THPDFPDFA4ValidationOptions;
out Findings: THPDFComplianceFindings): boolean; overload;
Unidade
HPDFDoc
Tipos de perfil e severidade
THPDFPDFA4Profile = (
p4pAutomatic,
p4pBase,
p4pEngineering,
p4pAssociatedFiles
);
THPDFPDFA4IssueSeverity = (
p4isWarning,
p4isError
);
THPDFPDFA4Profile seleciona inferência de metadados ou um perfil de conformidade explícito, enquanto THPDFPDFA4IssueSeverity distingue diagnósticos de aviso de erros de validação
Opções
| Campo | Finalidade |
|---|---|
Profile | Seleciona detecção automática baseada em metadados, validação de base, engenharia ou arquivos associados |
MaxObjects | Limita a travessia iterativa do grafo de objetos e tem padrão de 1.000.000 de objetos |
MaxIssues | Limita diagnósticos retidos e tem padrão de 1.024 problemas |
CheckEmbeddedFonts | Verifica se as fontes de renderização têm um programa de fonte incorporado |
CheckAnnotationAppearances | Verifica sinalizadores de anotação e fluxos de aparência normal |
CheckOptionalContent | Verifica nomes e exclusividade da configuração de conteúdo opcional |
Diagnósticos
Cada THPDFPDFA4ValidationIssue relata severidade, um código com namespace estável, a cláusula ISO 19005-4 aplicável, caminho do objeto, número do objeto, índice de página baseado em zero quando conhecido e uma mensagem legível
A sobrecarga THPDFComplianceFindings expõe a mesma travessia por meio do modelo de achados legível por máquina compartilhado com um perfil PDF/A-4 e estado de reparo crsNotAttempted
O validador cobre identificação PDF 2.0, estado de ID do trailer e criptografia, XMP UTF-8 e identificação PDF/A, restrições de Info, intenções de saída, incorporação de fontes, anotações e aparências, restrições de AcroForm, ações e ações adicionais, arquivos associados, conteúdo opcional, referências externas e regras de 3D ou anexos específicas do perfil
Exemplo
var
Options: THPDFPDFA4ValidationOptions;
Issues: THPDFPDFA4ValidationIssues;
begin
Options := THPDFPDFA4ValidationOptions.Default;
Options.Profile := p4pAutomatic;
if not PDF.ValidatePDFA4(Options, Issues) then
raise Exception.CreateFmt('%s at %s',
[String(Issues[0].Code), String(Issues[0].Path)]);
end;
Comportamento de geração
EndDoc executa automaticamente o validador para '4', '4E' e '4F' e gera erro antes da serialização quando um erro permanece
A geração PDF/A-4 omite a entrada Info do trailer, PDF/A-4f sempre cria a árvore de nomes EmbeddedFiles exigida, e anotações de anexo de arquivo são aceitas apenas por PDF/A-4f onde o fluxo incorporado, Filespec, relacionamento AF, array AF do Catálogo e árvore de nomes são emitidos juntos