pdf-inspector: Rust-библиотека для PDF
Быстрая Rust-библиотека для классификации PDF и извлечения текста без OCR, с привязками к Python, Node.js и WebAssembly.
privacy
Эта заметка участвует в semantic memory.
AI Summary
🚀 TL;DR pdf-inspector — это высокопроизводительная Rust-библиотека для локальной обработки PDF-документов. Она определяет тип PDF (текстовый/сканированный/смешанный), извлекает текст с координатами и конвертирует его в структурированный Markdown без использования OCR. Оптимизирована для скорости (обработка за <200 мс) и точности извлечения таблиц, заголовков и списков.
📖 Что это такое Инструмент от Firecrawl для интеллектуальной маршрутизации PDF: текстовые документы обрабатываются локально, сканированные отправляются на OCR. Поддерживает Python, Node.js, Rust и браузерный WebAssembly. Работает с CID-шрифтами, многостолбцовыми макетами и финансовыми таблицами.
🔑 Ключевые факты • Скорость: ~10-50 мс на классификацию, ~150 мс на извлечение • Точность: 0.875 overall score на бенчмарке opendataloader-bench (200 PDF) • Поддержка: TextBased, Scanned, ImageBased, Mixed типы • Таблицы: детекция по прямоугольникам + эвристика по выравниванию • Шрифты: ToUnicode CMap, UTF-16BE/UTF-8/Latin-1 • Стратегии сканирования: EarlyExit, Full, Sample(n), Pages(vec) • Бенчмарк (31 июля 2026): pdf-inspector 0.2.6, LiteParse 2.10.1, OpenDataLoader 2.2.1
⚙️ Как это работает
- Загрузка документа один раз через load_document_from_path/mem
- Классификация: парсинг xref-таблицы, поиск Tj/TJ и Do операторов
- Извлечение: fonts → content_stream → xobjects → links → layout
- Таблицы: detect_rects (union-find) + detect_heuristic (выравнивание)
- Markdown: анализ шрифтов → препроцессинг → конвертация → постобработка
💡 Вывод и значение pdf-inspector решает задачу умной маршрутизации PDF в пайплайнах: ~54% текстовых документов обрабатываются локально без OCR, что снижает стоимость и задержку. Лучший выбор для отчётов, научных статей, финансовых документов и юридических PDF, где важны скорость, порядок чтения и структура таблиц.
📌 Важные детали • CLI: pdf2md document.pdf [--json|--items-json|--raw|--compact|--pages|--select-pages] • Rust: cargo add pdf-inspector • Python: pip install maturin && maturin develop --release • Node.js: npm install @firecrawl/pdf-inspector • WASM: npm install @firecrawl/pdf-inspector-wasm • GitHub: https://github.com/firecrawl/pdf-inspector • Документация: docs/python.md, napi/README.md, wasm/README.md, docs/rust-api.md