THotPDF.ValidatePDFA4 Method

Validira generisani ili učitani graf objekata prema podržanom PDF/A-4 base, PDF/A-4e engineering ili PDF/A-4f associated-file profilu i vraća stabilnu strukturiranu dijagnostiku

Deklaracija

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

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

Unit

HPDFDoc

Tipovi profila i ozbiljnosti

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

THPDFPDFA4IssueSeverity = (
  p4isWarning,
  p4isError
);

THPDFPDFA4Profile bira zaključivanje iz metapodataka ili eksplicitan profil usklađenosti, dok THPDFPDFA4IssueSeverity razdvaja savetodavnu dijagnostiku od validacionih grešaka

Opcije

PoljeSvrha
ProfileBira automatsku detekciju iz metapodataka, base, engineering ili associated-file validaciju
MaxObjectsOgraničava iterativni obilazak grafa objekata, podrazumevano 1.000.000 objekata
MaxIssuesOgraničava zadržanu dijagnostiku, podrazumevano 1.024 problema
MaxDecodedBytesOgraničava kumulativne dekodovane bajtove metapodataka, ICC i content stream-ova, podrazumevano 64 MiB
MaxContentTokensOgraničava kumulativne tokene content stream-ova, podrazumevano 4.000.000 tokena
CheckEmbeddedFontsProverava da li fontovi za renderovanje imaju ugrađen font program
CheckAnnotationAppearancesProverava zastavice anotacija i normalne appearance stream-ove
CheckOptionalContentProverava imena i jedinstvenost optional-content konfiguracija
CheckColourSpacesProverava iscrtanu device boju, ICC profile, output intent-e, podrazumevane vrednosti, slike, shading-e, forme i grupe transparentnosti
CheckTransparencyProverava iscrtani alpha, soft maske, blend režime i pokrivenost blending prostora na nivou stranice
CheckCompositeFontsProverava Type 0 potomke, CIDSystemInfo, CMap kompatibilnost i CIDToGIDMap ograničenja
CheckMetadataPacketsProverava svaki metadata stream za UTF-8, packet header, RDF omotač i PDF/A identification ograničenja

Dijagnostika

Svaki THPDFPDFA4ValidationIssue izveštava ozbiljnost, stabilan kod sa imenskim prostorom, primenjivu ISO 19005-4 klauzulu, putanju objekta, broj objekta, indeks stranice od nule kad je poznat i poruku čitljivu ljudima

Overload sa THPDFComplianceFindings izlaže isti obilazak kroz deljeni model nalaza čitljivih mašini, sa profilom PDF/A-4 i repair stanjem crsNotAttempted

Validator pokriva PDF 2.0 identifikaciju, trailer ID i stanje šifrovanja, svaki metadata paket, Info ograničenja, ICC zaglavlja i brojeve kanala, output intent-e dokumenta i stranica, iscrtanu device boju, nasleđeno grafičko stanje kroz nizove content stream-ova i ugnježdene Form XObject-e, maske slika, shading-e, transparentnost, ugrađivanje fontova za renderovanje, odnose kompozitnih fontova, anotacije i izglede, AcroForm ograničenja, akcije i dodatne akcije, associated files, optional content, spoljne reference i pravila specifična za profil za 3D ili priloge

Nalazi o boji i transparentnosti zasnivaju se na paint operatorima, a ne samo na operatorima postavljanja boje; tokenizacija sadržaja i ponovno korišćenje dekodovanih stream-ova se keširaju, dok svaki poziv i dalje evaluira nasleđeno grafičko stanje za svoj kontekst stranice ili Form-a

Limiti za dekodovane bajtove, content tokene, objekte i zadržane probleme bezbedno propadaju sa stabilnim nalazima pdfa4.validation.* pre nego što neograničen rad može da nastavi

Primer

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;

Ponašanje pri generisanju

EndDoc automatski pokreće validator za '4', '4E' i '4F' i podiže izuzetak pre serijalizacije kada ostane greška

Generisanje PDF/A-4 izostavlja trailer Info unos, PDF/A-4f uvek kreira traženi EmbeddedFiles name tree, a anotacije priloga fajla prihvata samo PDF/A-4f gde se ugrađeni stream, Filespec, AF odnos, Catalog AF niz i name tree emituju zajedno

Povezani API-ji