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
Trueznači da je transakcija prihvaćena, uključujući slučaj bez izmjena za već sukladan dokumentFalseznači da se transakcija povukla nakon prekoračenja ograničenja, regresije validacije, iznimke ili neispunjenja pravilaRequireFullConformanceReport.ValidationSucceededje mjerodavni rezultat pune sukladnosti nakon potvrđenog popravka- Uz zadane mogućnosti sigurni popravci mogu biti potvrđeni dok nepovezani nesigurni nalazi validacije ostaju eksplicitni u
IssuesiFindings
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;