PP-StructureV3 в PaddleOCR — возможности, установка, форматы и ограничения
PP-Structure сегодня правильнее рассматривать не как отдельную настольную программу, а как семейство технологий структурного анализа документов внутри PaddleOCR. Для нового проекта актуально третье поколение — PP-StructureV3: оно распознаёт макет страницы, текст, таблицы, формулы и другие элементы, восстанавливает порядок чтения и превращает PDF или изображения в данные, пригодные для Markdown, JSON и дальнейшей автоматизации. Это принципиально иной класс инструмента, чем обычный просмотрщик PDF: вместо окна для чтения здесь используются командная строка, Python API или серверный вызов.
| Параметр | PP-Structure |
|---|---|
| Актуальное поколение | PP-StructureV3 |
| Разработчик | PaddlePaddle, проект PaddleOCR |
| Актуальный пакет на 12 сентября 2026 года | PaddleOCR 3.7.0 |
| Тип | Open-source конвейер разбора документов, CLI и Python API |
| Основной вход | Изображения и PDF, локальные пути или URL |
| Основной выход | JSON, Markdown, DOCX; визуализации и специализированный экспорт таблиц |
| Лицензия | Apache License 2.0 |
| Учётная запись | Не нужна для локального запуска; токен нужен для отдельного официального API |
| Практический минимум Python | Python 3.9+ для группы зависимостей doc-parser |
Скачать PP-Structure
Новейшая версия для Виндовс, macOS и Линукс. Удобный редактор PDF под российские реалии.
Безопасный путь получения актуального PP-StructureV3 — устанавливать официальный пакет paddleocr из PyPI либо брать исходный код из официального репозитория PaddlePaddle/PaddleOCR. Отдельного установщика «PP-Structure.exe» для Windows и самостоятельного приложения с собственным дистрибутивом нет. На 12 сентября 2026 года последним стабильным релизом пакета является PaddleOCR 3.7.0, опубликованный 11 июня 2026 года.
Для структурного разбора нужен не только базовый пакет OCR, а группа зависимостей doc-parser. Практичный вариант для воспроизводимой среды — установить конкретную стабильную версию: python -m pip install «paddleocr[doc-parser]==3.7.0». Если проект допускает автоматическое получение будущих обновлений, ограничение версии можно убрать. Исходная ветка GitHub удобна для разработки и проверки новых изменений, но для рабочего контура разумнее фиксировать выпущенную версию, чтобы обновление зависимостей не меняло результат без контроля.
Что такое PP-Structure
PP-Structure — серия решений PaddleOCR для понимания структуры документа. Первое поколение появилось в 2021 году, затем развивалось PP-StructureV2, а в PaddleOCR 3.x основным вариантом стал PP-StructureV3. Текущий официальный репозиторий прямо предупреждает, что старый каталог ppstructure содержит код и документацию второго поколения, будет удалён в будущем, а сопровождение V2 планируется прекратить. Для нового внедрения разработчики рекомендуют PP-StructureV3 из интегрированного wheel-пакета.
Назначение V3 шире обычного OCR. Текстовое распознавание отвечает только на вопрос «что написано и где находится строка», а структурный конвейер дополнительно определяет типы областей страницы, порядок чтения, таблицы, формулы, печати и при включении соответствующего модуля диаграммы. На выходе можно получить не просто последовательность строк, а представление документа, пригодное для индексации, подготовки данных для RAG, конвертации в Markdown или последующего анализа приложением.
Важно не смешивать PP-StructureV3 с PaddleOCR-VL. Оба решения присутствуют в современной экосистеме PaddleOCR и решают задачу разбора документов, но построены по-разному и имеют отдельные интерфейсы и параметры. Кроме того, функция конвертации Word, Excel и PowerPoint в Markdown, появившаяся в PaddleOCR 3.5, относится к отдельной группе doc2md и не означает, что PP-StructureV3 напрямую принимает офисные файлы как обычный вход.
Хронология развития и поддержки
2021 год. Запущена серия PP-Structure. Это отправная точка семейства, а не номер текущего пакета PaddleOCR.
Второе поколение. PP-StructureV2 закрепило прежний набор сценариев, включая старую реализацию KIE. В текущем репозитории этот код оставлен в отдельном каталоге как наследуемый; разработчики предупреждают о будущем удалении каталога и прекращении поддержки V2, а для извлечения ключевой информации вместо старого KIE рекомендуют PP-ChatOCRv4.
2025 год и PaddleOCR 3.x. PP-StructureV3 стал актуальным поколением. Вместе с переходом на 3.x изменились интерфейсы PaddleOCR, поэтому код, написанный для ветки 2.x, нельзя считать автоматически совместимым с 3.x.
21 апреля 2026 года. В PaddleOCR 3.5 для PP-StructureV3 добавили экспорт результата разбора в DOCX. Одновременно экосистема получила унифицированный выбор движков инференса, что расширило варианты интеграции.
11 июня 2026 года. Выпущен PaddleOCR 3.7.0 — актуальная стабильная версия пакета на дату этого обзора. Сам PP-StructureV3 при этом остаётся поддерживаемой линией, хотя рядом уже развиваются другие парсеры PaddleOCR, включая PaddleOCR-VL и HPD-Parsing. Это не делает V3 снятым с поддержки: он по-прежнему присутствует в документации, API и таблице зарегистрированных конвейеров PaddleX.
Основные функции PP-Structure
Определение макета и порядка чтения
Базовый слой PP-StructureV3 — анализ компоновки страницы. Конвейер определяет области документа, связывает их с последующей обработкой и восстанавливает порядок чтения. Это особенно важно для двухколоночных статей, отчётов с врезками и страниц, где визуальная последовательность блоков не совпадает с простым чтением слева направо и сверху вниз. В Markdown порядок блоков становится частью результата, поэтому качество layout analysis влияет не только на координаты, но и на смысловую связность полученного текста.
OCR и языковые модели
Внутри PP-StructureV3 используется OCR-подконвейер. Текущая документация поддерживает переключение языка и модели распознавания, причём набор доступных языков зависит от поколения PP-OCR. Для русского языка предусмотрены совместимые модели, но полагаться на конфигурацию по умолчанию не стоит: стандартная настройка ориентирована на китайско-английский сценарий, а официальная инструкция отдельно отмечает, что для чисто английского текста лучше выбирать специализированную английскую модель. Тот же принцип применим к другим языкам — модель должна соответствовать фактическому содержимому.
Таблицы
Табличный блок пытается восстановить структуру строк, столбцов и ячеек, а не просто распознать текст внутри прямоугольной области. Результаты таблиц можно использовать в структурированном выводе, а текущие методы сохранения поддерживают HTML и XLSX для табличных данных. Это делает PP-StructureV3 полезным для счетов, ведомостей, прайс-листов и отчётов, где обычный OCR выдаёт набор строк, но не сохраняет отношения между ячейками.
Формулы, печати и диаграммы
Конвейер включает отдельные модули распознавания формул и печатей, а анализ диаграмм подключается опционально. Такая модульность важна для управления ресурсами: если в потоке нет формул или графиков, соответствующие компоненты можно отключить и не оплачивать их вычислительную стоимость. Для ONNX Runtime текущая инструкция PP-StructureV3 отдельно требует отключать распознавание формул, поскольку поддержка части моделей в этом движке ещё не завершена.
Предобработка изображения
Опциональный блок обработки документа умеет включать классификацию ориентации, выправление деформации страницы и определение ориентации текстовых строк. Эти функции полезны для фотографий, развёрнутых сканов и съёмки листа под углом. В примерах PP-StructureV3 соответствующие переключатели не обязаны быть активны по умолчанию, поэтому для проблемного источника их следует включать осознанно, а не считать автоматической коррекцией гарантированной.
Структурированный экспорт
Результат доступен как объект Python с представлениями JSON, Markdown и визуализациями. Можно сохранять JSON для машинной обработки, Markdown для текстовых систем и DOCX для последующего редактирования в офисном приложении. Для многостраничного PDF каждая страница обрабатывается отдельно; специальный метод объединяет полученные Markdown-страницы в единый документ. Исходный PDF при этом не превращается в «отредактированный PDF» — создаётся производный результат.
Интерфейс и удобство использования
У PP-StructureV3 нет традиционного графического интерфейса. Рабочая поверхность — терминал, Python-код либо интерфейс собственного приложения, поэтому удобство определяется качеством API, параметров и структуры результата.
Командная строка
CLI удобен для проверки установки и единичных задач. Базовая команда имеет вид paddleocr pp_structurev3 -i input.pdf. Через параметры можно выбирать устройство, включать выправление документа, менять модели и указывать путь сохранения. Результат по умолчанию печатается в терминал, а сохранение файлов выполняется только при явной настройке. Такой подход безопаснее «магического» экспорта: пользователь сам задаёт, куда будут записаны производные данные.
Python API
Для реальной интеграции используется класс PPStructureV3 и метод predict. При обработке большого набора данных доступен predict_iter, возвращающий генератор и позволяющий получать результаты последовательно, не удерживая весь набор одновременно в памяти. Это заметно удобнее для конвейеров обработки каталогов и очередей документов.
Визуальный контроль результата
Хотя отдельного GUI нет, результат может содержать визуализированные изображения для layout detection, OCR, формул, таблиц и других подключённых модулей. Их можно сохранить и сопоставить с исходной страницей. Такой контроль особенно полезен при настройке: если Markdown выглядит неправильно, визуализация помогает понять, ошибка возникла на этапе распознавания текста, определения блока или восстановления структуры.
Порог входа выше, чем у ABBYY FineReader или другого оконного OCR-приложения. Пользователю желательно уверенно работать с Python-окружениями и зависимостями. Зато после настройки обработка повторяется одинаково и хорошо подходит для автоматизации без ручных действий.
Поддерживаемые форматы и совместимость
Метод PP-StructureV3 принимает массив изображения в Python, строку с локальным путём к изображению или PDF, URL изображения или PDF, а также список таких входов. Допускается каталог с изображениями, но документация специально оговаривает: каталог, содержащий PDF, не обрабатывается как пакет PDF-файлов; многостраничные PDF нужно передавать конкретными путями. Это ограничение важно для пакетных заданий — список PDF лучше формировать в собственном скрипте.
Официальные примеры используют PNG и JPG, а документация формулирует вход шире как «image». Поэтому при нестандартном растровом формате безопаснее проверить поддержку используемого загрузчика, чем объявлять любой графический файл гарантированно совместимым. На уровне задач PP-StructureV3 ориентирован прежде всего на визуальные страницы: сканы, фотографии документов и PDF.
Экспорт
- JSON — структурированное представление результата, удобное для кода, индексации и собственной постобработки.
- Markdown — текстовое представление с сохранением структуры, удобное для публикации, RAG и работы с LLM.
- DOCX — экспорт результата разбора в редактируемый документ Word, доступный в актуальной ветке с PaddleOCR 3.5.
- HTML и XLSX — специализированное сохранение распознанных таблиц.
- PNG-визуализации — изображения промежуточных и итоговых зон для контроля распознавания.
Если дальнейшая работа идёт в офисном редакторе, DOCX можно открыть, например, в LibreOffice Writer. При этом не следует ожидать, что DOCX станет пиксельно идентичной копией исходного PDF: задача PP-StructureV3 — извлечь и восстановить структуру, а не эмулировать движок верстки исходного документа.
Совместимость с офисными файлами
DOCX, XLSX и PPTX как прямой вход PP-StructureV3 в текущем API не заявлены. У PaddleOCR есть отдельная возможность преобразования офисных форматов в Markdown, но она относится к группе doc2md. Смешивать эти два маршрута в одном описании нельзя: PP-StructureV3 разбирает визуальные документы и PDF, а doc2md обслуживает нативные офисные контейнеры.
Паспорт переноса данных
Исходник остаётся главным носителем. PP-StructureV3 читает PDF или изображение и создаёт отдельный результат. Поэтому для архивного и юридически значимого хранения разумно сохранять оригинал, а JSON, Markdown, DOCX и XLSX считать производными файлами.
JSON лучше всего переносит структуру в программы. В нём сохраняются машинно читаемые поля результата и координатная информация, которую можно использовать для собственных проверок и повторного построения представления. Если планируется RAG, аналитика или последующая валидация, JSON обычно ценнее, чем один только Markdown.
Markdown удобнее для текста, но беднее визуальной верстки. Он хорошо переносит заголовки, абзацы, таблицы и порядок чтения, однако не предназначен для точного воспроизведения типографики, колонок, плавающих объектов и размеров элементов исходной страницы. Это не ошибка формата, а его модель данных.
Производительность и стабильность
PP-StructureV3 состоит из нескольких моделей и заметно тяжелее базового OCR. Конфигурация по умолчанию использует крупные модели; для слабого оборудования предусмотрены облегчённые варианты и отключение ненужных этапов. CPU поддерживается, но для высокой производительности рекомендуется GPU.
CPU-инференс официально поддерживается и подходит для небольших объёмов либо облегчённых конфигураций. Для массовой обработки заранее определите, нужны ли диаграммы, печати, формулы и сложная предобработка на каждом документе.
Большие наборы и память
Метод predict_iter возвращает результаты постепенно и предназначен для сценариев, где полный список может занимать много памяти. Для многостраничных PDF также полезно разделять распознавание и последующее объединение Markdown: сначала сохранить или обработать результат страниц, затем собрать единый файл. Такой маршрут устойчивее, чем держать все тяжёлые визуализации в памяти до конца задания.
Типовые причины проблем
- Первый запуск может быть заметно дольше из-за загрузки официальных моделей, если локальные model_dir не заданы заранее.
- Слишком тяжёлая конфигурация способна привести к нехватке RAM или VRAM; текущая документация рекомендует отключать необязательные функции или выбирать лёгкие модели.
- Неподходящий OCR-язык снижает качество текста даже при корректном layout detection.
- Выбор несовместимого движка может отключить часть функциональности; актуальный пример — формулы в ONNX Runtime.
- Переход с PaddleOCR 2.x на 3.x требует проверки кода из-за изменений API, поэтому старый пример из блога нельзя механически считать рабочим для V3.
Лицензирование и версии
Код PaddleOCR и пакет paddleocr распространяются по Apache License 2.0. Для локального PP-StructureV3 нет редакций Standard, Pro или Enterprise, платы за место, пробного периода и обязательной регистрации. Лицензионная стоимость самого open-source пакета равна нулю; реальные расходы возникают на вычислительную инфраструктуру, хранение, поддержку и интеграцию.
Apache 2.0 допускает использование в коммерческих проектах при соблюдении условий лицензии и уведомлений. Для корпоративного внедрения дополнительно стоит фиксировать версии сторонних зависимостей и проверять лицензии конкретных моделей и библиотек, которые добавляются в окружение, особенно если конфигурация выходит за стандартный набор PaddleOCR.
Локальный запуск и официальный API — не одно и то же
Локальный режим загружает модели в ваше окружение и обрабатывает файлы на вашей машине или сервере. Учётная запись PaddleOCR для этого не требуется. Официальный PaddleOCR API — отдельный hosted-сервис: Python SDK отправляет задачу на удалённый сервис и требует access token. Квоты и правила этого API не являются ограничением open-source PP-StructureV3 и не должны описываться как «бесплатный тариф программы».
С точки зрения приватности это важное различие. Если политика запрещает передачу документов стороннему облаку, используйте локальный inference и заранее размещайте модели в контролируемой среде. Если выбран официальный API, данные участвуют в сетевом запросе к hosted-сервису, поэтому необходимо оценить правила сервиса и требования вашей организации до обработки конфиденциальных документов.
Системные требования
Python и зависимости
Метаданные пакета paddleocr допускают Python 3.8 и новее, однако группа doc-parser, в которую входит PP-StructureV3, из-за upstream-зависимостей требует Python 3.9+. Поэтому для новой установки PP-StructureV3 разумно считать Python 3.9 практическим минимумом. Пакет 3.7.0 зависит от соответствующей ветки PaddleX 3.7.x; в официальной таблице совместимости для PaddleOCR 3.7.x указан PaddleX не ниже 3.7.0 и ниже 3.8.0.
Движок
Для фактического запуска модели нужен движок инференса. Стандартный вариант — PaddlePaddle; для ветки PaddleOCR 3.x официальная таблица указывает PaddlePaddle 3.0.0 или новее. Начиная с унифицированной схемы инференса также поддерживаются Transformers и ONNX Runtime. Документация текущей ветки требует совместимую версию Transformers и отдельно предупреждает о потенциальных конфликтах зависимостей, поэтому разные движки лучше не смешивать без необходимости в одном окружении.
Операционная система и архитектура
Wheel paddleocr отмечен как платформенно независимый, но это не означает одинаковой поддержки всех аппаратных режимов. Реальная совместимость задаётся выбранным inference engine. Для high-performance inference официальная инструкция явно ограничивает готовый путь Linux x86-64 и Python 3.8–3.12; с учётом doc-parser фактически нужен Python 3.9–3.12. Обычный локальный запуск может работать в других поддерживаемых движком средах, но проверять следует именно матрицу выбранного PaddlePaddle, Transformers или ONNX Runtime, а не только тег wheel.
Память и место на диске
Карта критических зависимостей
| Зависимость | Зачем нужна | Что произойдёт при проблеме |
|---|---|---|
| Python 3.9+ | Запуск актуальной группы doc-parser | Несовместимые зависимости не установятся или окружение будет нестабильным |
| paddleocr и PaddleX одной ветки | API, конвейер и модели | Изменение интерфейсов или конфликт версий |
| Inference engine | Непосредственное выполнение моделей | PP-StructureV3 не сможет выполнить распознавание |
| Модельные файлы | Layout, OCR, таблицы, формулы и другие модули | Первый запуск потребует загрузки либо завершится ошибкой при отсутствии сети и локальных моделей |
| Драйверы и CUDA для GPU | Аппаратное ускорение | Переход на CPU, ошибка инициализации или невозможность запустить выбранную сборку |
| Access token | Только официальный hosted API | Облачный запрос не авторизуется; локальный режим не затрагивается |
Для production-среды полезно фиксировать не только версию paddleocr, но и Python, выбранный движок, модельные имена и конфигурацию pipeline. Иначе два сервера с «одинаковым PP-StructureV3» могут фактически использовать разные наборы моделей и давать отличающиеся результаты. Конфигурация PaddleX в YAML позволяет хранить параметры рядом с кодом и облегчает воспроизводимость.
Преимущества и недостатки PP-Structure
Плюсы и минусы
Плюсы ✔️
- Открытый исходный код и Apache 2.0 без платы за локальную лицензию.
- Разбор документа выходит далеко за рамки OCR: layout, порядок чтения, таблицы, формулы, печати и опциональные диаграммы.
- Структурированные форматы вывода подходят для RAG, индексации и автоматической обработки.
- Можно работать локально без передачи исходных документов hosted API.
- Модульная конфигурация позволяет отключать дорогие по ресурсам функции.
- Есть CLI, Python API, сервисное развёртывание и несколько движков инференса.
- Поддерживается CPU, а для серьёзной нагрузки можно использовать GPU и другие ускорители.
- Проект активно поддерживается в составе актуальной ветки PaddleOCR 3.x.
Минусы ❌
- Нет настольного GUI: для обычного пользователя установка и настройка заметно сложнее, чем у коммерческого OCR-приложения.
- Полная конфигурация ресурсоёмка; серверные модели могут требовать большой объём VRAM.
- Качество зависит от правильного выбора языковой OCR-модели и включённых модулей.
- Не все движки поддерживают полный набор функций; ONNX Runtime сейчас требует компромисса с formula recognition.
- Прямой вход ориентирован на изображения и PDF; Office-файлы относятся к другой функции PaddleOCR.
- Экспорт в Markdown или DOCX не гарантирует пиксельного воспроизведения исходной верстки.
- Миграция старого кода PaddleOCR 2.x требует адаптации к интерфейсам 3.x.
Сравнение с аналогами
| Инструмент | Главная задача | GUI | Локальная работа | Структура документа | Типичный результат |
|---|---|---|---|---|---|
| PP-StructureV3 | Парсинг PDF и изображений для автоматизации | Нет | Да | Layout, порядок чтения, таблицы, формулы, дополнительные модули | JSON, Markdown, DOCX |
| Docling | Универсальная конвертация документов и подготовка к GenAI | Нет как основной режим | Да | Layout, таблицы, формулы, код, изображения | Markdown, HTML, JSON и собственная модель документа |
| OCRmyPDF | Добавление поискового OCR-слоя в сканированный PDF | Нет | Да | Не ориентирован на восстановление сложной структуры как основной результат | Поисковый PDF/PDF-A и sidecar-текст |
| ABBYY FineReader PDF | OCR, редактирование и конвертация документов в настольном приложении | Да | Да | Разметка и OCR с ручной проверкой | PDF, Word, Excel и другие офисные форматы |
| Sumatra PDF | Быстрый просмотр и чтение документов в Windows | Да | Да | Не является OCR-парсером сканов | Просмотр, печать и операции чтения |
PP-StructureV3 или Docling
Docling ближе всего по классу: он тоже умеет разбирать PDF, определять структуру и экспортировать Markdown/JSON, причём поддерживает существенно больше исходных форматов, включая DOCX, PPTX, XLSX, EPUB, HTML и другие. PP-StructureV3 привлекательнее, если проект уже использует экосистему PaddleOCR, нужны его OCR-модели, специализированные модули таблиц, формул и печатей или требуется точная настройка отдельных компонентов конвейера.
PP-StructureV3 или OCRmyPDF
OCRmyPDF решает более узкую, но важную задачу: берёт существующий сканированный PDF и добавляет OCR-слой, чтобы документ стал доступен для поиска и копирования, обычно сохраняя PDF как основной носитель. Если цель — архив поисковых PDF/A, это часто проще и естественнее. Если же нужны JSON, Markdown, таблицы и восстановление порядка чтения, PP-StructureV3 соответствует задаче лучше.
Место относительно Sumatra PDF
Sumatra PDF и PP-StructureV3 не конкурируют напрямую. Sumatra PDF — лёгкий Windows-просмотрщик, предназначенный прежде всего для чтения PDF, EPUB, MOBI, DjVu, XPS, комиксов и других форматов. Документация Sumatra прямо советует использовать OCR в другом инструменте для сканов без текстового слоя. Поэтому разумная связка выглядит так: PP-StructureV3 распознаёт и структурирует входной документ, а Sumatra PDF используется для быстрого визуального просмотра исходного или итогового PDF. Если требуется именно PDF-редактирование, ближе по назначению будут PDF-XChange Editor и аналогичные редакторы, а не PP-StructureV3.
Инструкция по установке
Локальная установка для актуального PP-StructureV3
- Установите Python 3.9 или новее. Для рабочего проекта создайте отдельное виртуальное окружение, чтобы зависимости распознавания не конфликтовали с другими Python-приложениями.
- Выберите движок инференса. Для стандартного маршрута установите совместимый PaddlePaddle по официальной инструкции именно для вашей ОС и устройства. GPU-сборку нельзя выбирать только по названию видеокарты: должны совпадать поддерживаемые CUDA и драйверы.
- Активируйте окружение и установите PP-StructureV3 вместе с зависимостями: python -m pip install «paddleocr[doc-parser]==3.7.0».
- Проверьте, что CLI доступен, вызвав paddleocr —help. Затем подготовьте локальный тестовый PDF или изображение, не содержащее конфиденциальных данных.
- Запустите paddleocr pp_structurev3 -i input.pdf. При первом запуске нужные официальные модели могут загружаться автоматически, если их каталоги не были указаны заранее.
- Сначала оцените напечатанный структурированный результат и визуализации. Только после этого задавайте постоянный каталог экспорта и добавляйте обработку реальных документов.
Удаление
У PP-StructureV3 нет отдельного системного деинсталлятора, описанного как часть продукта: это набор Python-пакетов и модельных файлов. Если установка была сделана в отдельном виртуальном окружении, самый безопасный путь выхода — сначала сохранить исходные документы, конфигурации, JSON/Markdown/DOCX и нужные модели, затем удалить само окружение как единый изолированный каталог. Автоматически удалять общие CUDA-драйверы, системный Python или кэш моделей других проектов не следует.
Практические кейсы
Сканированный отчёт в единый Markdown
Цель. Получить из многостраничного сканированного PDF связный Markdown для внутренней базы знаний.
Подготовка. Сохраните оригинальный PDF отдельно. Выберите OCR-язык, соответствующий документу. Если страницы бывают повёрнуты или сфотографированы с перспективой, включите ориентацию и выправление.
- Создайте PPStructureV3 с нужной языковой моделью и параметрами предобработки.
- Передайте путь PDF в predict или predict_iter.
- Для каждой страницы соберите поле markdown и связанные изображения.
- Объедините страницы методом concatenate_markdown_pages и сохраните единый файл.
Проверка. Сверьте заголовки, порядок колонок, границы абзацев и несколько страниц со сложными таблицами с оригиналом.
Ограничение. Markdown не воспроизводит исходную типографику один в один; для юридического архива оставляйте исходный PDF рядом с производным текстом.
Таблица из счёта в XLSX
Цель. Извлечь строки и столбцы из счёта, чтобы затем проверять суммы в табличном приложении.
Подготовка. Убедитесь, что изображение таблицы достаточно чёткое и вся сетка попадает в кадр. Для фотографии с перспективой включите document unwarping.
- Запустите pipeline с включённым table recognition.
- Проверьте визуализацию области таблицы и OCR-текста.
- Сохраните табличный результат в XLSX или HTML.
- Сравните число строк и ключевые ячейки: итог, НДС, даты, идентификаторы.
Проверка. Формат XLSX удобен для последующей проверки формулами, но критические суммы следует сопоставить с исходным изображением.
Ограничение. Объединённые ячейки, сложные рамки и плохой скан могут изменить структуру. PP-StructureV3 не гарантирует бухгалтерскую достоверность без валидации.
Научная статья с формулами и двухколоночной версткой
Цель. Получить текст и формулы из PDF для поиска и подготовки корпуса данных.
Подготовка. Используйте конфигурацию с formula recognition и layout detection; chart parsing включайте только при реальной необходимости.
- Запустите разбор страницы и сохраните JSON вместе с Markdown.
- Сверьте reading order на двухколоночных страницах по визуализации layout.
- Выберите несколько формул разных типов и сравните распознанное представление с оригиналом.
- В индекс передавайте Markdown, а JSON храните как технический слой для трассировки координат и повторной проверки.
Проверка. Ищите не только явные ошибки символов, но и перестановку блоков, когда подпись рисунка попала в середину основного абзаца.
Ограничение. Если выбран ONNX Runtime, текущая документация требует отключить formula recognition; для этого сценария нужен другой поддерживаемый движок.
Контроль перед сохранением и передачей
- Сохранён ли оригинальный PDF или скан отдельно от производных файлов.
- Совпадает ли язык OCR с содержимым документа.
- Проверен ли порядок чтения хотя бы на страницах со сложной версткой.
- Сверены ли критические числа и таблицы с оригиналом.
- Не потерялись ли формулы, подписи, печати и изображения, важные для смысла.
- Нужны ли получателю Markdown, DOCX, XLSX или именно JSON для автоматизации.
- Не содержит ли экспорт лишние промежуточные изображения с конфиденциальными данными.
- Записана ли версия PaddleOCR и конфигурация, чтобы результат можно было воспроизвести.
Часто задаваемые вопросы
PP-Structure — это отдельная программа?
Нет. Актуальный PP-StructureV3 поставляется как конвейер внутри PaddleOCR и используется через CLI, Python API или сервисное развёртывание. Старый каталог PP-StructureV2 не следует принимать за отдельный актуальный продукт.
Можно ли с его помощью редактировать PDF как в Acrobat?
Нет. PP-StructureV3 анализирует содержимое и создаёт структурированный экспорт. Для ручного изменения текста, страниц, аннотаций, форм и подписей нужен PDF-редактор вроде PDFelement, Acrobat или аналогичного приложения.
Нужен ли интернет?
Для локального inference документы не обязаны отправляться в облако. Однако интернет обычно нужен для установки пакетов и первой автоматической загрузки моделей, если они не подготовлены локально. После размещения всех зависимостей и model files можно строить закрытый контур без hosted API.
Нужна ли регистрация?
Для локального open-source режима — нет. Для официального PaddleOCR API требуется access token, потому что это отдельный сетевой сервис.
Поддерживается ли русский язык?
В таблицах языков PaddleOCR русский присутствует для совместимых поколений OCR-моделей. При русскоязычном документе нужно выбирать соответствующий lang и совместимую модель, а не оставлять китайско-английскую конфигурацию по умолчанию.
Можно ли напрямую передать DOCX или PPTX?
Не в PP-StructureV3 как обычный input. Современный PaddleOCR умеет конвертировать Word, Excel и PowerPoint в Markdown отдельной функцией doc2md. Это другой маршрут обработки.
Что лучше хранить после распознавания: Markdown или JSON?
Для чтения и RAG удобнее Markdown, а для повторной машинной обработки и трассировки структуры — JSON. В серьёзном процессе полезно сохранять оба, плюс исходный документ.
Является ли PP-StructureV3 заменой Sumatra PDF?
Нет. Sumatra PDF нужен для быстрого чтения и просмотра, а PP-StructureV3 — для распознавания и преобразования страницы в структурированные данные. Эти инструменты скорее дополняют друг друга.
Вывод
PP-StructureV3 подходит разработчикам и командам автоматизации, которым нужно превращать PDF и изображения в структурированные данные, а не просто видеть страницу на экране. Его сильная сторона — сочетание layout analysis, OCR, таблиц, формул, порядка чтения и нескольких экспортных форматов в одном открытом конвейере. Особенно логично использовать его для подготовки Markdown и JSON, RAG, извлечения таблиц и серверной обработки документов.
Для одиночного пользователя без навыков Python порог входа высок: нет привычного GUI, а качество и скорость зависят от модели, движка и конфигурации. Если задача — вручную проверить OCR и отредактировать документ, удобнее FineReader или другой настольный OCR/PDF-инструмент. Если нужен поисковый PDF/A без сложного структурного экспорта, OCRmyPDF проще. Если нужно читать PDF и электронные книги, PP-StructureV3 вообще не заменяет Sumatra PDF.
Для нового внедрения следует выбирать PP-StructureV3, фиксировать версии зависимостей, хранить исходники отдельно и проверять качество на документах своей предметной области. PP-StructureV2 разумно оставлять только для сопровождения наследуемого кода.