THotPDF.ValidatePDFA4 Method
Validerar en genererad eller inläst objektgraf mot den stödda profilen PDF/A-4 base, PDF/A-4e engineering eller PDF/A-4f associated files och returnerar stabil, strukturerad diagnostik
Deklaration
function ValidatePDFA4(
const Options: THPDFPDFA4ValidationOptions;
out Issues: THPDFPDFA4ValidationIssues): boolean; overload;
function ValidatePDFA4(
const Options: THPDFPDFA4ValidationOptions;
out Findings: THPDFComplianceFindings): boolean; overload;
Enhet
HPDFDoc
Profil- och allvarlighetstyper
THPDFPDFA4Profile = (
p4pAutomatic,
p4pBase,
p4pEngineering,
p4pAssociatedFiles
);
THPDFPDFA4IssueSeverity = (
p4isWarning,
p4isError
);
THPDFPDFA4Profile väljer metadatainferens eller en explicit konformitetsprofil, medan THPDFPDFA4IssueSeverity skiljer rådgivande diagnostik från valideringsfel
Alternativ
| Fält | Syfte |
|---|---|
Profile | Väljer automatisk metadatabaserad detektering eller validering mot base, engineering eller associated files |
MaxObjects | Begränsar iterativ traversering av objektgrafen, standard 1 000 000 objekt |
MaxIssues | Begränsar antalet sparade diagnostikposter, standard 1 024 |
MaxDecodedBytes | Begränsar kumulativt avkodade byte för metadata, ICC och innehållsströmmar, standard 64 MiB |
MaxContentTokens | Begränsar kumulativa tokens i innehållsströmmar, standard 4 000 000 tokens |
CheckEmbeddedFonts | Kontrollerar att renderande typsnitt har ett inbäddat fontprogram |
CheckAnnotationAppearances | Kontrollerar annoteringsflaggor och normala appearance-strömmar |
CheckOptionalContent | Kontrollerar namn och unikhet i optional content-konfigurationer |
CheckColourSpaces | Kontrollerar målad enhetsfärg, ICC-profiler, output intents, standardvärden, bilder, shadings, formulär och transparensgrupper |
CheckTransparency | Kontrollerar målad alpha, soft masks, blend modes och sidtäckningen av blending-rymden |
CheckCompositeFonts | Kontrollerar Type 0-efterföljare, CIDSystemInfo, CMap-kompatibilitet och CIDToGIDMap-begränsningar |
CheckMetadataPackets | Kontrollerar varje metadataström mot kraven på UTF-8, packet-header, RDF-kuvert och PDF/A-identifikation |
Diagnostik
Varje THPDFPDFA4ValidationIssue rapporterar allvarlighetsgrad, en stabil namnrymdskod, tillämplig klausul i ISO 19005-4, objektsökväg, objektnummer, nollbaserat sidindex när det är känt och ett mänskligt läsbart meddelande
THPDFComplianceFindings-overloaden exponerar samma traversering genom den gemensamma maskinläsbara fyndmodellen, med profilen PDF/A-4 och repareringsläget crsNotAttempted
Valideraren täcker PDF 2.0-identifikation, trailer-ID och krypteringstillstånd, varje metadatapaket, Info-begränsningar, ICC-huvuden och antal kanaler, output intents för dokument och sidor, målad enhetsfärg, ärvda grafiktillstånd över innehållsströmsarrayer och nästlade Form XObjects, bildmasker, shadings, transparens, inbäddning av renderande typsnitt, relationer mellan sammansatta typsnitt, annoteringar och appearances, AcroForm-begränsningar, actions och ytterligare actions, associerade filer, optional content, externa referenser samt profilens specifika 3D- eller bilageregler
Fynd om färg och transparens bygger på paint-operatorer, inte bara på färgsättande operatorer; tokenisering av innehåll och återanvändning av avkodade strömmar cachas, medan varje anrop fortfarande utvärderar ärvt grafiktillstånd för sin egen sid- eller Form-kontext
Gränserna för avkodade byte, innehållstokens, objekt och sparade problem failar stängt med stabila pdfa4.validation.*-fynd innan obegränsat arbete hinner fortsätta
Exempel
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;
Genereringsbeteende
EndDoc kör valideraren automatiskt för '4', '4E' och '4F' och kaster undantag före serialisering om något fel återstår
PDF/A-4-generering utelämnar Info-posten i trailern, PDF/A-4f skapar alltid det krävda EmbeddedFiles-namnträdet, och annoteringar för filbilagor accepteras bara av PDF/A-4f, där den inbäddade strömmen, Filespec, AF-relationen, Catalog AF-arrayen och namnträdet skrivs ut tillsammans