ConvertToPDFA

PDF/A

Описание

Превращает открытый документ в архивный и проверяет результат

Синтаксис

Delphi

Function TPDFlib.ConvertToPDFA(TargetMode: Integer): Integer;

Параметры

TargetModeЧасть и уровень для конвертации с той же нумерацией, что в SetPDFAMode

Возвращаемые значения

1Теперь документ соответствует
0Не выполняется, либо TargetMode был вне 1–11. Что мешает, смотрите в GetPDFAConversionReport

Примечания

Вызов удаляет скрипты и запускающие их действия, убирает встроенные файлы там, где выбранная часть их запрещает, добавляет sRGB output intent, если его нет, применяет к аннотациям и формам те же правки, что писатель делает для документа, созданного в режиме PDF/A, приводит метаданные в соответствие и заявляет часть, на которую претендует документ

Затем функция записывает документ и проверяет, что получилось. Заявка считается выполненной только при прохождении проверки: файл, называющий себя архивным, но не являющийся им, проскочил бы мимо систем, которые иначе бы его поймали, поэтому вердикт даёт проверка, а не сама попытка

Некоторые дефекты изнутри документа не чинятся: невнедрённый шрифт не восстановить, а зашифрованный документ без известного пароля вообще не прочитать. Оба случая честно сообщаются, а не обходятся

Пример

PDF.LoadFromFile('invoice.pdf', '');
if PDF.ConvertToPDFA(3) = 1 then      // PDF/A-2b
  PDF.SaveToFile('invoice-pdfa.pdf')
else
  ShowMessage(PDF.GetPDFAConversionReport);

См. также

GetPDFAConversionReport, SetPDFAMode, RepairDocumentMetadata, CheckFileCompliance