THotPDF.ValidatePDFA4 Method

Valida un grafo di oggetti generato o caricato rispetto ai profili supportati PDF/A-4 base, PDF/A-4e engineering o PDF/A-4f associated-file, e restituisce diagnostica strutturata stabile

Dichiarazione

function ValidatePDFA4(
  const Options: THPDFPDFA4ValidationOptions;
  out Issues: THPDFPDFA4ValidationIssues): boolean; overload;

function ValidatePDFA4(
  const Options: THPDFPDFA4ValidationOptions;
  out Findings: THPDFComplianceFindings): boolean; overload;

Unità

HPDFDoc

Tipi di profilo e severità

THPDFPDFA4Profile = (
  p4pAutomatic,
  p4pBase,
  p4pEngineering,
  p4pAssociatedFiles
);

THPDFPDFA4IssueSeverity = (
  p4isWarning,
  p4isError
);

THPDFPDFA4Profile seleziona l'inferenza dai metadati o un profilo di conformità esplicito, mentre THPDFPDFA4IssueSeverity distingue la diagnostica consultiva dagli errori di validazione

Opzioni

CampoScopo
ProfileSeleziona il rilevamento automatico dai metadati oppure la validazione base, engineering o associated-file
MaxObjectsLimita l'attraversamento iterativo del grafo di oggetti, con default 1.000.000 di oggetti
MaxIssuesLimita la diagnostica conservata, con default 1.024 problemi
MaxDecodedBytesLimita i byte cumulativi decodificati di metadati, ICC e content stream, con default 64 MiB
MaxContentTokensLimita i token cumulativi dei content stream, con default 4.000.000 di token
CheckEmbeddedFontsVerifica che i font di rendering abbiano un programma font incorporato
CheckAnnotationAppearancesControlla i flag delle annotazioni e gli stream delle appearance normali
CheckOptionalContentControlla i nomi e l'unicità delle configurazioni optional content
CheckColourSpacesControlla il colore device effettivamente dipinto, i profili ICC, gli output intents, i default, le immagini, gli shadings, i form e i gruppi di trasparenza
CheckTransparencyControlla l'alpha dipinto, le soft mask, i blend mode e la copertura degli spazi di blending a livello di pagina
CheckCompositeFontsControlla i discendenti Type 0, CIDSystemInfo, la compatibilità CMap e i vincoli CIDToGIDMap
CheckMetadataPacketsControlla ogni metadata stream per i vincoli UTF-8, di packet-header, di envelope RDF e di identificazione PDF/A

Diagnostica

Ogni THPDFPDFA4ValidationIssue riporta severità, un codice con namespace stabile, la clausola ISO 19005-4 applicabile, il percorso dell'oggetto, il numero d'oggetto, l'indice di pagina zero-based quando noto e un messaggio leggibile

L'overload THPDFComplianceFindings espone lo stesso attraversamento tramite il modello condiviso di findings leggibili da macchina, con profilo PDF/A-4 e stato di riparazione crsNotAttempted

Il validatore copre identificazione PDF 2.0, ID del trailer e stato di cifratura, ogni metadata packet, restrizioni Info, header ICC e numeri di canale, output intents di documento e di pagina, colore device dipinto, stato grafico ereditato attraverso array di content stream e Form XObjects annidati, image mask, shadings, trasparenza, incorporamento dei font renderizzati, relazioni dei font compositi, annotazioni e appearance, restrizioni AcroForm, azioni e azioni aggiuntive, associated files, optional content, riferimenti esterni e regole 3D o di allegato specifiche del profilo

I findings su colore e trasparenza si basano sugli operatori di paint, non solo su quelli di impostazione del colore; la tokenization del contenuto e il riuso degli stream decodificati vengono messi in cache, mentre ogni invocazione valuta comunque lo stato grafico ereditato per il proprio contesto di pagina o Form

I limiti su byte decodificati, token di contenuto, oggetti e problemi conservati falliscono in modo sicuro con findings pdfa4.validation.* stabili, prima che un lavoro senza limiti possa proseguire

Esempio

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 di generazione

EndDoc esegue automaticamente il validatore per '4', '4E' e '4F' e solleva un'eccezione prima della serializzazione se resta un errore

La generazione PDF/A-4 omette la voce Info del trailer, PDF/A-4f crea sempre la name tree EmbeddedFiles richiesta, e le annotazioni di allegato file sono accettate solo da PDF/A-4f, dove stream incorporato, Filespec, relazione AF, array AF del Catalog e name tree vengono emessi insieme

API correlate