THotPDF.RepairPDFA4 Method

Kör en avgränsad objektgrafstransaktion som tillämpar deterministisk PDF/A-4-normalisering, validerar resultatet och antingen genomför hela den säkra reparationsuppsättningen eller återställer det ursprungliga dokumenttillståndet

Deklaration

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;

Genomförandekontrakt

Säker reparationsgräns

Metoden kan normalisera PDF 2.0-huvudet, skapa ett saknat trailer-ID, skapa eller reparera metadataströmmar och -ordlistor, kanonisera PDF/A-identifiering efter namnområdes-URI samtidigt som alla lagliga RDF-prefix bevaras, ta bort förbjudna Catalog-poster och ta bort alternativa presentationsstrukturer

UTF-8-XMP-reparation tar bort förbjudna pakethuvudbyte- och kodningsattribut, använder det kanoniska PDF/A-identifieringsnamnområdet, skriver part=4 och rev=2020 och väljer rätt bas-, teknik- eller associerad-fil-konformitetsegenskap

Reparationspipelinen skriver aldrig om sid- eller annoteringsinnehållsströmmar, teckensnitt, färgrymder, transparens, bilder, grafikoperatorer eller extraherad text

Återställning och granskningsbarhet

Grafögonblicksbilder täcker ordlistemutationer och metadataströmbytes, så återställning återställer det ursprungliga huvudet, trailertillståndet, objektgrafen, XMP-nyttolasten och sidinnehållet

Den delade fyndöverlagringen bifogar reparationsåtgärder, tillämpad, oupplöst, misslyckad eller återställd status, reparationsantal, stabila regelidentifierare, klausuler, objektsökvägar, objektnummer och sidplatser

Objekt-, mutations-, kvarhållen-issue-, avkodad-byte- och innehållstokenbudgetar förhindrar att fientliga filer förvandlar reparation eller dess valideringsgrindar till obegränsat arbete

Exempel

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;

Relaterade API:er