THotPDF.RepairPDFA4 Method

Izvršava ograničenu transakciju nad grafom objekata koja primenjuje determinističku PDF/A-4 normalizaciju, validira rezultat, pa ili potvrđuje kompletan skup bezbednih popravki ili vraća originalno stanje dokumenta

Deklaracija

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;

Ugovor transakcije

Granica bezbedne popravke

Metod može da normalizuje PDF 2.0 header, kreira nedostajući trailer ID, kreira ili popravi metadata stream-ove i rečnike, kanonizuje PDF/A identifikaciju po namespace URI-ju uz očuvanje bilo kog legalnog RDF prefiksa, ukloni zabranjene Catalog unose i ukloni strukture alternativne prezentacije

Popravka UTF-8 XMP uklanja zabranjene atribute bajta packet header-a i kodiranja, koristi kanonski PDF/A identification namespace, zapisuje part=4 i rev=2020 i bira ispravno base, engineering ili associated-file conformance svojstvo

Pipeline popravke nikada ne prepisuje content stream-ove stranica ili anotacija, fontove, colour space-ove, transparentnost, slike, grafičke operatore ili izdvojeni tekst

Rollback i audibilnost

Snapshot-i grafa pokrivaju mutacije rečnika i bajtove metadata stream-ova, pa rollback vraća originalni header, stanje trailera, graf objekata, XMP payload i sadržaj stranica

Overload sa deljenim nalazima pridružuje akcije popravke, status primenjeno, nerešeno, neuspešno ili vraćeno, brojače popravki, stabilne identifikatore pravila, klauzule, putanje objekata, brojeve objekata i lokacije stranica

Budžeti za objekte, mutacije, zadržane nalaze, dekodovane bajtove i content tokene sprečavaju neprijateljski nastrojene fajlove da popravku ili njene validacione kapije pretvore u neograničen rad

Primer

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;

Povezani API-ji