THotPDF.RepairPDFA4 Method

Pokreće ograničenu transakciju nad grafom objekata koja primjenjuje determinističku PDF/A-4 normalizaciju, validira rezultat te ili potvrđuje cijeli sigurni skup popravaka ili vraća izvorno 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 o commit-u

Granica sigurne popravke

Metoda može normalizirati PDF 2.0 zaglavlje, stvoriti identifikator nedostajućeg trailer-a, stvoriti ili popraviti tokove i rječnike metapodataka, kanonizirati identifikaciju PDF/A po URI-ju prostora naziva uz zadržavanje bilo kojeg zakonitog RDF prefiksa, ukloniti zabranjene Catalog stavke te ukloniti strukture alternativnog prikaza

UTF-8 XMP popravak uklanja zabranjene attributi zaglavlja paketa i kodiranja, koristi kanonski prostor naziva identifikacije PDF/A, upisuje part=4 i rev=2020 te odabire ispravno svojstvo sukladnosti za osnovnu, inženjersku ili pridruženu datoteku

Popravljački lanac nikada ne prepisuje sadržajne tokove stranica ili bilješki, fontove, prostore boja, prozirnost, slike, operatorske grafičke elemente ni izdvojeni tekst

Povrat i revizijska provjerljivost

Snimke grafa pokrivaju promjene rječnika i bajtove tokova metapodataka, pa povrat vraća izvorno zaglavlje, stanje trailer-a, graf objekata, XMP sadržaj i sadržaj stranice

Overload sa zajedničkim nalazima dodaje radnje popravka, status primijenjeno, nije riješeno, vraćeno ili nije uspjelo, brojeve popravaka, stabilne identifikatore pravila, klauzule, putanje objekata, brojeve objekata i položaje stranica

Kvote za objekte, promjene, zadržane probleme, dekodirane bajtove i tokena sadržaja sprečavaju da neprijateljske datoteke pretvore popravak ili njegove validacijske kapije u neograničen rad

Primjer

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