THotPDF.ValidatePDFA4 Method

Validerer en genereret eller indlæst objektgraf mod en understøttet PDF/A-4-basis-, PDF/A-4e-engineering- eller PDF/A-4f-profil med tilknyttede filer og returnerer stabil, struktureret diagnostik

Deklaration

function ValidatePDFA4(
  const Options: THPDFPDFA4ValidationOptions;
  out Issues: THPDFPDFA4ValidationIssues): boolean; overload;

function ValidatePDFA4(
  const Options: THPDFPDFA4ValidationOptions;
  out Findings: THPDFComplianceFindings): boolean; overload;

Enhed

HPDFDoc

Profil- og severitetstyper

THPDFPDFA4Profile = (
  p4pAutomatic,
  p4pBase,
  p4pEngineering,
  p4pAssociatedFiles
);

THPDFPDFA4IssueSeverity = (
  p4isWarning,
  p4isError
);

THPDFPDFA4Profile vælger metadatainferens eller en eksplicit overholdelsesprofil, mens THPDFPDFA4IssueSeverity adskiller vejledende diagnostik fra valideringsfejl

Indstillinger

FeltFormål
ProfileVælger automatisk metadatabaseret detektion eller basis-, engineering- eller validering af tilknyttede filer
MaxObjectsAfgrænser det iterative gennemløb af objektgrafen og har 1.000.000 objekter som standard
MaxIssuesAfgrænser den fastholdte diagnostik og har 1.024 fund som standard
MaxDecodedBytesAfgrænser kumulerede afkodede metadata-, ICC- og indholdsstrøm-bytes og har 64 MiB som standard
MaxContentTokensAfgrænser kumulerede indholdsstrøm-tokens og har 4.000.000 tokens som standard
CheckEmbeddedFontsKontrollerer gengivelsesfonte for et indlejret fontprogram
CheckAnnotationAppearancesKontrollerer anmærkningsflag og normale udseendestrømme
CheckOptionalContentKontrollerer valgfrit indhold: konfigurationsnavne og unikhed
CheckColourSpacesKontrollerer malet enhedsfarve, ICC-profiler, output intents, standarder, billeder, shadings, formularer og transparensgrupper
CheckTransparencyKontrollerer malet alfa, bløde masker, blend modes og dækning af blanderum på sideniveau
CheckCompositeFontsKontrollerer Type 0-descendenter, CIDSystemInfo, CMap-kompatibilitet og CIDToGIDMap-betingelser
CheckMetadataPacketsKontrollerer hver metadatastrøm for UTF-8-, packet-header-, RDF-konvolut- og PDF/A-identifikationsbetingelser

Diagnostik

Hver THPDFPDFA4ValidationIssue rapporterer severitet, en stabil navnerumsbaseret kode, den relevante ISO 19005-4-klausul, objektsti, objektnummer, nul-baseret sideindeks, når det er kendt, og en læsbar besked

THPDFComplianceFindings-overloadet eksponerer det samme gennemløb gennem den fælles maskinlæsbare fundmodel med profilen PDF/A-4 og reparationsstatus crsNotAttempted

Validatoren dækker PDF 2.0-identifikation, trailer-ID og krypteringstilstand, hver metadatastrøm, Info-begrænsninger, ICC-headere og kanalantal, dokument- og side-output intents, malet enhedsfarve, nedarvet grafiktilstand på tværs af indholdsstrøm-arrays og indlejrede Form XObjects, billedmasker, shadings, transparens, indlejring af gengivne fonte, sammensatte fontrelationer, anmærkninger og udseender, AcroForm-begrænsninger, actions og yderligere actions, tilknyttede filer, valgfrit indhold, eksterne referencer samt profilafhængige 3D- og vedhæftningsregler

Fund om farve og transparens bygger på maleoperatorer og ikke alene på farvesættende operatorer; tokenisering af indhold og genbrug af afkodede strømme caches, mens hvert kald stadig evaluerer nedarvet grafiktilstand for sin egen side- eller formular-kontekst

Grænserne for afkodede bytes, indholdstokens, objekter og fastholdte fund fejler lukket med stabile pdfa4.validation.*-fund, før uafgrænset arbejde kan fortsætte

Eksempel

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;

Genereringsadfærd

EndDoc kører automatisk validatoren for '4', '4E' og '4F' og rejser en exception før serialisering, hvis der stadig er en fejl tilbage

PDF/A-4-generering udelader trailerens Info-post, PDF/A-4f opretter altid det krævede EmbeddedFiles-navnetræ, og anmærkninger med filvedhæftninger accepteres kun af PDF/A-4f, hvor den indlejrede strøm, Filespec, AF-relation, Catalog-AF-array og navnetræ skrives sammen

Relaterede API'er