THotPDF.RepairPDFA4 Method
Uruchamia ograniczoną transakcję na grafie obiektów, która stosuje deterministyczną normalizację PDF/A-4, waliduje wynik, a następnie albo zatwierdza kompletny zestaw bezpiecznych napraw, albo przywraca pierwotny stan dokumentu
Deklaracja
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;
Kontrakt zatwierdzania
Trueoznacza, że transakcja została przyjęta, włącznie z przypadkiem bez zmian dla dokumentu już zgodnegoFalseoznacza, że transakcja została wycofana po przekroczeniu limitu, regresji walidacji, wyjątku albo niespełnionej polityceRequireFullConformanceReport.ValidationSucceededjest autorytatywnym wynikiem pełnej zgodności po zatwierdzonej naprawie- Z opcjami domyślnymi bezpieczne naprawy mogą zostać zatwierdzone, podczas gdy niezwiązane z nimi niebezpieczne problemy walidacji pozostają jawnie widoczne w
IssuesiFindings
Granica bezpiecznych napraw
Metoda może znormalizować nagłówek PDF 2.0, utworzyć brakujący trailer ID, utworzyć lub naprawić strumienie i słowniki metadanych, kanonicznie zapisać identyfikację PDF/A według URI przestrzeni nazw z zachowaniem dowolnego legalnego prefiksu RDF, usunąć zakazane wpisy Catalog oraz usunąć struktury alternatywnej prezentacji
Naprawa UTF-8 XMP usuwa zakazane atrybuty bajtowe i kodowania nagłówka pakietu, używa kanonicznej przestrzeni nazw identyfikacji PDF/A, zapisuje part=4 i rev=2020 oraz wybiera właściwą właściwość zgodności: bazową, inżynieryjną albo plików dołączonych
Potok naprawy nigdy nie przepisuje strumieni zawartości stron ani adnotacji, fontów, przestrzeni kolorów, przezroczystości, obrazów, operatorów graficznych ani ekstrahowanego tekstu
Wycofywanie i audytowalność
Snapshoty grafu obejmują mutacje słowników i bajty strumieni metadanych, więc wycofanie przywraca pierwotny nagłówek, stan trailera, graf obiektów, payload XMP i zawartość stron
Wariant ze współdzielonymi wynikami dołącza akcje naprawcze, statusy zastosowane, nierozwiązane, nieudane lub wycofane, liczniki napraw, stabilne identyfikatory reguł, klauzule, ścieżki obiektów, numery obiektów i lokalizacje stron
Budżety obiektów, mutacji, zachowanych problemów, zdekodowanych bajtów i tokenów zawartości uniemożliwiają adversarialnym plikom zamianę naprawy albo jej bramek walidacji w nieograniczoną pracę
Przykład
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;