ddp-pdf2json PDF → structured JSON

PDF → структурированный JSON.
Текст, таблицы, изображения, векторная графика.

Библиотека для преобразования PDF-документов в структурированный JSON: интеллектуальная склейка текстовых элементов (7 стратегий), гибкая конфигурация через единый объект Config, система паттернов с авторегистрацией парсеров и координаторов, визуализация объектов страниц (PNG / SVG / HTML).

— модулей
— символов API
— методов
— примеров

Быстрый старт

Низкоуровневое извлечение объектов страницы и высокоуровневая инвентаризация с объединением.

Низкий уровень PDFObjectInspector
from ddp_pdf2json.inspector.pdf_object_inspector import PDFObjectInspector

with PDFObjectInspector("report.pdf") as inspector:
    lines = inspector.collect_text(0, level="line", normalize=True)
    for obj in lines:
        print(obj.attrs["text"], obj.bbox)

    tables = inspector.collect_tables(0, min_rows=2, min_cols=2)
    report = inspector.inventory_document()
Высокий уровень InventoryInspector + Config
from ddp_pdf2json import get_config
from ddp_pdf2json.inspector import InventoryInspector

cfg = get_config(strategy="custom", x_tolerance=3.0)
inspector = InventoryInspector("document.pdf", cfg=cfg)
result = inspector.process()

print(result)  # dict с секциями content, __metadata, __processing_info
Паттерны и координаторы. Собственные парсеры регистрируются в ElementPatternRegistry и обрабатываются через ElementBlockProcessor / DocumentFlowCoordinator — см. полный пример в API reference → document.base.

Архитектура

Четыре модуля: конфигурация, низкоуровневый и высокоуровневый инспектор, фреймворк разбора блоков.

Стратегии мерджа

Передаются в get_config(strategy=...) — определяют агрессивность склейки текстовых элементов.

СтратегияОписание
simpleБазовые мягкие допуски
customПолный контроль геометрии, шрифтов, колонок
advancedCustom + динамические коэффициенты переносов
inventoryСтрогие допуски для инвентарных документов
conservativeМинимальная агрессивность склейки

Полный API reference

Все классы, методы и функции библиотеки — с сигнатурами, аргументами, типами и примерами использования.

Проверка…
ddp-pdf2json Документация сгенерирована из production source.
Наверх ↑