CreatePreflightReport

Соответствие стандартам, инспекция документов

Выбор профиля чтения PDF/UA

Проверки PDF/UA выбирают часть 2, когда XMP указывает pdfuaid:part=2, и в остальных случаях удерживают проверки части 1; описанные здесь устаревшие проверки PDF/UA-1 не следует считать применимыми к части 2

Профиль PDF/UA-2 реализует базовые проверки идентификации, пространств имён, ролей и структуры; структурированные отчёты используют PDF/UA-2 и ISO 14289-2 и раскрывают fullCertification=false и неподтверждённую область

Чтобы принудительно задать целевую часть, используйте CheckFilePDFUACompliance или RunPDFUAValidationPipelineTask, а для просмотра пределов возможностей — GetPDFUAReadValidationCoverageJSON

Описание

Создает текстовый preflight-отчет для внешнего PDF-файла, прогоняя существующие проверки соответствия файлов PDF/A и PDF/UA-1 и форматируя их результаты в одно переиспользуемое тело отчета. Это удобный API на случай, когда приложению нужен человекочитаемый отчет вместо ручного вызова CheckFileCompliance, GetStringListCount, GetStringListItem и ReleaseStringList

Синтаксис

Delphi

Function TPDFlib.CreatePreflightReport(Const InputFileName, Password: WideString; ComplianceTests, Options: Integer): WideString;

Параметры

InputFileNameПолный путь к проверяемому PDF-файлу. Файл открывается только для чтения и не изменяется
PasswordПароль для открытия файла; для незашифрованных документов передайте пустую строку
ComplianceTestsБитовая маска, выбирающая включаемые проверки.

1 — PDF/A.
2 — PDF/UA.
3 — и PDF/A, и PDF/UA. Передача 0 также запускает обе проверки.
OptionsБитовые флаги, передаваемые каждой базовой проверке соответствия.

0 — Сообщать о каждой проблеме, найденной каждой выбранной проверкой.
1 — Останавливать каждую выбранную проверку после первой проблемы.

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

Возвращает текстовый отчет UTF-16 с заголовком отчета, одной секцией на каждую выбранную проверку соответствия и финальной сводкой со строками Total issues и Result

Примечания

При выборе нескольких стандартов файл разбирается один раз, и обе проверки используют общий reader, состояние защиты, граф объектов документа и кэш ленивых объектов

Отчетный API не заменяет выделенный внешний валидатор PDF/A. Он упаковывает встроенную перволинейную диагностику PDF/A и PDF/UA-1 библиотеки в стабильный обращенный к приложению отчет. Используйте CreatePreflightReportEx, когда приложению нужен вывод текст, JSON, HTML или CSV, и CheckFileCompliance напрямую, когда нужны отдельные дескрипторы списков проблем вместо форматированного текста

Текстовый отчет — канонический источник для каждого форматированного отчета. Он содержит изменчивые метаданные Generated:, путь Input:, выбранные проверки, режим сбора проблем, по секции на каждую выбранную проверку соответствия и финальную сводку со строками Total issues и Result

Для сценариев командной строки и пакетных отчетов см. Preflight Reports

Пример

var
  Report: WideString;
begin
  Report := PDF.CreatePreflightReport('output.pdf', '', 1 or 2, 0);
  WriteLn(Report);
end;

См. также

Preflight Reports, CreatePreflightReportEx, SavePreflightReport, ComparePreflightReports, CheckFileCompliance, GetPDFUADiagnostics, SetPDFAMode, SetPDFUAMode