THotPDF.RepairPDFA4 Method

Normaliseert een geladen document naar PDF/A-4 binnen een transactionele grafiekcorrectie en valideert de kandidaat-grafiek vóór doorvoering

Declaratie

function RepairPDFA4(
  const Options: THPDFPDFA4RepairOptions;
  out Report: THPDFPDFA4RepairReport;
  out Issues: THPDFPDFA4ValidationIssues): boolean; overload;

function RepairPDFA4(
  const Options: THPDFPDFA4RepairOptions;
  out Report: THPDFPDFA4RepairReport;
  out Issues: THPDFPDFA4ValidationIssues;
  out Findings: THPDFComplianceFindings): boolean; overload;

Commit-contract

Veilige correctiegrens

De methode kan de PDF 2.0-header normaliseren, een ontbrekende trailer-ID aanmaken, metadatastromen en -woordenboeken aanmaken of corrigeren, PDF/A-identificatie canonicaliseren op naamruimte-URI met behoud van elke legale RDF-prefix, verboden Catalogusinvoeren verwijderen en alternatieve-presentatiestructuren verwijderen

UTF-8 XMP-correctie verwijdert verboden pakket-header-byte- en coderingsattributen, gebruikt de canonieke PDF/A-identificatienaamruimte, schrijft part=4 en rev=2020 en kiest de juiste eigenschap voor basis, engineering of gekoppeld bestand

De correctiepijplijn herschrijft nooit pagina- of annotatie-inhoudsstromen, fonts, kleurruimten, transparantie, afbeeldingen, grafische operatoren of geëxtraheerde tekst

Terugdraaien en auditbaarheid

Grafiekmomentopnamen dekken woordenboekmutaties en metadatastroom-bytes, dus terugdraaien herstelt de oorspronkelijke header, trailerstatus, objectgrafiek, XMP-payload en pagina-inhoud

De gedeelde bevindingsoverload koppelt correctieacties, toegepaste, onopgeloste, gefaalde of teruggedraaide status, correctietellingen, stabiele regel-ID's, clausules, objectpaden, objectnummers en paginalocaties

Budgetten voor objecten, mutaties, bewaarde problemen, gedecodeerde bytes en inhoudstokens voorkomen dat vijandige bestanden correctie of zijn validatiepoorten tot onbegrensd werk maken

Voorbeeld

var
  Options: THPDFPDFA4RepairOptions;
  Report: THPDFPDFA4RepairReport;
  Issues: THPDFPDFA4ValidationIssues;
begin
  Options := THPDFPDFA4RepairOptions.Default;
  Options.Profile := p4pAutomatic;

  if not PDF.RepairPDFA4(Options, Report, Issues) then
    raise Exception.Create('PDF/A-4 repair rolled back');

  if not Report.ValidationSucceeded then
    LogRemainingPDFA4Issues(Issues);
end;

Verwante API's