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

VeldDoel
ProfileKiest automatische metadatadeductie, basis-, engineering- of gekoppeld-bestandvalidatie
MaxObjectsBegrenst iteratieve objectgrafiektraversering en gebruikt standaard 1.000.000 objecten
MaxIssuesBegrenst bewaarde diagnostiek en gebruikt standaard 1.024 problemen
MaxDecodedBytesBegrenst cumulatieve gedecodeerde metadata, ICC en inhoudsstroom-bytes en gebruikt standaard 64 MiB
MaxContentTokensBegrenst cumulatieve inhoudsstroom-tokens en gebruikt standaard 4.000.000 tokens
CheckEmbeddedFontsControleert renderingfonts op een ingesloten fontprogramma
CheckAnnotationAppearancesControleert annotatievlaggen en normale uiterlijkstromen
CheckOptionalContentControleert optionele-inhoud configuratienamen en uniekheid
CheckColourSpacesControleert getekende apparaatkleur, ICC-profielen, output intents, standaardwaarden, afbeeldingen, arceringen, formulieren en transparantiegroepen
CheckTransparencyControleert getekende alfa, zachte maskers, mengmodi en dekking van paginaniveau-mengruimte
CheckCompositeFontsControleert Type 0-afstammelingen, CIDSystemInfo, CMap-compatibiliteit en CIDToGIDMap-beperkingen
CheckMetadataPacketsControleert 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

Verwante API's