THotPDF.ValidatePDFA4 Method
Tikrina sugeneruotą arba įkeltą objektų grafą pagal palaikomą PDF/A-4 bazinį, PDF/A-4e inžinerinį arba PDF/A-4f susijusių failų profilį ir grąžina stabilias struktūrizuotas diagnozes
Deklaracija
function ValidatePDFA4(
const Options: THPDFPDFA4ValidationOptions;
out Issues: THPDFPDFA4ValidationIssues): boolean; overload;
function ValidatePDFA4(
const Options: THPDFPDFA4ValidationOptions;
out Findings: THPDFComplianceFindings): boolean; overload;
Unit
HPDFDoc
Profilio ir sunkumo tipai
THPDFPDFA4Profile = (
p4pAutomatic,
p4pBase,
p4pEngineering,
p4pAssociatedFiles
);
THPDFPDFA4IssueSeverity = (
p4isWarning,
p4isError
);
THPDFPDFA4Profile pasirenka metaduomenų išvadą arba aiškų atitikties profilį, o THPDFPDFA4IssueSeverity skiria konsultacines diagnozes nuo tikrinimo klaidų
Parinktys
| Laukas | Paskirtis |
|---|---|
Profile | Pasirenka automatinį metaduomenimis pagrįstą aptikimą arba bazinį, inžinerinį ar susijusių failų tikrinimą |
MaxObjects | Riboja iteratyvią objekto grafų peržvalgą ir pagal nutylėjimą yra 1 000 000 objektų |
MaxIssues | Riboja saugomas diagnozes ir pagal nutylėjimą yra 1 024 |
MaxDecodedBytes | Riboja bendrą iššifruotų metaduomenų, ICC ir turinio srauto baitų kiekį ir pagal nutylėjimą yra 64 MiB |
MaxContentTokens | Riboja bendrą turinio srauto žetonų kiekį ir pagal nutylėjimą yra 4 000 000 |
CheckEmbeddedFonts | Tikrina, ar atvaizdavimo šriftai turi įterptą šrifto programą |
CheckAnnotationAppearances | Tikrina anotacijų vėliavas ir įprastus išvaizdos srautus |
CheckOptionalContent | Tikrina pasirenkamo turinio konfigūracijos pavadinimus ir unikalumą |
CheckColourSpaces | Tikrina nudažytą įrenginio spalvą, ICC profilius, išvesties paskirtis, numatytuosius, vaizdus, šešėliavimą, formas ir skaidrumo grupes |
CheckTransparency | Tikrina nudažytą alfa kanalą, švelnios kaukės, maišymo režimus ir puslapio lygio maišymo erdvės padengimą |
CheckCompositeFonts | Tikrina Type 0 paveldėtuosius, CIDSystemInfo, CMap suderinamumą ir CIDToGIDMap apribojimus |
CheckMetadataPackets | Tikrina kiekvieną metaduomenų srautą dėl UTF-8, paketo antraštės, RDF voko ir PDF/A identifikavimo apribojimų |
Diagnostika
Kiekvienas THPDFPDFA4ValidationIssue praneša sunkumą, stabilų vardų erdves aprėpiantį kodą, taikomą ISO 19005-4 sąlygą, objekto kelią, objekto numerį, puslapio indeksą nuo nulio, kai žinomas, ir žmogui suprantamą pranešimą
THPDFComplianceFindings overload perteikia tą pačią peržvalgą per bendrą mašinai skaitomą radinių modelį su PDF/A-4 profiliu ir crsNotAttempted taisymo būsena
Tikrintuvas apima PDF 2.0 identifikavimą, trakterio ID ir šifravimo būseną, kiekvieną metaduomenų paketą, Info apribojimus, ICC antraštes ir kanalų skaičius, dokumento ir puslapio išvesties paskirtis, nudažytą įrenginio spalvą, paveldėtą grafinią būseną turinio srauto masyvuose ir įdėtuose Form XObjects, vaizdo kaukės, šešėliavimą, skaidrumą, atvaizduotų šriftų įterpimą, sudėtinių šriftų ryšius, anotacijas ir išvaizdas, AcroForm apribojimus, veiksmus ir papildomus veiksmus, susijusius failus, parinktąjį turinį, išorines nuorodas ir profiliui būdingas 3D ar prisegimo taisykles
Spalvų ir skaidrumo radiniai grindžiami dažymo operatoriais, o ne vien spalvų nustatymo operatoriais; turinio žetonizavimas ir iššifruoto srauto pakartotinis naudojimas talpyklinami, o kiekvienas iškvietimas vis tiek įvertina paveldėtą grafinę būseną savo puslapio ar Form kontekstui
Iššifruotų baitų, turinio žetonų, objektų ir saugomų problemų ribos užsidaro saugiai, su stabiliu pdfa4.validation.* radiniu, kol neribotas darbas gali tęstis
Pavyzdys
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;
Generavimo elgsena
EndDoc automatiškai paleidžia tikrintuvą reikšmėms '4', '4E' ir '4F' ir prieš serializaciją sukelia išimtį, kai lieka klaida
PDF/A-4 generavimas praleidžia trakterio Info įrašą, PDF/A-4f visada sukuria reikiamą EmbeddedFiles pavadinimų medį, o failo prisegimo anotacijos priimamos tik PDF/A-4f, kai įterptasis srautas, Filespec, AF ryšys, katalogo AF masyvas ir pavadinimų medis išvedami kartu