THotPDF.ValidatePDFA4 Method
Valideert een gegenereerde of geladen objectgrafiek tegen het ondersteunde PDF/A-4-basis-, PDF/A-4e engineering- of PDF/A-4f gekoppeld-bestand-profiel en geeft stabiele gestructureerde diagnostiek terug
Declaratie
function ValidatePDFA4(
const Options: THPDFPDFA4ValidationOptions;
out Issues: THPDFPDFA4ValidationIssues): boolean; overload;
function ValidatePDFA4(
const Options: THPDFPDFA4ValidationOptions;
out Findings: THPDFComplianceFindings): boolean; overload;
Eenheid
HPDFDoc
Profiel- en ernsttypes
THPDFPDFA4Profile = (
p4pAutomatic,
p4pBase,
p4pEngineering,
p4pAssociatedFiles
);
THPDFPDFA4IssueSeverity = (
p4isWarning,
p4isError
);
THPDFPDFA4Profile kiest metadatadeductie of een expliciet conformiteitsprofiel, terwijl THPDFPDFA4IssueSeverity adviesdiagnostiek onderscheidt van validatiefouten
Opties
| Veld | Doel |
|---|---|
Profile | Kiest automatische metadatadeductie, basis-, engineering- of gekoppeld-bestandvalidatie |
MaxObjects | Begrenst iteratieve objectgrafiektraversering en gebruikt standaard 1.000.000 objecten |
MaxIssues | Begrenst bewaarde diagnostiek en gebruikt standaard 1.024 problemen |
MaxDecodedBytes | Begrenst cumulatieve gedecodeerde metadata, ICC en inhoudsstroom-bytes en gebruikt standaard 64 MiB |
MaxContentTokens | Begrenst cumulatieve inhoudsstroom-tokens en gebruikt standaard 4.000.000 tokens |
CheckEmbeddedFonts | Controleert renderingfonts op een ingesloten fontprogramma |
CheckAnnotationAppearances | Controleert annotatievlaggen en normale uiterlijkstromen |
CheckOptionalContent | Controleert optionele-inhoud configuratienamen en uniekheid |
CheckColourSpaces | Controleert getekende apparaatkleur, ICC-profielen, output intents, standaardwaarden, afbeeldingen, arceringen, formulieren en transparantiegroepen |
CheckTransparency | Controleert getekende alfa, zachte maskers, mengmodi en dekking van paginaniveau-mengruimte |
CheckCompositeFonts | Controleert Type 0-afstammelingen, CIDSystemInfo, CMap-compatibiliteit en CIDToGIDMap-beperkingen |
CheckMetadataPackets | Controleert elke metadatastroom op UTF-8, pakket-header, RDF-envelop en PDF/A-identificatiebeperkingen |
Diagnostiek
Elke THPDFPDFA4ValidationIssue rapporteert ernst, een stabiele genamespace-code, de toepasselijke ISO 19005-4-clausule, objectpad, objectnummer, pagina-index met nulbasis wanneer bekend, en een voor mensen leesbaar bericht
De overload THPDFComplianceFindings stelt dezelfde traversering bloot via het gedeelde machineleesbare bevindingsmodel met een profiel PDF/A-4 en correctietoestand crsNotAttempted
De validator dekt PDF 2.0-identificatie, trailer-ID en versleutelingstoestand, elk metadatapakket, Info-beperkingen, ICC-headers en kanaalaantallen, document- en pagina-output intents, getekende apparaatkleur, overgeërfde grafiektoestand over inhoudstroomarrays en geneste Form XObjects heen, afbeeldingsmaskers, arceringen, transparantie, gerenderde fontinsluiting, samengestelde-fontrelaties, annotaties en uiterlijken, AcroForm-beperkingen, acties en aanvullende acties, gekoppelde bestanden, optionele inhoud, externe verwijzingen en profielspecifieke 3D- of bijlageregels
Kleur- en transparantiebevindingen zijn gebaseerd op tekenoperatoren in plaats van alleen kleurinsteloperatoren; inhoudstokenisatie en gedecodeerd-stroomhergebruik worden gecacht terwijl elke aanroep nog steeds overgeërfde grafiektoestand evalueert voor zijn eigen pagina- of Form-context
Gedecodeerde-byte-, inhoudstoken-, object- en bewaard-probleemlimieten falen gesloten met stabiele bevindingen pdfa4.validation.* voordat onbegrensd werk kan doorgaan
Voorbeeld
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;
Generatiegedrag
EndDoc voert automatisch de validator uit voor '4', '4E' en '4F' en geeft een fout vóór serialisatie wanneer een fout resteert
PDF/A-4-generatie laat de trailer-Info-invoer weg, PDF/A-4f maakt altijd de vereiste EmbeddedFiles-naamboom, en bestandsbijlage-annotaties worden alleen geaccepteerd door PDF/A-4f waar de ingesloten stroom, Filespec, AF-relatie, Catalogus-AF-array en naamboom samen worden geproduceerd