Один PDF в файл TXT
OCR (оптическое распознавание символов) анализирует изображения текста и преобразует их в фактические редактируемые символы. Когда вы загружаете отсканированный документ или фотографию, движок OCR исследует шаблоны пикселей для идентификации букв, цифр и символов. Современный OCR использует продвинутые алгоритмы для распознавания текста даже в сложных условиях: низкое разрешение, перекошенные страницы, различные шрифты и сложные макеты с колонками, таблицами и смешанным содержимым.
В любом случае вы получаете один файл .txt, где страницы идут по порядку, а каждый разрыв страницы отмечен разделителем, — его можно сохранить, искать по нему или передать скрипту; в готовом файле не видно, какой текст извлечён, а какой распознан через OCR.
Зачем сначала проверять текстовый слой
Отсканированные документы и PDF на основе изображений содержат только картинки текста — вы не можете искать, копировать или редактировать их. OCR преобразует эти изображения в реальный текст, делая документы поисковыми, редактируемыми и доступными. Когда вам нужно найти конкретное содержимое среди тысяч отсканированных страниц, OCR делает это возможным. Цифровые архивы, системы управления документами и рабочие процессы комплаенса зависят от OCR для превращения отсканированного содержимого в полезное.
Помимо поиска, OCR позволяет извлекать данные из бумажных документов: оцифровывать контракты для анализа, извлекать данные из форм, конвертировать печатные материалы в редактируемый текст для повторного использования. Требования доступности часто требуют поискового текста для пользователей с нарушениями зрения, использующих программы чтения с экрана. OCR соединяет бумажные архивы и цифровые рабочие процессы.
Как понять, что у вас за файл
Если текст в PDF уже можно выделить и скопировать в обычной программе просмотра, значит в нём есть текстовый слой, и результат в .txt будет близко совпадать с этим встроенным текстом, поскольку никаких догадок OCR здесь не участвует вовсе; точность в этом случае зависит только от того, как изначально был создан PDF.
Если клик по тексту просто выделяет прямоугольник вокруг всей страницы или вообще ничего не происходит, страница представляет собой сканированное изображение, и содержимое .txt для неё зависит от качества OCR; проверьте разрешение скана и резкость исходного документа, если сканированная страница читается хуже, чем ожидалось. Таблица внутри PDF, у которого уже есть текстовый слой, обычно сохраняет значения ячеек в осмысленном порядке чтения, поскольку позиция каждого символа записана прямо в файле, тогда как та же таблица на сканированной странице зависит от того, правильно ли OCR пройдёт по столбцам, поэтому сканированный счёт с большей вероятностью потребует ручной подгонки впоследствии, чем тот, что взят прямо из исходного PDF.
Как получить надёжный результат в TXT
Для сканированного PDF скан с более высоким разрешением на входе даёт более чистый текст на выходе — 300 DPI или выше разумный ориентир, если сканируете сами, поскольку всё, что ниже, начинает снижать точность OCR на мелком шрифте.
Для PDF, сочетающего исходные и сканированные страницы, проверьте вывод .txt на границе между ними, поскольку именно там меняется обработка на уровне страницы и где необычный колонтитул иногда путает порядок страниц в маркерах-разделителях. Файл всегда записывается в UTF-8 с переносами строк в стиле Unix, независимо от того, получена ли конкретная страница прямым извлечением или через OCR, поэтому скрипту, читающему результат, не нужна отдельная обработка для двух видов исходных страниц, как только текст записан.