# OCR-модели для документов: Tesseract, PaddleOCR, EasyOCR и Docling

Источник: https://modelium.tech/zhurnal/ocr-modeli/

Для обычного изображения с печатным текстом начните с Tesseract OCR и русских языковых данных; для сравнения детекции текста на сложных изображениях проверьте EasyOCR и PaddleOCR с явно выбранной версией для русского языка. Если нужен не только текст, но и структура PDF с таблицами, рассмотрите Docling или PP-StructureV3. Ни один вариант нельзя объявить лучшим для ваших счетов без сверки на размеченной выборке.

**Источники проверены 29 сентября 2026 года.** Указаны закреплённые ревизии четырёх проектов. Это выбор тестовых кандидатов, а не результат теста Modelium: ни точность на русском, ни скорость, ни требования к RAM/VRAM здесь не измерены.

## Какой результат вам нужен от OCR?

Для печатного текста на отдельном изображении нужен распознанный текст и, при проверке расположения слов, координаты. Для счёта или накладной результат сложнее: нужны строки таблицы, привязка сумм к полям и возможность сверить каждое значение с исходным листом. Tesseract даёт текст и форматы с позициями, но принимает изображение, а не PDF как входной документ; перед обработкой скана PDF страницу нужно подготовить как изображение [s1](#src-s1)[s2](#src-s2). Docling решает более широкую задачу разбора документа и экспорта структуры, в том числе таблиц [s5](#src-s5). Не путайте OCR с автоматическим заполнением 1С: извлечённый текст ещё нужно сопоставить с полями и проверить.

Начните с маленькой разрешённой выборки: читаемый скан с русским текстом и цифрами, страницу с таблицей, повернутую страницу и файл с плохим качеством. Для каждого подготовьте эталонные фрагменты и заранее отметьте критические поля — дату, номер, ИНН, сумму и строку товара. Никаких реальных клиентских документов в непроверенные сервисы; оценку удобно проводить локально на синтетических или согласованных обезличенных примерах.

## Когда брать Tesseract OCR?

Tesseract — движок и CLI с языковыми файлами `traineddata`, а не готовая система понимания счета. Он поддерживает PNG, JPEG и TIFF, возвращает текст, TSV, hOCR или PDF с текстовым слоем. Русский код языка — `rus`, английский — `eng`; без явно выбранного языка в руководстве указан английский по умолчанию [s1](#src-s1)[s2](#src-s2). Если у вас Linux или другая поддерживаемая установка, сначала проверьте наличие нужного языкового файла:

tesseract --versiontesseract --list-langstesseract ./test-page.png stdout -l rus+eng

По руководству `stdout` направляет результат в консоль, а `-l` выбирает языки; если `rus` отсутствует в `--list-langs`, получите русские `traineddata` через поддерживаемый способ установки для вашей ОС и повторите проверку [s2](#src-s2). Это пример команды, а не исполненный Modelium прогон. Если цифры и буквы прочитаны, но колонки смешаны, не объявляйте распознавание таблицы успешным: проверяйте координаты TSV либо переходите к структурному разбору [s1](#src-s1)[s4](#src-s4). Качество изображения и режим сегментации `--psm` могут менять результат; фиксируйте оба параметра при сравнении [s1](#src-s1)[s2](#src-s2).

## Когда сравнивать PaddleOCR и EasyOCR?

PaddleOCR объединяет детекцию и распознавание строк; его общий OCR-пайплайн предлагает варианты детекции, ориентации и распознавания [s3](#src-s3). **Важная развилка для русского:** в закреплённой документации default — `PP-OCRv6_medium`, но таблица поддерживаемых языков относит `ru` к `PP-OCRv5`, а не к `PP-OCRv6` [s3](#src-s3). Поэтому для русского теста явно выбирайте `ocr_version="PP-OCRv5"` и `lang="ru"`, сверяя поддержку именно вашей установленной версии; не выдавайте результаты дефолтной модели за русскоязычный тест [s3](#src-s3). Авторские показатели точности разных релизов PaddleOCR нельзя механически сравнивать: документация предупреждает, что наборы оценки v6 и v5/v4 различаются [s3](#src-s3).

EasyOCR — другой путь к детекции текста: пример автора возвращает прямоугольник, строку и оценку уверенности, а `gpu=False` допускает CPU-режим [s7](#src-s7). Выберите в конфигурации нужные языки из документации движка; не предполагается, что произвольные языки можно комбинировать вместе: README предупреждает об ограничениях сочетаний. При первом запуске EasyOCR может скачать веса, поэтому для закрытого контура их подготавливают заранее; сама опция CPU не доказывает, что весь другой стек офлайн [s7](#src-s7). Если вам нужен лишь текст и координаты на фото, сравните EasyOCR с Tesseract на **одних и тех же** изображениях, а не по чужим рекламным процентам.

## Когда OCR недостаточно и нужен Docling или PP-StructureV3?

Docling разбирает PDF и другие форматы, описывает порядок чтения, структуру таблиц и экспортирует Markdown либо JSON; это **конвейер обработки документов**, а не отдельная OCR-модель [s5](#src-s5). В его настройках можно выбрать разные OCR-движки, включая Tesseract и EasyOCR, поэтому фраза «Docling точнее Tesseract» без конкретного backend и корпуса ничего не означает [s6](#src-s6). Для русского обязательно проверьте соответствие кодов: `rus` у Tesseract и `ru` у EasyOCR/других движков — не один универсальный параметр [s2](#src-s2)[s6](#src-s6).

PP-StructureV3 решает близкую структурную задачу в экосистеме PaddleOCR: документация разделяет layout detection, общий OCR и модули таблиц/формул [s4](#src-s4). Это **альтернатива структурному пайплайну**, не синоним обычного PP-OCR и не гарантия точности на русских УПД. Если исходный PDF уже содержит извлекаемый текст, сначала проверьте, нужен ли OCR вообще: повторное распознавание изображения может добавлять ошибки; решение проверяется на исходнике и экспорте, а не по названию инструмента.

## Как проверить результат на своём железе?

Поставьте задачу до выбора модели: вход — сохранённые файлы с известными версиями; выход — проверенные текст, координаты и при необходимости таблица/поля. На одном и том же устройстве, с одинаковой выборкой и явно записанными версиями, языками, подготовкой изображения и конфигурацией сравните: (1) число верно прочитанных критических полей, (2) сохранение строк и колонок, (3) пропуски и подмены цифр, (4) время обработки и фактическое потребление RAM/VRAM. Решение о допустимом количестве ошибок и ручной проверке принимает владелец процесса. **Размер скачанного файла модели не является минимумом RAM/VRAM.**

Если качество скана, шрифт или таблица меняют исход, не переносите средний результат с чужого датасета на ваш. При отсутствии нужных языковых файлов либо незавершённой загрузке моделей остановите тест; при повреждённой таблице сохраните исходное изображение и исправленный эталон для повторной проверки. Установка и запуски на инфраструктуре Modelium не выполнялись. **Следующий шаг:** [откройте сценарий распознавания документов для 1С](/zadachi/raspoznavanie-dokumentov-1s/) и проверьте те же поля до передачи в учётную систему.

## Источники

1. [Tesseract OCR — README, commit db20f322](https://github.com/tesseract-ocr/tesseract/blob/db20f322d03664d1e878e2fbf6e904f5da755594/README.md) — получено 2026-09-29
2. [Tesseract — manual page, commit db20f322](https://github.com/tesseract-ocr/tesseract/blob/db20f322d03664d1e878e2fbf6e904f5da755594/doc/tesseract.1.asc) — получено 2026-09-29
3. [PaddleOCR — General OCR Pipeline, commit dab3fe35](https://github.com/PaddlePaddle/PaddleOCR/blob/dab3fe35379033fdcb2d0e9572fac0b36c9a9ebf/docs/version3.x/pipeline_usage/OCR.en.md) — получено 2026-09-29
4. [PaddleOCR — PP-StructureV3, commit dab3fe35](https://github.com/PaddlePaddle/PaddleOCR/blob/dab3fe35379033fdcb2d0e9572fac0b36c9a9ebf/docs/version3.x/pipeline_usage/PP-StructureV3.en.md) — получено 2026-09-29
5. [Docling — README, commit cd05bef2](https://github.com/docling-project/docling/blob/cd05bef2837c879cb636b5e8e61b03405bfdf7b8/README.md) — получено 2026-09-29
6. [Docling — OCR engine selection, commit cd05bef2](https://github.com/docling-project/docling/blob/cd05bef2837c879cb636b5e8e61b03405bfdf7b8/docs/concepts/OCR.md) — получено 2026-09-29
7. [EasyOCR — README, commit 363afb18](https://github.com/JaidedAI/EasyOCR/blob/363afb184047ce452e436f4224f3098422df872e/README.md) — получено 2026-09-29
