OCR и распознавание PDF — от скана к PDF с возможностью поиска, извлечение текста и таблиц
OCR и распознавание PDF
OCR для PDF онлайн бесплатно — превращайте сканированные PDF в файлы с возможностью поиска, извлекайте текст через OCR, создавайте PDF с возможностью поиска из изображений. Всё работает в вашем браузере. Также: Редактор PDF | Безопасность | Сжатие | Утилиты.
Примечание о производительности: при первом использовании OCR загружает около 12 МБ языковых данных. Обработка требовательна к процессору и выполняется полностью в вашем браузере. Для больших документов (более 10 страниц) ожидайте несколько минут обработки. Результат зависит от качества скана и языка.
0%
0%
0%
0%
Скан→с возможностью поиска: отрисовывает каждую страницу PDF как изображение, запускает OCR для распознавания текста, затем создаёт новый PDF с невидимым текстовым слоем поверх изображения страницы. Получившийся PDF можно искать и выделять.
Изображение→PDF: берёт одно или несколько изображений, запускает OCR для каждого и создаёт PDF, где каждое изображение становится страницей, а распознанный текст — невидимым наложением. Отлично подходит для фотографий документов.
Текст OCR: принимает PDF или файл изображения. Для PDF каждая страница отрисовывается как изображение и обрабатывается OCR. Показывается распознанный текст, который можно скопировать. Лучше всего подходит для извлечения текста из сканированных документов.
Извлечение таблицы: отрисовывает страницу PDF как изображение, запускает OCR и пытается определить структуру таблицы по позициям текста. Результаты приблизительны: сложные таблицы могут восстановиться не идеально. Для точных таблиц используйте специализированные инструменты извлечения.
Что такое OCR?
Сканированный PDF по сути является фотографией страницы: для компьютера это сетка пикселей, и в ней нет текста. OCR (оптическое распознавание символов) — технология, которая анализирует эти пиксели и определяет, какие символы они изображают. Результатом может быть обычный текст, который вы копируете (режим «Текст OCR»), или невидимый текстовый слой поверх изображения страницы (режимы «Скан→с возможностью поиска» и «Изображение→PDF»); именно он делает скан доступным для поиска в любом просмотрщике PDF.
Версия в одну строку: OCR угадывает текст по формам чернильных штрихов. Это распознавание, а не чтение — результат является наилучшей догадкой с оценкой уверенности, а не эталонным текстом, как в исходном, созданном в цифровом виде PDF.
Конвейер OCR
Любой движок OCR проходит примерно одни и те же этапы. Сначала страница отрисовывается в изображение (для PDF каждая страница растеризуется). Затем идёт бинаризация: пиксели относятся к чернилам или к бумаге, поэтому движок работает с чёрно-белыми формами. Далее формы сегментируются на строки, слова и отдельные символы. Наконец каждый кандидат классифицируется — современные движки используют обученные нейросети, которые смотрят на целые строки текста, а не на отдельные буквы, поэтому гораздо лучше справляются с размытым или слегка перекошенным вводом, чем старые сопоставители одиночных символов. Важен и язык: движок использует словари и наборы символов конкретного языка, поэтому выбор правильного языка в списке выше повышает точность.
Невидимый текстовый слой
«PDF с возможностью поиска» состоит из двух слоёв: исходного изображения страницы, которое вы видите, и невидимого текстового слоя, расположенного под ним. Когда вы выделяете текст в просмотрщике, на самом деле выделяется этот скрытый слой. Видимый скан не меняется — изображение остаётся нетронутым, поэтому качество и внешний вид не меняются. Компромисс в том, что копирование и результаты поиска точны ровно настолько, насколько точен проход OCR под ним. Если слово распознано неверно, поиск по правильному написанию его не найдёт, потому что скрытый слой содержит ошибку.
Почему DPI решает всё
Точность распознавания зависит от того, сколько пикселей приходится на каждый символ. Страницы PDF задаются в пунктах (72 на дюйм), но символ 10 пт при низком разрешении схлопывается в несколько пикселей — при 150 DPI символ 10 пт имеет высоту всего около 21 пикселя, а при 300 DPI — около 42 пикселей. Ниже примерно 20 пикселей засечки слипаются, буквы размазываются, и точность резко падает. Поэтому давнее правило для сканирования — 300 DPI для OCR: оно даёт каждому мелкому символу достаточно пиксельных деталей, не раздувая файл. Существенно большее разрешение редко помогает распознаванию — в основном оно лишь увеличивает скан и замедляет OCR.
Что OCR делает плохо
Рукописный текст, стилизованные декоративные шрифты и текст на сложном фоне по-прежнему слабые места. Таблицы — особый случай: OCR видит символы и их позиции, но не понимает строк и столбцов по-настоящему. Режим «Извлечение таблицы» выводит структуру по выравниванию, поэтому сложные таблицы получаются приблизительными. А если PDF уже содержит настоящий текст (он экспортирован из Word, а не отсканирован), OCR вообще не нужен: текст можно извлечь напрямую, точнее, с помощью инструментов экспорта PDF.
Распространённые заблуждения
«PDF с возможностью поиска — это то же самое, что PDF, созданный из Word». Нет: текстовый слой — это простой распознанный текст. При копировании абзаца может потеряться вёрстка, а любая ошибка распознавания вшита в скрытый слой.
«OCR восстанавливает исходный текст». Он воссоздаёт наилучшую догадку о нём. Страница с точностью 99% всё равно содержит примерно один неверный символ на 100 — для поиска этого достаточно, но для юридического или числового содержимого рискованно.
«Чем выше DPI, тем лучше». Сверх примерно 400–600 DPI прирост точности ничтожен, а размер файла и время обработки продолжают расти. 300 DPI — оптимум для типичных документов.
«Фото с телефона работают так же, как сканы». Перекос, неравномерное освещение и дрожание камеры снижают точность. Фотографируйте страницу ровно, прямо и при хорошем свете — или используйте настоящий сканер для важных документов.