Дата: 2026-08-03
Версия: 3.7.0 (июнь 2026)
PP-StructureV3 — ключевой компонент для обработки документов:
PP-OCRv6 — текстовое распознавание:
Экспорт: Markdown, JSON, DOCX
Версия: 2.117.0 (июль 2026), IBM Research, MIT License
Ключевая функциональность:
DoclingDocumentOCR-движки (НЕТ PaddleOCR!):
Форматы экспорта:
| Формат | Официально | Структура | Для LLM |
|---|---|---|---|
| HTML | ✅ | Полная (таблицы, изображения, заголовки) | Отлично |
| Markdown | ✅ | Хорошая (таблицы, заголовки) | Отлично |
| JSON | ✅ | Полная, lossless | Хорошо |
| DocTags | ✅ | Полная, с координатами | Средне |
| Plain Text | ❌ (через Markdown) | Базовая | Плохо |
Docling НЕ поддерживает PaddleOCR как OCR-движок (v2.117.0).
Доступные движки: EasyOCR, Tesseract, RapidOCR, Nemotron, OcrMac, OnnxTR.
Вывод: напрямую интегрировать PaddleOCR в Docling в качестве OCR-backend невозможно без форка Docling.
Альтернативы для проекта scan2html:
Docling генерирует HTML с сохранением:
PaddleOCR PP-StructureV3 также сохраняет структуру в Markdown/JSON с координатами — но HTML-экспорта из коробки не предоставляет (только Markdown, JSON, DOCX).
Docling:
PaddleOCR PP-StructureV3:
Docling:
PaddleOCR PP-StructureV3:
PaddleOCR: предоставляет confidence для каждого распознанного слова/символа.
Docling: с v2.34.0 предоставляет:
layout_score — качество детекции элементовocr_score — качество OCRparse_score — 10-й перцентиль уверенностиtable_score — качество таблиц (ещё не реализовано)Confidence можно использовать для подсветки сомнительных мест.
PaddleOCR PP-StructureV3: ✅ Полные координаты
Docling: координаты доступны через DoclingDocument API (bounding boxes), но в HTML экспорт не передаются.
PaddleOCR PP-StructureV3:
Docling:
PaddleOCR: ✅ полностью offline. Модели скачиваются один раз в ~/.paddlex/official_models/.
Docling: ✅ полностью offline. Модели кешируются локально. Нет обращений к облачным сервисам. Поддерживает air-gapped environments.
# ===== PaddleOCR PP-StructureV3: полный pipeline =====
from paddleocr import PaddleOCR
ocr = PaddleOCR(lang="en", use_structure=True)
result = ocr.predict("page.jpg")
# result содержит:
# - markdown: структурированный Markdown
# - json: полный JSON с координатами
# - ocr_result: детальный OCR с confidence
# - table_result: таблицы с ячейками
# - layout_result: layout страницы
# ===== Docling: преобразование в HTML =====
from docling.document_converter import DocumentConverter
converter = DocumentConverter()
result = converter.convert("page.jpg")
html = result.document.export_to_html()
markdown = result.document.export_to_markdown()
json_out = result.document.export_to_dict()
confidence = result.confidence # ConfidenceReport
| Функция | PaddleOCR | Docling |
|---|---|---|
| OCR текста | PP-OCRv6 | EasyOCR/Tesseract/RapidOCR |
| Layout detection | PP-StructureV3 | Встроенный DocLayNet |
| Reading order | ✅ | ✅ |
| Таблицы + ячейки | PP-StructureV3 | TableFormer |
| Формулы → LaTeX | PP-StructureV3 | Formula recognition |
| HTML экспорт | ❌ (только MD/JSON/DOCX) | ✅ |
| Markdown экспорт | ✅ | ✅ |
| JSON экспорт | ✅ | ✅ |
| DOCX экспорт | ✅ (v3.5+) | ❌ |
| Confidence scores | ✅ | ✅ |
| Координаты элементов | ✅ | ✅ |
| Пакетная обработка | ✅ | ✅ |
Обоснование:
src/html/), принимающий на вход JSON от PaddleOCRJPEG page
↓
PaddleOCR PP-StructureV3
↓
JSON (структура + координаты + confidence)
↓
Генератор HTML (src/html/)
↓
HTML с data-атрибутами (confidence, координаты)
src/
split/ — разрезание (Stage 1, готово)
preprocess/ — deskew, crop, denoise (будущие этапы)
ocr/ — обёртка над PaddleOCR PP-StructureV3
html/ — генерация HTML из JSON-результата OCR
image_split.py — CLI (Stage 1)
src/html/) на основе JSON-вывода PaddleOCR.ai/ARCHITECTURE.mdГлавная цель минимизации собственного кода достигнута: PaddleOCR PP-StructureV3 покрывает OCR, layout detection, таблицы, формулы, координаты и confidence. Собственной реализации требует только HTML-генератор и CLI-интеграция.