Перейти к содержимому

Пакетная проверка стандартов через Connect

Используйте этот рецепт, чтобы за один вызов проверить множество PDF по одной или нескольким именованным политикам. В нём вызывается инструмент пакетной проверки соответствия через транспорты Connect. Этот инструмент относится к уровню Enterprise: проверка class_exists() обнаруживает его, и он регистрируется только тогда, когда вместе с сервером установлен nextpdf/premium. Инструмент проверяет каждый документ по каждой политике из запроса, а затем возвращает сводный отчёт по каждому документу и каждой политике.

Как и при проверке одного документа, результат “pass” по политике означает лишь, что инструмент проверил реализованные в нём правила. Это не независимая сертификация соответствия. Заключение о соответствии выносит валидатор.

Окно терминала
composer require nextpdf/server

Убедитесь, что пакетный инструмент Enterprise доступен, вызвав tools/list. См. /connect/tool-catalog/.

Стандарт задаёт требования к каждому документу, а средство проверки оценивает соответствие каждого документа этим требованиям (PDF/A-4 §6.2.3). Соответствие определяется по требованиям, а не заявляется производителем (PDF/A-4 §6.7.3). Для политик, связанных с подписями, базовые уровни PDF Advanced Electronic Signatures (PAdES) различаются, а уровни B-LT/B-LTA (материал для проверки, архивная метка времени) доступны только в редакции Enterprise (ETSI EN 319 142-2 §5.5). Для пакетного результата по всему набору документов действует то же узкое значение: “ни одно реализованное правило не нарушено”.

Сверяйте имена инструментов с текущим реестром через tools/list. Эталонный каталог — /connect/tool-catalog/. В этом рецепте количество инструментов повторно не указывается.

{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "batch_compliance_check",
"arguments": {
"sources": ["/data/q1.pdf", "/data/q2.pdf"],
"policies": ["pdfa-4"]
}
}
}
Окно терминала
curl -sS -X POST https://connect.example.com/v1/tools/batch_compliance_check \
-H 'Authorization: Bearer '"$NEXTPDF_CONNECT_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"sources":["/data/q1.pdf","/data/q2.pdf"],"policies":["pdfa-4"]}' \
-o /tmp/batch.json -w '%{http_code}' > /tmp/batch-status || {
echo "transport failure invoking batch_compliance_check" >&2; exit 1; }

Ответ содержит идентификатор пакета, агрегированные счётчики pass/fail и массив checks по каждому документу с результатами по каждой политике и причинами сбоев. Отфильтруйте сбои, исправьте их и повторно отправьте только затронутые документы.

  • Пустые sources или policies приводят к ошибке недопустимых параметров.
  • Отсутствующий файл отображается как ошибка в отдельном результате, а не приводит к сбою всего пакета. Проверяйте каждый результат на наличие поля ошибки.
  • Превышение ограничения на размер пакета возвращает явную ошибку. Разбейте работу на пакеты меньшего размера.
  • Неизвестный идентификатор политики вызывает ошибку неизвестного стандарта с перечислением распознанных идентификаторов. Политики подписи, ссылающиеся на B-LT/B-LTA, имеют смысл только в развёртывании Enterprise, способном создавать этот материал.
  • Инструмент отсутствует. Без nextpdf/premium пакетный инструмент Enterprise не регистрируется; вызов завершается ошибкой неизвестного инструмента.

Бюджет во front-matter — это лишь документационный предел. Инструмент обрабатывает документы на стороне сервера, и каждый документ может требовать существенный объём рабочей памяти. Подбирайте размер пакета под память хоста, а не повышайте глобальный тайм-аут.

Не записывайте в журнал пути к исходным файлам или полный отчёт на уровне логирования, отправляемом наружу. Записывайте в журнал только идентификатор пакета и агрегированные счётчики pass/fail. Результат “pass” по политике описывает реализованный набор правил, а не гарантию безопасности и не юридическую гарантию.

УтверждениеПунктreference_id (идентификатор ссылки)
Стандарт задаёт требования; средство проверки оценивает каждый документPDF/A-4 §6.2.3
Соответствие определяется по требованиям, а не утверждается производителемPDF/A-4 §6.7.3
B-LT/B-LTA добавляют материал для проверки; это отдельные уровни, доступные только в EnterpriseETSI EN 319 142-2 §5.5

Поддержка пакетной проверки стандартов не является сертификацией соответствия. Заключение о соответствии по каждому документу выносит независимый валидатор.

Инструмент пакетной проверки соответствия относится к уровню Enterprise и регистрируется только тогда, когда вместе с сервером установлен nextpdf/premium.

Вызывайте инструмент одинаково через Model Context Protocol (MCP) tools/call, конечную точку инструмента REST и службу gRPC через общий исполнитель инструментов.

Пакетная проверка доступна только для чтения и по умолчанию не получает статус approval_required. Переопределение оператором может только повысить её уровень риска. Подробнее см. /connect/hitl-risk-tiers/.

Инструмент не запускает шлюз, если переопределение оператором не повышает его до approval_required. Контракт конверта и одноразового токена описан в /connect/hitl-risk-tiers/.

  • /cookbook/connect/compliance-check/ — проверка стандартов для одного документа.
  • /cookbook/connect/ai-ready-certification/ — расширенная проверка готовности к AI.
  • /connect/tool-catalog/ — вычисление набора инструментов для каждого уровня.
  • /connect/hitl-risk-tiers/ — модель рисков и поведение шлюза.