THotPDF.RepairPDFA4 Method
Виконує обмежену транзакцію графа об'єктів, яка застосовує детерміновану нормалізацію PDF/A-4, перевіряє результат і або комітує повний безпечний набір виправлень, або відновлює вихідний стан документа
Оголошення
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;
Контракт коміту
Trueозначає, що транзакцію прийнято, включно з випадком без змін для вже відповідного документаFalseозначає, що транзакцію відкочено після збою обмеження, регресії валідації, винятку чи недотриманої політикиRequireFullConformanceReport.ValidationSucceededє авторитетним результатом повної відповідності після застосованого виправлення- З типовими параметрами безпечні виправлення можуть комітуватися, поки не пов'язані з виправленням знахідки валідації лишаються явними у
IssuesіFindings
Межа безпечного виправлення
Метод може нормалізувати заголовок PDF 2.0, створити відсутній ID трейлера, створити чи виправити потоки та словники метаданих, канонізувати ідентифікацію PDF/A за URI простору імен, зберігаючи будь-який законний префікс RDF, видалити заборонені записи Catalog та видалити структури альтернативного подання
Виправлення UTF-8 XMP видаляє заборонені атрибути байтів заголовка пакунка та кодування, використовує канонічний простір імен ідентифікації PDF/A, записує part=4 і rev=2020 та обирає правильну властивість відповідності базового, інженерного або пов'язаного файла
Конвеєр виправлення ніколи не перезаписує потоки вмісту сторінок чи анотацій, шрифти, колірні простори, прозорість, зображення, оператори графіки чи витягнутий текст
Відкат і контроль
Знімки графа охоплюють мутації словників і байти потоків метаданих, тому відкат відновлює вихідний заголовок, стан трейлера, граф об'єктів, вантаж XMP та вміст сторінки
Перевантаження зі спільними знахідками прикріплює дії виправлення, застосований, невиконаний, невдалий чи відкочений статус, лічильники виправлень, стабільні ідентифікатори правил, пункти, шляхи та номери об'єктів і розташування сторінок
Бюджети об'єктів, мутацій, збережених проблем, задекадованих байтів і вмістових токенів запобігають перетворенню ворожими файлами виправлення чи його валідаційних воріт на необмежену роботу
Приклад
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;