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

Pro редакция

Соответствие требованиям

NextPDF Pro формирует отчёты по событиям языковых тегов PDF/UA-2, проверяет и встраивает XML электронных счетов Factur-X / ZUGFeRD, а также встраивает или читает хранилища манифестов C2PA. Эти возможности дают отчёты и структурированные результаты. Они не сертифицируют документ и не гарантируют нормативную достаточность.

Эта возможность поставляется в NextPDF Pro (nextpdf/pro) и активируется лицензионным конвертом уровня Pro. Развёртывание без такого права доступа не загружает классы этой возможности. Compliance входит в состав редакции Pro; отдельного флага лицензии для каждой возможности нет. Сравнить редакции и получить лицензию.

Окно терминала
composer require nextpdf/pro:^3

Модуль Compliance имеет три независимые поверхности.

Отчёты по языковым тегам. LangComplianceReporter выводит структурированную запись JSON для каждого события языкового тега PDF/UA-2. Каждая запись содержит проблемный тег, машиночитаемую причину, разобранные компоненты тега, ссылку на пункт ISO 14289-2 §8.4.4 и метку времени. ConformancePolicy — это фасад Premium, который по умолчанию использует строгую обработку языка UA-2: он завершается защищённым отказом, когда некорректный или незарегистрированный тег BCP-47 попадает в запись /Lang. Послабляющий отказ (ConformancePolicy::withStrictUa2(false)) возвращает прежнее разрешающее поведение и записывает уведомление. NextPDF помечает этот отказ как устаревший; используйте вместо него строгий режим по умолчанию. Отказ существует с версии 5.0 и исчезнет в следующем мажорном выпуске. Чтобы выполнить миграцию, проверьте свой корпус на некорректные значения /Lang, исправьте их, затем уберите вызов отказа, чтобы применялся строгий режим по умолчанию.

Обработка электронных счетов. EInvoiceValidator проверяет гибридный PDF по семантической модели данных EN 16931 и спецификации контейнера Factur-X 1.08 / ZUGFeRD 2.4. Он определяет профиль, запускает движок бизнес-правил EN 16931 и выполняет проход Schematron. Перед проверкой он извлекает встроенный XML счёта из PDF — включая PDF с потоками объектов, которые являются стандартным выводом распространённых производителей, таких как Ghostscript, Gotenberg и Antenna House, и которые прежнее извлечение не могло прочитать. Извлекатель принимает параметризованные подтипы MIME по RFC 7303 (например, text/xml; charset=UTF-8) и имена встроенных файлов в виде литеральных строк ISO 32000-2, включая экранирование. FacturXEmbedder создаёт гибридный документ PDF/A-3 с прикреплённым XML Factur-X. EInvoiceValidationResult сообщает профиль, синтаксис, нарушения правил и проверки обёртки.

Происхождение. C2paManifestEmbedder встраивает предоставленное вызывающим кодом хранилище манифестов C2PA в строку байтов PDF или извлекает его обратно. ManifestStore — это неизменяемый объект-значение, пересекающий границу. Этот шов не синтезирует заявления и не разрешает привязки хешей.

Этот модуль сообщает о том, что он проверяет. Он не утверждает, что документ юридически соответствует требованиям, сертифицирован или юридически обязывающ, и не гарантирует, что какой-либо результат удовлетворяет нормативному акту или юрисдикции.

  • Валидатор электронных счетов проверяет семантическую модель EN 16931 и спецификацию контейнера Factur-X / ZUGFeRD только. Это не валидатор налогового органа. Национальные расширения — например, итальянское SDI, французское Chorus Pro, немецкое XRechnung — вне области применения. Как отмечает сам EN 16931-1, за соблюдение правил соответствующего законодательства отвечает эмитент счёта.
  • Репортёр языковых тегов формирует отчёт о событиях тегов. Он не делает документ соответствующим.
  • Встраивание C2PA записывает предоставленный вызывающим кодом манифест. Оно не создаёт и не подписывает заявления внутри него.

Поддержка стандарта не равнозначна соответствию ему. Обратитесь к своей команде по комплаенсу, чтобы оценить нормативную достаточность для вашего применения.

Несущее решение — это чёткая граница между проверкой и сертификацией. Каждая поверхность возвращает свидетельство — отчёт, результат проверки, встроенный манифест — но никогда не утверждение о том, что документ юридически соответствует требованиям. Это сохраняет шов честным во всех редакциях. ConformancePolicy завершается защищённым отказом на некорректном теге /Lang, а C2paManifestEmbedder никогда не подписывает переносимые им заявления. EInvoiceValidator::validate() возвращает EInvoiceValidationResult; зелёный isValid() — это один из входов вашего решения, а не вердикт, который можно без проверки передать регулятору. Это свидетельство сочетается с вашими собственными средствами контроля, а не заменяет их, поэтому оно остаётся правдивым даже при враждебном вводе.

Проектный контекст: Соответствие, которое можно передать аудитору.

КлассНазначение
LangComplianceReporterВыводить структурированные записи событий языковых тегов.
ConformancePolicyФасад строгой языковой политики UA-2 уровня Premium.
EInvoiceValidatorПроверять EN 16931 / Factur-X / ZUGFeRD; возвращать результат.
EInvoiceValidationResultПрофиль, синтаксис, нарушения правил, проверки обёртки.
FacturXEmbedderСоздавать гибридный документ PDF/A-3 + XML Factur-X.
C2paManifestEmbedderВстраивать или извлекать хранилище манифестов C2PA.
ManifestStoreНеизменяемый объект-значение хранилища манифестов C2PA.
use NextPDF\Pro\Compliance\EInvoice\EInvoiceValidator;
$result = $validator->validate('/path/to/invoice.pdf');
$ok = $result->isValid(); // true only if wrapper, attachment, profile, and no fatal BR
$result = $validator->validate($pdfPath);
foreach ($result->businessRuleViolations as $violation) {
$logger->warning('einvoice.br_violation', [
'rule' => $violation->ruleId,
'severity' => $violation->severity->value,
]);
}
// A green result is one input to your decision, not a compliance verdict.
  • Корректный PDF, не являющийся Factur-X, возвращает результат «не электронный счёт», а не вызывает исключение.
  • Извлекатель XML читает PDF с потоками объектов (стандартный вывод Ghostscript, Gotenberg и Antenna House) и принимает параметризованные подтипы MIME по RFC 7303 и имена файлов в виде литеральных строк ISO 32000-2. Это извлечение для совместимости с выводом соответствующих производителей, а не авторитетная проверка вложений против враждебного ввода — полная активация xref для враждебных публичных конечных точек является документированной отложенной границей. Относитесь к извлечению из недоверенных источников соответствующим образом.
  • Пустой список нарушений бизнес-правил сам по себе не означает, что документ действителен; также применяются проверки обёртки и вложений.
  • NextPDF объявляет послабляющий отказ от строгого UA-2 устаревшим; перейдите на строгий режим по умолчанию (см. «Концептуальный обзор»). Он исчезнет в следующем мажорном выпуске.

Стоимость проверки растёт с размером встроенного XML и числом правил. Отчёты по языковым тегам имеют постоянную стоимость на событие.

Весь разбор XML отключает разрешение внешних сущностей (защита от XXE) и ограничивает распаковку. Относитесь к XML электронных счетов и байтам C2PA из недоверенных источников как к враждебным.

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

Безопасная телеметрия и очистка журналов

Заголовок раздела «Безопасная телеметрия и очистка журналов»

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

ПоведениеСсылкаСтатус
Объявление естественного языка (/Lang)ISO 14289-2:2024 §8.4.4Проверяется / сообщается
Семантическая модель базового счётаEN 16931-1:2026Проверяется (эмитент остаётся ответственным)
Хранилище манифестов C2PA / JUMBFC2PA 2.1 §11.1Встраивание / извлечение поддерживается

Эта таблица фиксирует спецификации, на которые ориентирован NextPDF Pro, и то, что он проверяет. Это не заявление о сертификации или нормативной достаточности.

Этот модуль не выполняет криптографическое подписание. Подписание заявлений C2PA и хранение ключей вне его области применения; поведение подписания в режиме FIPS см. в модуле Security.

Недоверенный XML электронных счетов и байты C2PA — основные входные данные. Меры противодействия: разбор с защитой от XXE, ограниченная распаковка, отсутствие синтеза заявлений через шов C2PA и отсутствие сетевого ввода-вывода во время проверки.

  • LangComplianceReporter выводит структурированную запись JSON на каждое событие языкового тега PDF/UA-2 с проблемным тегом, машиночитаемой причиной, разобранными компонентами тега, ссылкой на ISO 14289-2 §8.4.4 и меткой времени.
  • ConformancePolicy по умолчанию использует строгую обработку языка UA-2 и завершается защищённым отказом, когда некорректный или незарегистрированный тег BCP-47 попадает в /Lang. Послабляющий отказ устарел и удаляется в следующем мажорном выпуске.
  • EInvoiceValidator определяет профиль, запускает движок бизнес-правил EN 16931 и проход Schematron и возвращает EInvoiceValidationResult. Это не валидатор налогового органа; национальные расширения вне области применения, и эмитент остаётся ответственным согласно EN 16931-1.
  • FacturXEmbedder создаёт гибридный документ PDF/A-3 с прикреплённым XML Factur-X. C2paManifestEmbedder встраивает или извлекает предоставленное вызывающим кодом ManifestStore; он не синтезирует и не подписывает заявления.
  • Этот модуль сообщает о том, что он проверяет. Он не сертифицирует документ и не гарантирует нормативную достаточность.

Compliance в Pro охватывает отчёты по языковым тегам, проверку EN 16931 / Factur-X / ZUGFeRD и встраивание/извлечение манифестов C2PA. Расширенные архивные профили и профили подписей, а также подписание заявлений C2PA с хранением ключей — это задачи уровня Enterprise, документированные отдельно, и они не предоставляются этим модулем.

В Core нет аналога для отчётов по языковым тегам, обработки электронных счетов или встраивания манифестов C2PA. Это дополнения Pro.

Эта страница документирует только внешне наблюдаемое поведение и поддерживаемую публичную поверхность API. Внутренние пути пространств имён, вспомогательные классы, таблицы механизмов, имена файлов runbook и префиксы тикетов вне области применения.

  • Security — подписание и маскирование.
  • Enterprise editions — расширенные архивные профили и профили подписей.
  • Specifications — индекс упомянутых стандартов.
  • Compliance — Deep Reference — полная поверхность классов и методов.