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

LaukasPaskirtis
ProfilePasirenka automatinį metaduomenimis pagrįstą aptikimą arba bazinį, inžinerinį ar susijusių failų tikrinimą
MaxObjectsRiboja iteratyvią objekto grafų peržvalgą ir pagal nutylėjimą yra 1 000 000 objektų
MaxIssuesRiboja saugomas diagnozes ir pagal nutylėjimą yra 1 024
MaxDecodedBytesRiboja bendrą iššifruotų metaduomenų, ICC ir turinio srauto baitų kiekį ir pagal nutylėjimą yra 64 MiB
MaxContentTokensRiboja bendrą turinio srauto žetonų kiekį ir pagal nutylėjimą yra 4 000 000
CheckEmbeddedFontsTikrina, ar atvaizdavimo šriftai turi įterptą šrifto programą
CheckAnnotationAppearancesTikrina anotacijų vėliavas ir įprastus išvaizdos srautus
CheckOptionalContentTikrina pasirenkamo turinio konfigūracijos pavadinimus ir unikalumą
CheckColourSpacesTikrina nudažytą įrenginio spalvą, ICC profilius, išvesties paskirtis, numatytuosius, vaizdus, šešėliavimą, formas ir skaidrumo grupes
CheckTransparencyTikrina nudažytą alfa kanalą, švelnios kaukės, maišymo režimus ir puslapio lygio maišymo erdvės padengimą
CheckCompositeFontsTikrina Type 0 paveldėtuosius, CIDSystemInfo, CMap suderinamumą ir CIDToGIDMap apribojimus
CheckMetadataPacketsTikrina 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

Susijusios API