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

Enterprise редакция

Аналитика

NextPDF Enterprise Intelligence преобразует необработанные данные «ключ-значение» и таблицы в типизированные, при необходимости проверенные по схеме структуры и оркеструет генерацию PDF с возможностью поиска, управляя OCR-бэкендом над отсканированными страницами. Он описывает структуры, которые формирует; он не заявляет о точности OCR или полноте извлечения.

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

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

Структурированный извлекатель принимает необработанные пары «ключ-значение» — сформированные на предыдущем шаге акселератором или эвристическим парсером — и выдаёт типизированные объекты пар. Когда задана схема, он оставляет только те пары, ключ которых соответствует полю схемы, и сообщает, каких обязательных полей не хватает. Пара без явной достоверности получает фиксированное значение по умолчанию. Это шаг типизации и проверки над уже извлечёнными данными; сам по себе он не является движком извлечения или распознавания и не вычисляет точность.

Извлекатель таблиц принимает необработанные сетки строк и строит структурированные результаты таблиц с объектами для каждой ячейки и синтезированными однородными ограничивающими прямоугольниками, полученными делением нормализованной области страницы. Короткие строки дополняются так, чтобы у каждой строки было максимальное число столбцов. Таблица без строк или без столбцов пропускается. Ограничивающие прямоугольники — это синтез однородной сетки, а не измеренный макет.

Оркестратор слоя с возможностью поиска принимает отсканированный или смешанный PDF, определяет, на каких страницах нет пригодного текстового слоя, управляет настроенным OCR-бэкендом и формирует результат, описывающий число слов на каждой странице и среднюю достоверность. Невидимый текст — это механизм страницы с возможностью поиска в отсканированном PDF: оператор вывода текста может разместить глифы, когда режим отрисовки текста задан так, что текст не заливается и не обводится — ISO 32000-2:2020 §9.3.3, — а операторы вывода текста размещают глифы в потоке содержимого — ISO 32000-2:2020 §9.4. Когда источник тегирован, иерархия логической структуры сопоставляет содержимое с порядком чтения — ISO 32000-2:2020 §14.7, тегированная структура поддерживает повторное использование содержимого — ISO 32000-2:2020 §14.8, а элементы структуры таблицы описывают строки и ячейки — ISO 32000-2:2020 §14.8.

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

Эта поверхность проводит чёткую границу между структурированием и распознаванием. Типизация и проверка по схеме выполняются внутри процесса, потому что они детерминированны и дёшевы. Распознавание — растеризация и внедрение невидимого текста — делегируется внедрённому OCR-бэкенду и отдельному sidecar, потому что оно тяжёлое, зависит от бэкенда и его лучше держать за пределами границы доверия PHP. Такое разделение позволяет развёртыванию выбирать, где вычисляются и хранятся изображения документов и распознанный текст, не меняя вызывающий код. Модуль также отказывается выдумывать показатель точности: непомеченная пара получает фиксированное значение по умолчанию, а сообщаемая достоверность пробрасывается, а не вычисляется. Вызывающему коду никогда не передаётся сфабрикованное число точности.

Предыстория проектирования: API, который отказывается угадывать.

ТипВидРольСтабильностьНачиная с
StructuredExtractorклассТипизирует необработанные пары «ключ-значение»; фильтр по схеме и проверка обязательных полейстабильный2.2.0
ExtractionSchema / SchemaFieldклассыОпределения полей и набор обязательных полейстабильный2.2.0
KeyValuePairклассОдна типизированная пара «ключ-значение» с достоверностьюстабильный2.2.0
TableExtractorклассСтроит структурированные таблицы из необработанных сеток строкстабильный2.2.0
TableResult / TableCellклассыФорма таблицы с текстом, достоверностью и ограничивающим прямоугольником для каждой ячейкистабильный2.2.0
SearchableOverlayклассОркеструет генерацию PDF с возможностью поиска через OCRстабильный2.2.0
OverlayConfig / OverlayQualityклассыПодсказка языка, DPI, предустановка качества, пропуск собственных страницстабильный2.2.0
SearchableOverlayResult / PageOverlayInfoклассыЧисло слов на каждой странице и средняя достоверностьстабильный2.2.0
ExtractionConfig / ExtractionStrategyклассыЭвристическая стратегия против стратегии с поддержкой OCR и подсказки OCRстабильный2.2.0

OCR-бэкенд — это внедряемый контракт. Оркестратор не встраивает модель OCR; развёртывание предоставляет бэкенд и отвечает за то, где выполняется OCR.

Type and schema-validate raw key-value pairs
<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use NextPDF\Enterprise\Intelligence\StructuredExtractor;
use NextPDF\Enterprise\Intelligence\ExtractionSchema;
/**
* Type raw pairs against a schema and list any missing required fields.
*
* @param list<array{key: string, value: string, confidence?: float}> $rawPairs Upstream key-value data.
*
* @return list<string> Missing required field names (empty when compliant).
*/
function validate(array $rawPairs, ExtractionSchema $schema): array
{
$extractor = new StructuredExtractor();
$pairs = $extractor->extract($rawPairs, $schema);
return $extractor->validateSchema($schema, $pairs);
}

Извлекатель типизирует и фильтрует данные, которые уже сформировал предыдущий шаг. Сам он не выполняет распознавания.

Searchable-overlay orchestration with safe logging
<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use NextPDF\Enterprise\Accelerator\OcrStrategyInterface;
use NextPDF\Enterprise\Intelligence\OverlayConfig;
use NextPDF\Enterprise\Intelligence\SearchableOverlay;
use Psr\Log\LoggerInterface;
final readonly class OverlayJob
{
public function __construct(
private OcrStrategyInterface $ocr,
private LoggerInterface $logger,
) {}
/**
* Generate a searchable PDF from a scanned input.
*
* @param string $pdfData Scanned or mixed PDF bytes.
*
* @return string The derived searchable PDF bytes.
*/
public function run(string $pdfData): string
{
try {
$result = (new SearchableOverlay($this->ocr))
->generate($pdfData, new OverlayConfig(language: 'eng'));
$this->logger->info('Overlay complete', [
'pages' => $result->pageCount,
'words' => $result->wordCount,
]);
return $result->pdfData;
} catch (\Throwable $e) {
$this->logger->error('Overlay failed', ['error' => $e->getMessage()]);
throw $e;
}
}
}

Журнал несёт только число страниц и слов. Он не содержит распознанного текста или байтов документа. Блок catch повторно выбрасывает исключение; он не проглатывает ошибку.

  • Структурированный извлекатель и извлекатель таблиц потребляют уже извлечённые данные. Они не разбирают PDF, не запускают модель и не измеряют точность. Достоверность пробрасывается или является фиксированным значением по умолчанию.
  • Синтезированные ограничивающие прямоугольники таблицы — это деление на однородную сетку, а не измеренный макет. Вызывающему коду, которому нужна реальная геометрия, придётся получить её в другом месте.
  • Слой с возможностью поиска — это производный документ. Любая существующая цифровая подпись становится недействительной; статус соответствия необходимо повторно проверить после наложения.
  • Когда OCR-бэкенд недоступен, затронутые страницы дают ноль слов, а не приводят к молчаливому сбою всего прогона — проверяйте результат по каждой странице.
  • Страница, у которой уже есть пригодный собственный текстовый слой, по умолчанию пропускается. Отключите пропуск в конфигурации, если требуется повторный OCR.
  • Точность OCR полностью зависит от предоставленного бэкенда, качества входных данных и подсказки языка. NextPDF не заявляет о точности распознавания или полноте извлечения.

Структурированное извлечение и извлечение таблиц линейны по размеру входных данных. Стоимость слоя с возможностью поиска определяется в основном OCR-бэкендом и растеризацией в sidecar при настроенном DPI; накладные расходы оркестрации невелики. Входные данные по числу страниц и размеру ограничены и срабатывают защищённым отказом при переполнении. Профиль воспроизводимости — structural: извлечение детерминированно для фиксированного входа, тогда как результат наложения зависит от OCR-бэкенда и может различаться между бэкендами или версиями.

Извлекатели — это шаги структурирования только для чтения. Поверхность наложения формирует производный документ, ограничивает размер входных данных и число страниц и срабатывает защищённым отказом при переполнении. OCR-бэкенд — это точка интеграции, а не часть границы доверия; развёртывание выбирает и эксплуатирует его. В этом модуле не выполняется криптографических операций, поэтому он не делает заявлений о FIPS.

Структурированное извлечение и извлечение таблиц выполняются внутри процесса на хосте. Оркестрация слоя с возможностью поиска управляет внедрённым OCR-бэкендом: где работает этот бэкенд — внутри процесса, в локальном sidecar или в удалённой службе — и, следовательно, где вычисляются и хранятся изображения документов и распознанный текст, является обязанностью развёртывания за пределами границы библиотеки. Если вход содержит персональные данные, их будет содержать и распознанный текстовый слой; относитесь к производному документу соответствующим образом.

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

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

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

В этом модуле не выполняется криптографических операций, поэтому специфичного для режима FIPS поведения нет.

УтверждениеСтандартПункт
Режим отрисовки текста определяет, заливаются ли глифы, обводятся или нет (основа для невидимого OCR-текста).ISO 32000-2:2020§9.3.3
Операторы вывода текста размещают глифы в потоке содержимого.ISO 32000-2:2020§9.4
Иерархия логической структуры сопоставляет содержимое с порядком чтения.ISO 32000-2:2020§14.7
Тегированная структура поддерживает повторное использование содержимого.ISO 32000-2:2020§14.8
Элементы структуры таблицы описывают строки и ячейки.ISO 32000-2:2020§14.8
Дерево структуры сопоставляет содержимое с порядком чтения.ISO 32000-2:2020§14.7

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

  • Структурированный извлекатель и извлекатель таблиц потребляют уже извлечённые данные; они не разбирают PDF, не запускают модель и не измеряют точность. Достоверность пробрасывается или является фиксированным значением по умолчанию.
  • Фильтр по схеме оставляет только пары, ключ которых соответствует полю схемы, и сообщает об отсутствующих обязательных полях; синтезированные ограничивающие прямоугольники таблицы — это деление на однородную сетку, а не измеренный макет.
  • Слой с возможностью поиска — это производный документ: любая существующая цифровая подпись становится недействительной, а статус соответствия необходимо повторно проверить.
  • Когда OCR-бэкенд недоступен, затронутые страницы дают ноль слов, а не приводят к молчаливому сбою всего прогона; страница с пригодным собственным текстовым слоем по умолчанию пропускается.
  • Входные данные по числу страниц и размеру ограничены и срабатывают защищённым отказом при переполнении. Извлечение детерминированно для фиксированного входа; результат наложения зависит от предоставленного OCR-бэкенда.

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

У NextPDF Core (Apache-2.0) нет ни оркестрации слоя с возможностью поиска, ни поверхности структурирования с проверкой по схеме — никакой; у этой возможности нет эквивалента в уровне Core. Модель AST в Core — это база разобранного документа, а не поверхность извлечения или OCR.

NextPDF Pro поставляет структурное извлечение на основе AST над уже разобранным документом; он не предоставляет структурирования «ключ-значение» с проверкой по схеме, восстановления таблиц из необработанных сеток или оркестрации OCR-слоя с возможностью поиска. Они поставляются только в пакете nextpdf/enterprise.

Структурированный извлекатель и извлекатель таблиц, а также оркестратор наложения описаны на уровне поведения. Сама растеризация и внедрение невидимого текста выполняются в отдельном sidecar-процессе; внутренние детали sidecar, модель OCR и любые внутренние детали оркестрации находятся вне публичной поверхности. OCR-бэкенд — это внедряемый контракт, предоставляемый развёртыванием.

Развёртывание предоставляет и эксплуатирует OCR-бэкенд и выбирает, где выполняется OCR (внутри процесса, в локальном sidecar или в удалённой службе) — и, следовательно, где вычисляются и хранятся изображения документов и распознанный текст. NextPDF Enterprise оркеструет рабочий процесс и формирует метаданные результата; он не встраивает модель OCR и не гарантирует точности распознавания или полноты извлечения.

К поверхности Intelligence не применяется ограничение экспортного контроля. Библиотека не даёт гарантий точности OCR или полноты извлечения и не утверждает статуса нормативного соответствия. Эта документация не является юридическим заключением; обращайтесь к собственным консультантам по комплаенсу и праву.

  • Intelligence reference — глубокий справочник API для этой возможности.
  • Pro extraction — структурные блоки цитирования на основе AST.
  • Privacy — обнаружение ПДн в извлечённом тексте.
  • NextPDF Enterprise — полная поверхность возможностей Enterprise.
  • Core AST — модель разобранного документа.
  • Tagged PDF · OCR · Searchable PDF — термины глоссария.