Инструменты3 августа 2026 г., 15:46 МСК🤖 Auto

Firecrawl выпустил pdf-inspector: быстрый парсер PDF на Rust без OCR

Библиотека pdf-inspector от Firecrawl позволяет за 200 мс классифицировать PDF и извлекать текст в Markdown, обходя необходимость в дорогих OCR-сервисах для 54% документов.

Баннер новости 4957

Решение для 54% PDF-документов

Команда Firecrawl представила pdf-inspector — легковесную библиотеку на Rust, предназначенную для локальной обработки PDF-файлов. Главная проблема, которую решает инструмент: большинство PDF (около 54%) являются текстовыми, а не сканированными изображениями, но многие пайплайны всё равно отправляют их через тяжеловесные OCR-сервисы. pdf-inspector позволяет обрабатывать такие документы локально, экономя время и вычислительные ресурсы.

Библиотека поддерживает биндинги для Python, Node.js и Browser WebAssembly, что делает её универсальной для серверных и клиентских приложений. Ключевая особенность — отсутствие внешних зависимостей и ML-моделей: парсер работает на чистом Rust с единственной зависимостью lopdf.

Скорость и точность: результаты бенчмарков

Оценка проводилась на корпусе opendataloader-bench (200 PDF-файлов) на оборудовании Apple M4 Pro. pdf-inspector показал наивысшие результаты по общей точности, порядку чтения и распознаванию таблиц, а также стал самым быстрым решением. Обработка всего корпуса заняла всего 0.470 секунды.

Движок Overall Reading Order (NID) Tables (TEDS) Headings (MHS) Speed (200 docs)
pdf-inspector 0.875 0.915 0.814 0.788 0.470s
liteparse 0.873 0.913 0.693 0.811 0.750s
opendataloader 0.831 0.902 0.489 0.739 2.569s
pymupdf4llm 0.735 0.886 0.401 0.424 17.117s
markitdown 0.589 0.844 0.273 0.000 16.165s

Результаты актуальны на 31 июля 2026 года. Версии: pdf-inspector 0.2.6, LiteParse 2.10.1, OpenDataLoader 2.2.1, PyMuPDF4LLM 0.2.0, MarkItDown 0.1.5.

Умная классификация и извлечение структуры

pdf-inspector не просто вытаскивает текст, но и понимает структуру документа. Алгоритм классификации определяет тип PDF за 10–50 мс, анализируя контентные потоки:

  • TextBased — чистый текст (не требует OCR).
  • Scanned — сканы изображений.
  • ImageBased — документы, состоящие из картинок.
  • Mixed — смешанный тип.

Для текстовых PDF инструмент обеспечивает позиционно-зависимое извлечение текста. Он распознает заголовки (H1-H4 на основе соотношения размеров шрифтов), списки, блоки кода (по моноширинным шрифтам) и ссылки. Особое внимание уделено таблицам: используется двухрежимное обнаружение (на основе прямоугольников и эвристик выравнивания), что позволяет корректно обрабатывать финансовые отчеты и многостраничные таблицы.

Поддержка сложных макетов и кодировок

Библиотека справляется с неочевидными задачами, которые часто ломают другие парсеры:

  • Многоколоночная верстка: автоматическое определение порядка чтения (включая RTL-текст) и газетных колонок.
  • CID шрифты: поддержка декодирования ToUnicode CMap для Type0/Identity-H шрифтов, включая UTF-16BE, UTF-8 и Latin-1.
  • Обнаружение ошибок: система автоматически помечает сломанные кодировки шрифтов, чтобы вызывающая сторона могла переключиться на OCR.

Документ загружается в память один раз и разделяется между этапами детекции и извлечения, что исключает избыточные операции ввода-вывода. Это делает pdf-inspector идеальным выбором для обработки отчетов, научных статей, счетов и юридических документов, где важна скорость и сохранение структуры.

Источник: Github ↗