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

CampoFinalidade
ProfileSeleciona detecção automática baseada em metadados, validação de base, engenharia ou arquivos associados
MaxObjectsLimita a travessia iterativa do grafo de objetos e tem padrão de 1.000.000 de objetos
MaxIssuesLimita diagnósticos retidos e tem padrão de 1.024 problemas
CheckEmbeddedFontsVerifica se as fontes de renderização têm um programa de fonte incorporado
CheckAnnotationAppearancesVerifica sinalizadores de anotação e fluxos de aparência normal
CheckOptionalContentVerifica 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

APIs relacionadas