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
Trueznači da je transakcija prihvaćena, uključujući slučaj bez izmena kod već usklađenog dokumentaFalseznači da je transakcija uradila rollback nakon prekoračenja limita, validacione regresije, izuzetka ili neispunjene politikeRequireFullConformanceReport.ValidationSucceededje autoritativni rezultat potpune usklađenosti nakon potvrđene popravke- Sa podrazumevanim opcijama bezbedne popravke mogu se potvrditi dok nepovezani nesigurni validacioni nalazi ostaju eksplicitno vidljivi u
IssuesiFindings
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;