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
| Polje | Svrha |
|---|---|
Profile | Bira automatsku detekciju iz metapodataka, base, engineering ili associated-file validaciju |
MaxObjects | Ograničava iterativni obilazak grafa objekata, podrazumevano 1.000.000 objekata |
MaxIssues | Ograničava zadržanu dijagnostiku, podrazumevano 1.024 problema |
MaxDecodedBytes | Ograničava kumulativne dekodovane bajtove metapodataka, ICC i content stream-ova, podrazumevano 64 MiB |
MaxContentTokens | Ograničava kumulativne tokene content stream-ova, podrazumevano 4.000.000 tokena |
CheckEmbeddedFonts | Proverava da li fontovi za renderovanje imaju ugrađen font program |
CheckAnnotationAppearances | Proverava zastavice anotacija i normalne appearance stream-ove |
CheckOptionalContent | Proverava imena i jedinstvenost optional-content konfiguracija |
CheckColourSpaces | Proverava iscrtanu device boju, ICC profile, output intent-e, podrazumevane vrednosti, slike, shading-e, forme i grupe transparentnosti |
CheckTransparency | Proverava iscrtani alpha, soft maske, blend režime i pokrivenost blending prostora na nivou stranice |
CheckCompositeFonts | Proverava Type 0 potomke, CIDSystemInfo, CMap kompatibilnost i CIDToGIDMap ograničenja |
CheckMetadataPackets | Proverava 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