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