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
| Polje | Svrha |
|---|---|
Profile | Odabire automatsko otkrivanje na temelju metapodataka, osnovnu, inženjersku provjeru ili provjeru s pridruženim datotekama |
MaxObjects | Ograničava iterativni obilazak grafa objekata i zadano iznosi 1 000 000 objekata |
MaxIssues | Ograničava zadržane dijagnostike i zadano iznosi 1 024 nalaza |
MaxDecodedBytes | Ograničava zbrojene dekodirane bajtove metapodataka, ICC-a i tokova sadržaja i zadano iznosi 64 MiB |
MaxContentTokens | Ograničava zbrojene tokene tokova sadržaja i zadano iznosi 4 000 000 tokena |
CheckEmbeddedFonts | Provjerava imaju li fontovi za iscrtavanje ugrađeni fontovski program |
CheckAnnotationAppearances | Provjerava zastavice anotacija i normalne tokove izgleda |
CheckOptionalContent | Provjerava nazive i jedinstvenost konfiguracije neobaveznog sadržaja |
CheckColourSpaces | Provjerava iscrtanu uređajsku boju, ICC profile, namjene izlaza, zadane vrijednosti, slike, sjenčanja, obrasce i skupine prozirnosti |
CheckTransparency | Provjerava iscrtanu alfa, meke maske, načine miješanja i pokrivenost prostora miješanja na razini stranice |
CheckCompositeFonts | Provjerava potomke tipa 0, CIDSystemInfo, usklađenost CMap-a i ograničenja CIDToGIDMap-a |
CheckMetadataPackets | Provjerava 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