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
Truebetekent dat de transactie is geaccepteerd, inclusief het geval zonder wijzigingen voor een al conform documentFalsebetekent dat de transactie is teruggedraaid na een limietfout, validatieregressie, uitzondering of niet-nageleefdRequireFullConformance-beleidReport.ValidationSucceededis het gezaghebbende volledig-conformiteitsresultaat na een doorgevoerde correctie- Met standaardopties kunnen veilige correcties worden doorgevoerd terwijl ongerelateerde onveilige validatiebevindingen expliciet blijven in
IssuesenFindings
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;