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
| Felt | Formål |
|---|---|
Profile | Vælger automatisk metadatabaseret detektion eller basis-, engineering- eller validering af tilknyttede filer |
MaxObjects | Afgrænser det iterative gennemløb af objektgrafen og har 1.000.000 objekter som standard |
MaxIssues | Afgrænser den fastholdte diagnostik og har 1.024 fund som standard |
MaxDecodedBytes | Afgrænser kumulerede afkodede metadata-, ICC- og indholdsstrøm-bytes og har 64 MiB som standard |
MaxContentTokens | Afgrænser kumulerede indholdsstrøm-tokens og har 4.000.000 tokens som standard |
CheckEmbeddedFonts | Kontrollerer gengivelsesfonte for et indlejret fontprogram |
CheckAnnotationAppearances | Kontrollerer anmærkningsflag og normale udseendestrømme |
CheckOptionalContent | Kontrollerer valgfrit indhold: konfigurationsnavne og unikhed |
CheckColourSpaces | Kontrollerer malet enhedsfarve, ICC-profiler, output intents, standarder, billeder, shadings, formularer og transparensgrupper |
CheckTransparency | Kontrollerer malet alfa, bløde masker, blend modes og dækning af blanderum på sideniveau |
CheckCompositeFonts | Kontrollerer Type 0-descendenter, CIDSystemInfo, CMap-kompatibilitet og CIDToGIDMap-betingelser |
CheckMetadataPackets | Kontrollerer 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