BookTranslator
BookTranslator

Извлечение текста из PDF или OCR: как выбрать правильный путь перед переводом

Проверяйте каждую страницу PDF перед переводом. Этот эксперимент со смешанным файлом поможет понять, когда сохранить текст, запустить OCR или заменить некорректный текстовый слой.

BookTranslator

BookTranslator Team

9 min read

Используйте извлечение текста, если в PDF уже есть надежный машиночитаемый текст. Применяйте OCR, если страница содержит только изображение текста. Если же текстовый слой на странице поврежден или некорректен, стандартных правил недостаточно: нужно сравнить извлеченные слова с видимой страницей и решить, сохранить, заменить или распознать этот слой заново.

Это решение нужно принимать до перевода. Переводчик не сможет восстановить число, имя или предложение, которые изначально попали в систему с ошибкой. Он может перевести только тот исходный текст, который получил.

Таблица для быстрого принятия решений

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

Что содержит страницаЧто возвращает извлечениеОсновной путьЧто необходимо проверить
Изначально цифровой текстТе же слова, что отображаются на страницеСохранить и извлечьСимволы, порядок чтения, заголовки, ссылки и более крупную выборку
Только изображение страницыПустой или почти пустой результатПрименить OCR к этой страницеИмена, цифры, абзацы, колонки и язык
Скан с точным скрытым текстовым слоемТекст, совпадающий с изображениемОбычно лучше сохранитьПоказательные фрагменты и сложную верстку
Скан с неточным скрытым текстомПравдоподобные, но ошибочные слова или цифрыЗаменить или пересоздать слой OCRИзвестный сбойный фрагмент, затем новый образец
Цифровой текст с нарушенной кодировкой или порядком«Кракозябры» или перепутанный порядок чтенияПровести диагностику перед OCRПозволит ли другой способ экспорта или извлечения сохранить больше структуры

Возможность выделить слова говорит лишь о том, что текстовый объект существует. Это не доказывает, что текст совпадает с содержимым страницы. И наоборот: неудачная попытка копирования не означает, что весь PDF состоит только из изображений.

Наш тест на четырехстраничном смешанном PDF

Мы создали доступный для скачивания четырехстраничный PDF с заранее известным содержимым. В нем нет конфиденциальных или сторонних материалов:

  1. изначально цифровая страница;
  2. страница, состоящая только из изображения;
  3. страница в виде скана с корректным скрытым текстовым слоем;
  4. страница в виде скана с намеренно искаженным скрытым текстовым слоем.

Для каждой страницы мы запустили Poppler pdftotext по имеющимся данным PDF. Отдельно мы отрисовали страницу с разрешением 300 dpi и обработали полученное изображение через Tesseract. Визуальный эталон был зафиксирован до начала обоих тестов.

СтраницаТекущее извлечениеOCR отрисованной страницыРешение, подтвержденное тестом
Цифровой текстСовпало с видимым эталономТакже совпалоСохранить существующий цифровой текст; OCR здесь не дает преимуществ
Только изображениеПустоСовпалоOCR необходимо, если требуется машиночитаемый текст
Корректный скрытый OCR-слойСовпалоСовпалоСуществующий слой прошел проверку на этом контролируемом образце
Некорректный скрытый OCR-слойВернуло DX-4O7, 53 foliosи section 7.8Вернуло видимый текст DX-407, 58 foliosи section 7.5Выделяемому слою нельзя доверять

Дело вовсе не в том, что Tesseract выигрывает всегда. Он справился на этом четком англоязычном образце, потому что страница была специально сформирована для проверки конкретного сценария. На зашумленных сканах, редких шрифтах, таблицах, рукописном тексте или сложной верстке повторное распознавание через OCR может давать совершенно иные сбои.

Постраничные результаты, таблица принятия решений, заметки по воспроизведениюи генератор доступны вместе с тестовым набором. По состоянию на 21 сентября 2026 года использовались версии Poppler pdftotext 26.08.0 и Tesseract 5.5.3.

Что этот тест доказывает, а что — нет

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

Он не оценивает общую точность OCR, доступность для скринридеров, восстановление таблиц, многоязычное распознавание или логику загрузки в BookTranslator. Страницы в тесте простые, а ошибки на четвертой странице были внесены намеренно — Tesseract их не создавал.

Почему извлечение текста и OCR — это разные операции

Извлечение текста считывает текстовые объекты, уже сохраненные в PDF. OCR распознает символы по пикселям изображения. В текущем руководстве по извлечению текста pypdf проводится та же граница: библиотека pypdf может прочитать существующий текстовый слой, но не способна распознавать слова внутри изображения.

Это различие принципиально, поскольку цифровой PDF может содержать данные, которые при растеризации отбрасываются или становятся трудновосстановимыми: кодировки символов, сведения о шрифтах, ссылки, векторную графику и другие объекты документа. Разработчики pypdf прямо не рекомендуют использовать OCR как универсальное решение для изначально цифровых файлов. Кроме того, они указывают на другое ограничение: PDF обычно хранит текст для визуального отображения, а не в виде смысловых абзацев, таблиц или заголовков.

Поэтому на этапе предварительной проверки нужно ответить на два независимых вопроса:

  1. Правильно ли распознаны символы? Сверьте извлеченные имена, числа, знаки препинания и незнакомые термины с самой страницей.
  2. Пригодна ли структура к использованию? Прочитайте абзац целиком, затем проверьте колонки, сноски, таблицы, подписи к рисункам и границы страниц.

Даже если символы верны, нарушение их порядка превращает исходный текст в непригодный для перевода.

Постраничная предварительная проверка перед переводом

1. Сохраните оригинал

Оставьте исходный файл нетронутым и зафиксируйте его хеш, если документ представляет ценность. Экспериментируйте только на копиях. Замена несовершенного текстового слоя может сгладить векторные элементы или стереть информацию, которая понадобится позже.

2. Проведите инвентаризацию типов страниц

Не делайте выводов лишь по первой странице. Проверьте титульные листы, стандартные страницы основного текста, приложения, таблицы, иллюстрации, вклейки и любые страницы, похожие на сканы или ксерокопии.

В объемном документе зафиксируйте диапазоны страниц:

ДиапазонОбнаруженный типТестовый фрагментРезультатВыбранный путь
1–4Цифровые вводные страницыНазвание, автор, изданиеСовпадаетОставить извлечение текста
5–126Сканы страницОдин абзац и два числаТекст отсутствуетOCR
127–133Вставка с поисковым слоемИмя, дата, строка таблицыДве ошибкиЗаменить существующий слой OCR

Загружаемый CSV-файл использует тот же шаблон для нашего тестового набора данных.

3. Сравнивайте сложные элементы, а не только простой текст

Гладко читаемые предложения — плохой показатель для проверки. Обязательно протестируйте:

  • имя человека;
  • дату и числовое значение;
  • идентификатор, состоящий из букв и цифр;
  • текст с диакритикой или нелатинскими символами;
  • предложение с переносом строки;
  • фрагмент рядом со сноской, рисунком или второй колонкой.

Четвертая страница в нашем тестовом файле показалась бы пригодной, если бы проверка ограничилась распространенными словами. Ошибки сосредоточены в O/0, 58/53, а также 7.5/7.8— именно в тех токенах, которые способны исказить ссылки и факты после перевода.

4. Честно классифицируйте неопределенность

Используйте четыре результата: выборка прошла проверку, выборка провалена, нет извлекаемого текста или еще не тестировалось. «Текст выделяется» — это не результат. Как и «OCR завершено».

Выборочная проверка имеет свои ограничения. Успешный тест трех страниц не гарантирует качество 400-страничной книги, особенно если файл состоит из сканов разного происхождения или различной верстки. Увеличивайте охват там, где меняется исходный материал.

Выбирайте режим OCRmyPDF только после диагностики

В актуальной документации OCRmyPDF описано несколько вариантов поведения для страниц, которые уже содержат текст. Это варианты маршрутизации, а не гарантии качества.

  • Поведение по умолчанию прерывает работу, если страница уже содержит печатный текст или скрытый слой OCR, поскольку инструмент не может достоверно определить, с каким именно типом текста столкнулся.
  • Пропуск текста (Skip text) копирует страницы с текстом без изменений и запускает OCR для остальных страниц. Это полезно для смешанных файлов только в том случае, если исходный текст заслуживает доверия.
  • Повторный OCR (Redo OCR) удаляет существующий непечатаемый текст OCR и распознает страницу заново, не затрагивая при этом печатный векторный текст. Этот вариант подходит для смеси цифровых и ранее распознанных страниц, но он не способен распознать любые варианты исходной структуры.
  • Принудительный OCR (Force OCR) растеризует векторный контент и распознает полученное изображение. Этот режим может заменить испорченный слой, но он ведет к потере информации и может сделать неактивными интерактивные элементы.

Эта логика работы описана в документации по ошибкам существующего текстаOCRmyPDF 17.12.1. Ознакомьтесь с документацией именно для установленной у вас версии, прежде чем запускать пакетную обработку. Одно лишь название флага не гарантирует, что в выходном файле сохранятся закладки, теги, ссылки, формы или структура доступности.

В нашем тестовом файле режим пропуска текста сохранил бы заведомо некорректный скрытый текст на четвертой странице. Именно поэтому этап «скопировать и сравнить» должен проводиться до выбора режима пакетной обработки.

Типичные заблуждения

«Если текст выделяется, OCR не нужен»

Четвертая страница опровергает это правило. Выделение говорит лишь о наличии текста, но не о его корректности.

«Для надежности распознаем весь PDF целиком»

Это может ухудшить качество изначально чистых цифровых страниц и отбросить полезные объекты PDF. Кроме того, такой подход увеличивает объем ручной проверки, но не исправляет смысловой порядок чтения автоматически.

«Используйте тот результат, который выглядит связнее»

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

«Одна качественная страница говорит обо всем файле»

Смешанные PDF встречаются очень часто: за цифровой обложкой могут следовать отсканированные главы, а в книге с поиском по тексту — попадаться вставки в виде изображений. Фиксируйте решения отдельно для каждого диапазона страниц.

Критерии готовности PDF-файла к переводу

Перед отправкой файла в процесс перевода убедитесь, что соблюдены следующие условия:

  1. Каждый диапазон страниц классифицирован как цифровой, содержащий только изображения или имеющий готовый слой OCR.
  2. Для некачественных существующих текстовых слоев определен и зафиксирован способ их замены.
  3. Имена, числа, идентификаторы и редкие термины на проверочных страницах точно соответствуют оригиналу.
  4. Порядок абзацев и колонок в извлеченном исходном тексте логичен и удобен для чтения.
  5. Таблицы, иллюстрации, сноски и формулы либо проверены, либо выделены для отдельной обработки.
  6. Исходный PDF сохранен и доступен для сверки после перевода.

Ознакомьтесь с отдельным руководством по диагностике копирования и вставки , если PDF уже содержит текст, но копируется с ошибками. Используйте алгоритм работы со сканированными PDF , если страницы состоят только из изображений, и руководство по OCR для документов на нескольких языках , если причина сбоя кроется в неверном выборе языка.

Переводите проверенный исходник, а затем оценивайте результат

Если ваша цель — прочитать документ целиком на другом языке, загрузите проверенный PDF в PDF Translator. При работе со сканами и страницами с обилием изображений режим OCR в BookTranslator извлекает распознаваемый контент и формирует аккуратный переведенный PDF; при этом сервис не гарантирует точного сохранения исходной верстки, шрифтов и размеров, а также исправления абсолютно всех скрытых текстовых слоев.

Сохраняйте реестр страниц и исходный файл. После перевода повторите проверку критически важных элементов в готовом документе: имен, числовых значений, идентификаторов, полноты страниц, порядка абзацев и любой значимой структуры. В чек-листе контроля качества перевода PDF подробно описан этот финальный этап приемки.

Главное правило простое: извлекайте то, что уже надежно, применяйте OCR только к тому, что требует распознавания, и заменяйте текстовый слой лишь после того, как убедитесь в наличии ошибок.

Похожие статьи