THotPDF.ValidatePDFA4 Method

Provjerava generirani ili učitani graf objekata protiv podržanog profila osnovnog PDF/A-4, inženjerskog PDF/A-4e ili PDF/A-4f s pridruženim datotekama te vraća stabilne strukturirane dijagnostike

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 odabire zaključivanje iz metapodataka ili eksplicitni profil usklađenosti, dok THPDFPDFA4IssueSeverity razlikuje savjetodavne dijagnostike od pogrešaka provjere

Opcije

PoljeSvrha
ProfileOdabire automatsko otkrivanje na temelju metapodataka, osnovnu, inženjersku provjeru ili provjeru s pridruženim datotekama
MaxObjectsOgraničava iterativni obilazak grafa objekata i zadano iznosi 1 000 000 objekata
MaxIssuesOgraničava zadržane dijagnostike i zadano iznosi 1 024 nalaza
MaxDecodedBytesOgraničava zbrojene dekodirane bajtove metapodataka, ICC-a i tokova sadržaja i zadano iznosi 64 MiB
MaxContentTokensOgraničava zbrojene tokene tokova sadržaja i zadano iznosi 4 000 000 tokena
CheckEmbeddedFontsProvjerava imaju li fontovi za iscrtavanje ugrađeni fontovski program
CheckAnnotationAppearancesProvjerava zastavice anotacija i normalne tokove izgleda
CheckOptionalContentProvjerava nazive i jedinstvenost konfiguracije neobaveznog sadržaja
CheckColourSpacesProvjerava iscrtanu uređajsku boju, ICC profile, namjene izlaza, zadane vrijednosti, slike, sjenčanja, obrasce i skupine prozirnosti
CheckTransparencyProvjerava iscrtanu alfa, meke maske, načine miješanja i pokrivenost prostora miješanja na razini stranice
CheckCompositeFontsProvjerava potomke tipa 0, CIDSystemInfo, usklađenost CMap-a i ograničenja CIDToGIDMap-a
CheckMetadataPacketsProvjerava svaki tok metapodataka za ograničenja UTF-8, zaglavlja paketa, RDF omotnice i PDF/A identifikacije

Dijagnostika

Svaki THPDFPDFA4ValidationIssue izvještava o ozbiljnosti, stabilnom kodiranom kodu, primjenjivoj klauzuli ISO 19005-4, putu objekta, broju objekta, indeksu stranice od nule kada je poznat i poruci čitljivoj čovjeku

Preopterećena inačica THPDFComplianceFindings izlaže isti obilazak kroz zajednički strojno čitljiv model nalaza s profilom PDF/A-4 i stanjem popravka crsNotAttempted

Provjeritelj pokriva identifikaciju PDF 2.0, stanje ID-ja trailera i šifriranja, svaki paket metapodataka, Info ograničenja, ICC zaglavlja i brojeve kanala, namjene izlaza dokumenta i stranice, iscrtanu uređajsku boju, naslijeđeno stanje grafike preko nizova tokova sadržaja i ugniježđenih Form XObjects, maske slika, sjenčanja, prozirnost, ugrađivanje iscrtanih fontova, veze složenih fontova, anotacije i izglede, AcroForm ograničenja, akcije i dodatne akcije, pridružene datoteke, neobavezni sadržaj, vanjske reference te pravila specifična za profil o 3D sadržaju ili privicima

Nalazi o boji i prozirnosti temelje se na operatorima iscrtavanja, a ne samo na operatorima postavljanja boje; tokenizacija sadržaja i ponovna uporaba dekodiranih tokova predmemoriraju se dok svaki poziv i dalje procjenjuje naslijeđeno stanje grafike za vlastiti kontekst stranice ili obrasca

Ograničenja dekodiranih bajtova, tokena sadržaja, objekata i zadržanih nalaza sigurno se prekidaju s stabilnim nalazima pdfa4.validation.* prije nego što se neograničeni rad može nastaviti

Primjer

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 generiranja

EndDoc automatski pokreće provjeritelj za '4', '4E' i '4F' i podiže iznimku prije serializacije kad ostane pogreška

Generacija PDF/A-4 izostavlja unos Info trajlera, PDF/A-4f uvijek stvara potrebno stablo imena EmbeddedFiles, a anotacije privitaka prihvaća samo PDF/A-4f kada se ugrađeni tok, Filespec, AF veza, AF niz kataloga i stablo imena emitiraju zajedno

Povezani API-ji