Что такое ocr pdf
PDF OCR
Распознавать текст с помощью OCR и создавать файлы PDF с возможностью поиска
Информация
Как распознавать текст
Выберите файлы, к которым вы хотите применить OCR или перетащите файлы в активное поле. Измените настройки и запустите OCR. Через несколько секунд вы можете скачать ваши новые файлы PDF с возможностью поиска.
Настройки OCR
Вы можете изменить несколько параметров для управления процессом OCR. Вы можете сохранить в формате PDF/A, удалить артефакты и помехи, просмотреть страницы, установить мета информацию и присоединить к одному финальному файлу.
Просто в использовании
Мы максимально упрощаем распознавание текста через OCR. Вам не нужно устанавливать и беспокоиться о каком-либо программном обеспечении, вам просто нужно выбрать файлы, для которых вы хотите применить OCR.
Поддерживает вашу систему
Вам не нужна специальная система для распознавания текста через OCR. Этот инструмент OCR работает в вашем браузере и, следовательно, функционирует во всех операционных системах. Просто перетащите свои файлы и запустите OCR.
Установка не требуется
Вам не нужно загружать или устанавливать какое-либо программное обеспечение. Текст распознается на наших серверах в облаке и, следовательно, не будет потреблять какие-либо ресурсы вашего компьютера.
Безопасность важна для нас
Это приложение OCR не хранит ваши файлы на нашем сервере дольше, чем это необходимо. Ваши файлы и результаты будут удалены с нашего сервера через короткий промежуток времени. Передача файлов защищена SSL.
Что говорят другие
Этот инструмент позволяет мне очень легко применять OCR к моим отсканированным документам и счетам-фактурам. Я получаю PDF/A с возможностью поиска и архивирования.
Я использую это приложение для конвертации изображений и фотографий, сделанных с помощью моего смартфона в файлы PDF с возможностью поиска, чтобы я мог выполнять поиск и копировать текст.
Вопросы и ответы
Как распознать текст в файлах с помощью OCR?
Безопасно ли использовать инструменты PDF24?
PDF24 серьезно относится к защите файлов и данных. Мы хотим, чтобы пользователи могли доверять нам. Поэтому мы постоянно работаем над проблемами безопасности.
Могу ли я использовать PDF24 на Mac, Linux или смартфоне?
Да, вы можете использовать PDF24 Tools в любой системе, в которой у вас есть доступ в Интернет. Откройте PDF24 Tools в веб-браузере, таком как Chrome, и используйте инструменты прямо в веб-браузере. Никакого другого программного обеспечения устанавливать не нужно.
Вы также можете установить PDF24 в качестве приложения на свой смартфон. Для этого откройте инструменты PDF24 в Chrome на своем смартфоне. Затем щелкните значок «Установить» в правом верхнем углу адресной строки или добавьте PDF24 на начальный экран через меню Chrome.
Могу ли я использовать PDF24 в офлайн без подключения к Интернету?
Да, пользователи Windows также могут использовать PDF24 в офлайн, то есть без подключения к Интернету. Просто скачайте бесплатный PDF24 Creator и установите программное обеспечение. PDF24 Creator переносит все инструменты PDF24 на ваш компьютер в виде настольного приложения. Пользователи других операционных систем должны продолжать использовать PDF24 Tools.
Что такое OCR
Представьте, вам надо оцифровать журнальную статью или распечатанный договор. Конечно, вы можете провести несколько часов, перепечатывая документ и исправляя опечатки. Либо вы можете перевести все требуемые материалы в редактируемый формат за несколько минут, используя сканер (или цифровую камеру) и программу для оптического распознавания символов (OCR).
ЧТО ПОДРАЗУМЕВАЮТ ПОД ТЕХНОЛОГИЕЙ ОПТИЧЕСКОГО РАСПОЗНАВАНИЯ СИМВОЛОВ
Оптическое распознавание символов (англ. Optical Character Recognition – OCR) – это технология, которая позволяет преобразовывать различные типы документов, такие как отсканированные документы, PDF-файлы или фото с цифровой камеры, в редактируемые форматы с возможностью поиска.
Предположим, у вас есть бумажный документ, например, статья в журнале, брошюра или договор в формате PDF, присланный вам партнером по электронной почте. Очевидно, для того чтобы получить возможность редактировать документ, его недостаточно просто отсканировать. Единственное, что может сделать сканер, – это создать изображение документа, представляющее собой всего лишь совокупность черно-белых или цветных точек, то есть растровое изображение.
Для того чтобы копировать, извлекать и редактировать данные, вам понадобится программа для распознавания символов, которая сможет выделить в изображении буквы, составить их в слова, а затем объединить слова в предложения, что в дальнейшем позволит работать с содержимым исходного документа.
КАКИЕ ПРИНЦИПЫ ЛЕЖАТ В ОСНОВЕ ТЕХНОЛОГИИ FINEREADER OCR?
Наиболее совершенные системы распознавания символов, такие как ABBYY FineReader OCR, делают акцент на использовании механизмов, созданных природой. В основе этих механизмов лежат три фундаментальных принципа: целостность, целенаправленность и адаптивность (принципы IPA).
Изображение, согласно принципу целостности, будет интерпретировано как некий объект, только если на нем присутствуют все структурные части этого объекта и эти части находятся в соответствующих отношениях. Иначе говоря, ABBYY FineReader не пытается принимать решение, перебирая тысячи эталонов в поисках наиболее подходящего. Вместо этого выдвигается ряд гипотез относительно того, на что похоже обнаруженное изображение. Затем каждая гипотеза целенаправленно проверяется. И, допуская, что найденный объект может быть буквой А, FineReader будет искать именно те особенности, которые должны быть у изображения этой буквы. Как и следует поступать, исходя из принципа целенаправленности. Принцип адаптивности означает, что программа должна быть способна к самообучению, поэтому проверять, верна ли выдвинутая гипотеза, система будет, опираясь на накопленные ранее сведения о возможных начертаниях символа в данном конкретном документе.
КАКАЯ ТЕХНОЛОГИЯ ЛЕЖИТ В ОСНОВЕ OCR?
Компания ABBYY, опираясь на результаты многолетних исследований, реализовала принципы IPA в компьютерной программе. Система оптического распознавания символов ABBYY FineReader – единственная в мире система OCR, действующая в соответствии с вышеописанными принципами на всех этапах обработки документа. Эти принципы делают программу максимально гибкой и интеллектуальной, предельно приближая ее работу к тому, как распознает символы человек. На первом этапе распознавания система постранично анализирует изображения, из которых состоит документ, определяет структуру страниц, выделяет текстовые блоки, таблицы. Кроме того, современные документы часто содержат всевозможные элементы дизайна: иллюстрации, колонтитулы, цветной фон или фоновые изображения. Поэтому недостаточно просто найти и распознать обнаруженный текст, важно с самого начала определить, как устроен рассматриваемый документ: есть ли в нем разделы и подразделы, ссылки и сноски, таблицы и графики, оглавление, проставлены ли номера страниц и т. д. Затем в текстовых блоках выделяются строки, отдельные строки делятся на слова, слова на символы.
Важно отметить, что выделение символов и их распознавание также реализовано в виде составных частей единой процедуры. Это позволяет в полной мере использовать преимущества принципов IPA. Выделенные изображения символов поступают на рассмотрение механизмов распознавания букв, называемых классификаторами.
В системе ABBYY FineReader применяются классификаторы следующих типов: растровый, признаковый, контурный, структурный, признаково-дифференциальный и структурно-дифференциальный. Растровый и признаковый классификаторы анализируют изображение и выдвигают несколько гипотез о том, какой символ на нем представлен. В ходе анализа каждой гипотезе присваивается определенная оценка (так называемый вес). По итогам проверки мы получаем список гипотез, проранжированный по весу (то есть по степени уверенности в том, что перед нами именно такой символ). Можно сказать, что в данный момент система уже «догадывается», на что похож рассматриваемый символ.
После этого в соответствии с принципами IPA ABBYY FineReader проводит проверку выдвинутых гипотез. Это делается с помощью дифференциального признакового классификатора.
Кроме того, следует отметить, что ABBYY FineReader поддерживает 192 языка распознавания. Интеграция системы распознавания со словарями помогает программе при анализе документов: распознавание происходит более точно и упрощает дальнейшую проверку результата с учетом данных об основном языке документа и словарной проверки отдельных предположений. После подробной обработки огромного числа гипотез программа принимает решение и предоставляет пользователю распознанный текст.
РАСПОЗНАВАНИЕ ЦИФРОВЫХ ФОТОГРАФИЙ
Изображения, полученные при помощи цифровой камеры, отличаются от отсканированных документов или PDF, представляющих собой изображение.
У них зачастую могут быть определенные дефекты, например искажения перспективы, засветки от фотовспышки, изгибы строк. При работе с большинством приложений такие дефекты могут существенно усложнить процесс распознавания. В связи с этим последние версии ABBYY FineReader содержат технологии предварительной обработки изображения, которые успешно выполняют задачи по подготовке изображений к распознаванию.
КАК ПОЛЬЗОВАТЬСЯ OCR-ПРОГРАММАМИ
Технология ABBYY FineReader OCR проста в использовании – процесс распознавания в целом состоит из трех этапов: открытие (или сканирование) документа, распознавание и сохранение в наиболее подходящем формате (DOC, RTF, XLS, PDF, HTML, TXT и т. д.) либо перенос данных напрямую в офисные программы, такие как Microsoft® Word®, Excel® или приложения для просмотра PDF.
Кроме того, последняя версия ABBYY FineReader позволяет автоматизировать задачи по распознаванию и конвертации документов с помощью приложения ABBYY Hot Folder. С помощью него можно настраивать однотипные или повторяющиеся задачи по обработке документов и увеличить производительность работы.
КАКИЕ ПРЕИМУЩЕСТВА ВЫ ПОЛУЧАЕТЕ ОТ РАБОТЫ С OCR-ПРОГРАММАМИ
Высокое качество технологий распознавания текста ABBYY OCR обеспечивает точную конвертацию бумажных документов (сканов, фотографий) и PDF-документов любого типа в редактируемые форматы. Применение современных OCR-технологий позволяет сэкономить много сил и времени при работе с любыми документами. С ABBYY FineReader OCR вы можете сканировать бумажные документы и редактировать их. Вы можете извлекать цитаты из книг и журналов и использовать их без перепечатывания. С помощью цифровой фотокамеры и ABBYY FineReader OCR вы можете моментально сделать снимок увиденного постера, баннера, а также документа или книги, когда под рукой нет сканера, и распознать полученное изображение. Кроме того, ABBYY FineReader OCR можно использовать для создания архива PDF-документов с возможностью поиска.
Весь процесс преобразования из бумажного документа, снимка или PDF занимает меньше минуты, а сам распознанный документ выглядит в точности как оригинал!
Использование функции оптического распознавания символов (OCR) в Adobe Acrobat Export PDF
Adobe Acrobat Export PDF — это онлайн-сервис Acrobat. С его помощью можно легко конвертировать файлы PDF в редактируемые документы Word, Excel и RTF (расширенный текстовый формат).
Сервис Adobe Acrobat Export PDF не позволяет редактировать файлы PDF. Для редактирования файлов PDF используйте Acrobat DC. Перейдите на страницу продукта Acrobat.
При включенной функции OCR Adobe Acrobat Export PDF выполняет оптическое распознавание символов в файлах PDF, содержащих изображения, векторную графику, скрытый текст или любое сочетание этих элементов. Оптическое распознавание символов выполняется для файлов PDF, созданных из отсканированных документов. Кроме того, Adobe Acrobat Export PDF выполняет оптическое распознавание символов в тексте, который не удается интерпретировать из-за неправильной кодировки, заданной в исходном приложении.
Поддерживаемые языки
Adobe Acrobat Export PDF поддерживает OCR для текста на следующих языках.
По умолчанию функция OCR работает с языком, выбранным в диалоговом окне «Моя информация». Модуль OCR использует выбранный язык для обработки отсканированного текста. Выбор правильного языка повышает точность преобразования, так как модуль OCR использует словари для этого языка. Если кодировка языка отлична от латиницы (например, японский), то неверный выбор языковых параметров приведет к невозможности распознавания и преобразования текста с помощью модуля OCR.
Использование веб-интерфейса Acrobat Export PDF
Для включения функции OCR при преобразовании файла PDF в Adobe Acrobat Export PDF выполните следующие действия.
Выполните вход в веб-интерфейс Adobe Acrobat Export PDF и нажмите Выбрать файлы PDF для экспорта.
Нажмите Выбрать файлы на моем компьютере и найдите нужный файл PDF. Кроме того, можно перетащить файл на панель. Чтобы выбрать файл из Document Cloud, нажмите Document Cloud в области слева и выберите файл.
ПРИМЕЧАНИЕ. Можно выбрать несколько файлов для экспорта.
В раскрывающемся списке Экспорт в выберите формат, в который требуется экспортировать файл PDF.
В раскрывающемся списке Язык документа выберите язык для распознавания текста документа.
Нажмите кнопку Экспорт в для экспорта содержимого.
Выбранный файл PDF загрузится на сервер, и содержимое экспортируется в указанный формат. Нажмите на значок Загрузить, чтобы сохранить файл на компьютере или устройстве.
Использование Acrobat Reader DC для экспорта PDF
Можно также использовать бесплатное приложение Acrobat Reader для ПК, чтобы экспортировать файлы в PDF. Приложение использует онлайн-сервис Acrobat Export PDF в фоновом режиме.
Откройте файл PDF, который необходимо преобразовать в Acrobat Reader, и нажмите Adobe Acrobat Export PDF на панели справа.
В противном случае измените выбранный язык.
1. Нажмите ссылку Изменить.
2. В диалоговом окне Параметры модуля OCR выберите нужный язык в списке Распознавать текст в и нажмите ОК.
Нажмите Преобразовать, чтобы начать преобразование.
После завершения преобразования файла появляется сообщение со ссылкой для открытия или сохранения преобразованного файла.
Что такое OCR и как это работает
Иногда вам необходимо отсканировать документы, которые содержат рукописные заметки или страницы из печатной книги. Именно здесь может пригодиться оптическое распознавание символов (OCR). Эта полезная технология анализирует печатный или рукописный текст и превращает его в редактируемый цифровой файл. В данной статье мы обсудим, как работает эта технология и почему она так полезна.
Что такое OCR
OCR создает цифровую копию отсканированных, напечатанных или напечатанных символов. Этот метод широко используется для импорта данных, особенно для различных типов данных, записанных на бумаге, например, счета, паспорта, документы, визитки, письма или распечатки.
Когда текст оцифрован, поиск и редактирование текста могут быть выполнены в электронном виде. Кроме того, технология позволяет сохранять документы более компактно, а также отображать их в Интернете.
Как работает OCR
Когда сканированная или рукописная страница проходит процесс сканирования, она сохраняется как растровый файл формата TIF. Мы можем прочитать это изображение, когда оно отображается на экране. Однако для компьютера это всего лишь серия белых и черных точек. Он просматривает каждую строку изображения и определяет, соответствуют ли серии точек определенному числу или букве.
Преимущества OCR
1. Поиск и обработка данных
Возможность распознавания текста для создания текстовой версии отсканированных документов позволяет искать текст и находить разделы документа путем поиска по ключевым словам. Данная технология также позволяет редактировать документ с помощью текстового редактора.
2. Помощь для слепых и слабовидящих
Программы чтения с экрана могут декодировать машиночитаемый текст и считывать слова на экране, чтобы люди с нарушениями зрения могли понимать данных документ.
3. Более быстрый ввод данных
Как правило, OCR может значительно повысить эффективность и результативность офисной работы. Это связано с тем, что в большинстве офисов выполняется много операций сканирования с большим количеством документов и существует большая потребность в высокой производительности и более эффективных процессах.
Что программное обеспечение OCR может сделать для вас
В дополнение к OCR, PDFelement также объединяет создание, редактирование и преобразование PDF в один пакет. Вы можете редактировать PDF-текст, изображения и страницы, комментировать и отмечать PDF-файлы или конвертировать PDF-файлы в файлы различных типов или получать информацию из них.
Извлечение текста — одна из популярных задач обработки PDF документов. Вам потребуется извлечь текст из PDF, чтобы:
Извлечь текст вручную можно так: откройте документ в любом PDF просмотрщике, выделите и скопируйте текст. В большинстве документов это сработает. Такие документы называются «доступные для поиска PDF» или «searchable PDF». Текст в них выводится с помощью специальных PDF операторов, а связанные объекты шрифтов содержат правильную информация о соответствии глифов значениям Unicode.
Многие PDF библиотеки умеют извлекать текст из доступных для поиска PDF.
Однако, часто встречаются и недоступные для поиска PDF («non-searchable PDF») документы. В них текст обычно выводится как растровое изображение. Типичный пример — сканированный PDF документ. Также текст в недоступных для поиска PDF может выводиться векторными путями без использования шрифтов и специальных PDF операторов.
Для извлечения текста из недоступных для поиска PDF выполняйте оптическое распознавание текста (OCR). Оптическое распознавание не гарантирует правильного извлечения текста в 100% случаев. Результат зависит от качества документа и алгоритма распознавания. Также OCR существенно медленней, чем извлечение текста из доступных для поиска PDF.
Подготовка
Создайте новый проект Console App (.NET Core) на C# и установите NuGet пакеты для Docotic.Pdf и Tesseract:
https://www.nuget.org/packages/BitMiracle.Docotic.Pdf/
https://www.nuget.org/packages/Tesseract/4.1.0-beta1 (данная prerelease версия использует нативный Tesseract 4.1.0)
Для Tesseract потребуется дополнительная настройка:
В Linux установите или скомпилируйте самостоятельно проекты «libleptonica-dev» и «libtesseract-dev». Скомпилированные библиотеки добавьте в ваш проект. Например, под Ubuntu 20.04:
В macOS установите Tesseract с помощью brew:
Вместе с Tesseract будут установлены Leptonica и прочие зависимости. Больше информации тут.
После этого нужно добавить файлы для некоторых зависимостей в проект:
liblibdl.so должна оказаться уровнем выше относительно libleptonica-1.78.0.so и libtesseract41.so. В проекте для каждого из *.so файлов нужно установить свойство «Copy to output directory» в «Always copy».
Обратите внимание, что с Tesseract может быть установлена иная версия зависимостей. Например, в моем случае была установлена Leptonica 1.79.0 вместо требуемой 1.78.0. Это нормально, если установленные версии совместимы с Leptonica 1.78 и Tesseract 4.1.
Реализация
Проверьте, требуется ли OCR
Прежде всего, проверьте, нужно ли вообще выполнять OCR. Если документ доступен для поиска, то достаточно просто извлечь текст.
Этот код извлекает текст из PDF. Если текст найден, то обычно этого достаточно, и OCR не требуется.
Сохраните страницу PDF как изображение
Дополните код следующим фрагментом:
Добавленный фрагмент преобразует содержимое PDF страницы в PNG изображение с белым фоном. У изображения будет разрешение 300×300 dpi.
Изображение сохраняется в файл, который после распознавания можно удалить. Другой способ — сохранить изображение в поток в памяти:
Распознайте текст
Пришло время использовать Tesseract для распознавания текста на созданном изображении. При распознавании Tesseract использует обученные модели для каждого языка. Важно, чтобы версия обученной модели соответствовала версии нативного Tesseract. Для Tesseract 4.1.0 возьмите языковые данные отсюда. Для английского языка достаточно файла eng.traineddata.
Создайте в проекте папку «tessdata». Поместите файл модели для английского языка (eng.traineddata) в папку tessdata. Установите для файла модели свойство «Copy to output directory» в «Сopy always» или «Copy if newer». Для английского языка можете использовать NuGet пакет Tesseract.Data.English, он проделает указанные действия автоматически.
После этого добавьте код для распознавания:
Класс TesseractEngine при инициализации принимает путь к папке с данными моделей, а также язык документа и режим распознавания. Обычно достаточно одного объекта TesseractEngine для всех страниц. Но, при необходимости, вы можете использовать несколько объектов TesseractEngine (см. пример в разделе Текст на разных языках)
Строка using (Page recognizedPage = engine.Process(img)) выполняет распознавание текста в изображении. Оценить качество распознавания можно с помощью значения «confidence». Это вещественное число от 0 до 1, означающее степень уверенности нейронной сети Tesseract в точности результата. Метод Page.GetMeanConfidence() возвращает среднее арифметическое для confidence всех слов в распознанном тексте.
Confidence — это исключительно близость распознанных шаблонов к данным в обученной модели (tessdata). В общем случае значения mean confidence, близкие к 1, не гарантируют 100% правильного результата с точки зрения человека. И наоборот — низкие значения mean confidence не означают автоматически неправильный результат. Тем не менее, это полезная метрика, далее вы увидите практические примеры её использования.
Наконец, метод Page.GetText() возвращает распознанный текст. Tesseract также предоставляет возможность получить детальную информацию о каждом распознанном элементе с помощью метода Page.GetIterator(). Этот метод можно использовать, чтобы записать распознанный текст в исходный PDF документ и получить таким образом доступный для поиска PDF. Пример для этого сценария
Запустите текущий пример для документа Partner.pdf. Вы получите
Обратите внимание, что текст в правой части документа распознался не совсем точно:
Как повысить качество распознавания
Есть множество способов попытаться улучшить качество распознавания. Описанные ниже способы могут как улучшить, так и ухудшить качество результата. Универсального метода нет. Ищите оптимальное решение, пробуя разные варианты. Используйте реальные документы во время проб. То, что оптимально для одних документов, может давать плохие результаты для других документов.
Настроить Tesseract
Улучшить результат могут различные конфигурационные параметры Tesseract.
Прежде всего, попробуйте режим EngineMode.LstmOnly. В этом режиме Tesseract использует наиболее актуальную реализацию распознавания на основе LSTM-сетей:
В режиме LstmOnly наш пример распознает
Было | Стало | Качество улучшилось? |
---|---|---|
Символы списка распознаются как «0» и «o» | Сейчас распознаются как «e» | И да, и нет — текст теперь одинаковый во всех случаях, но «o» было бы правильней |
https://partner.microsoft.com | https://partner. microsoft.com | Нет |
up—to—date (тире) | up-to-date (дефисы) | Да |
Microsoft“ Pa rtner | Microsoft | Partner | Да |
Распознавание URL’a ухудшилось, а остальные изменения в лучшую сторону. В большинстве случаев режим LstmOnly дает лучшие результаты.
Обратите внимание — при этом confidence изменилась с 0.91 до 0.93. Т.е. по мнению Tesseract точность распознавания выросла на 2%. На мой взгляд, в данном случае разница в результатах распознавания не столь однозначна и существенна.
Еще один пример на тему относительности значений mean confidence. Рассмотрим простой документ Hello.pdf. В режимах Default, TesseractAndLstm и LstmOnly текст распознается одинаково и 100% правильно:
Однако, значение mean confidence равно 0.9 для режимов Default/TesseractAndLstm и 0.95 для LstmOnly.
Если известно расположение контента на странице, то можно попробовать опцию Page Segmentation Mode. Например:
Tesseract предоставляет множество параметров для управления процессом распознавания. Основные указаны тут: https://tesseract-ocr.github.io/tessdoc/ControlParams.html. Больше опций ищите в исходном коде. Например:
Передайте параметр «configFiles» в конструктор TesseractEngine, чтобы изменить «Init only» параметры. Значения остальных параметров изменяйте с помощью метода TesseractEngine.SetVariable так:
Изменить разрешение изображения
При конвертации страницы PDF документа в изображение использовалось разрешение 300dpi. Попробуйте более высокое разрешение. Например, 600dpi.
Для документа Partner.pdf в режиме LstmOnly при разрешении 600dpi получается
Результат распознавания ухудшился — появились избыточные пустые строки, символы списка стали распознаваться как «eo» и «oe», вместо «https:» ошибочно распозналось «https.».
Более того, результат ухудшится еще больше, если использовать разрешение 900dpi.
Microsoft | Partner
Program
Partner Program Guide
for all Microsoft Partners
This guide describes the Microsoft Partner Program, including: the basic structure of the program,
who should join, an overview of program requirements and benefits, as well as enrollment policies
and processes. For more detailed information on membership, refer to the following three additional
resources:
eo The Getting Started in the Microsoft Partner Program guides are three separate manuals that
provide instructions on how to:
— Enroll, re-enroll, or upgrade your membership.
— Examine profile questions that you answer as part of your program enrollment.
— Achieve a Microsoft Competency.
eo The Partner Program website provides detailed content on Microsoft Partner Program benefits
and Microsoft Competencies.
eo The Partner Membership Center online help provides instructions on how to administer and
manage the partner account associated with your program membership. You can access this
online help once you log in to the Partner Membership Center. P 0g I’d 8
TIP: How to Use This Guide
Use the Table of Contents, displayed to the left of this page, to quickly find the topic you
desire. Above the Table of Contents, click Options, and then Wrap Long Bookmarks, to
view the Table of Contents in its entirety.
Ty
N = i
§ L rr re
% Hl Wa
1 r wa i La Fs x
d Ro Ee TUE )
. E er Te,
i i; + rl
f LS ‘
Fl — J
. o a.
As the Microsoft Partner Program evolves, this Program Guide will be updated with new and
important information. Visit the Partner Program website at https://partner.microsoft.com often to
stay up-to-date:
2006 Microsoft Corporation. All rights reserved. 1
Изображение с разрешением 900dpi содержит больше точек, и Tesseract начинает ошибочно распознавать изображение справа внизу как текст.
Так что большее разрешение не гарантирует лучший результат.
Однако, можно попробовать уменьшить разрешение. Вот тут есть мини-исследование на эту тему: https://groups.google.com/forum/#!msg/tesseract-ocr/Wdh_JJwnw94/24JHDYQbBQAJ
При использовании разрешения 200dpi для тестового документа получается
Модифицировать содержимое PDF
До сих пор не удалось заставить Tesseract правильно распознать слово «Guide» в правой части. Неудачный эксперимент с разрешением 900dpi наталкивает на мысль, что, вероятно, мешает изображение справа снизу. Попробуем перед распознаванием заменить это изображение на 1-пиксельное прозрачное изображение:
И после этого изменения, наконец, фраза «Program Guide» в правой части корректно распознается.
Естественно, данный метод неприменим в общем случае и для произвольного документа. Например, для сканированных документов с одним изображением на странице. Даже в тестовом документе Partner.pdf нельзя просто удалить все изображения — градиент справа-вверху также является изображением. После его удаления получится белый текст «Microsoft | Partner Program» на белом фоне, который Tesseract не увидит.
В зависимости от содержимого страницы можно использовать и другие подготовительные действия. Например, изменить ориентацию неправильно повернутой страницы (пример документа):
Или отсечь часть ненужного содержимого перед созданием изображения:
Подготовить изображение
Вы можете модифицировать изображение, чтобы упростить распознавание OCR движку. Подробнее описано тут: https://tesseract-ocr.github.io/tessdoc/ImproveQuality#image-processing
Использовать другую модель
В примере используется дефолтная модель tessdata. Tesseract 4 предоставляет еще две модели.
Используйте модель tessdata_fast, чтобы ускорить распознавание, пожертвовав качеством результата. Или используйте модель tessdata_best, чтобы улучшить качество при более долгом процессе распознавания.
Попробуйте использовать модель tessdata_best. Для этого используйте в проекте файл eng.traineddata из tessdata_best. Для тестового документа Partner.pdf использование tessdata_best не влияет на результат и особого смысла не имеет.
Существующие модели Tesseract могут не дать нужных результатов, если в документе используется какой-то причудливый шрифт или незнакомый язык. В этом случае можете натренировать модель самостоятельно. Информация на эту тему: https://github.com/tesseract-ocr/tessdoc/blob/master/Training-Tesseract.md
Обновить версию Tesseract
На момент публикации статьи ведется разработка Tesseract 5, а также доступен релиз 4.1.1. Обновление до последней версии может улучшить результат. Следите за релизами тут: https://github.com/tesseract-ocr/tesseract/releases
Задать вопрос сообществу
Обсуждение Tesseract ведется в https://groups.google.com/forum/#!forum/tesseract-ocr. Там могут посоветовать хорошие идеи, как улучшить результаты распознавания. Там же есть предыдущие обсуждения способов улучшения OCR в различных ситуациях.
Особые случаи
Описанный подход хорошо работает для большинства документов. Рассмотрим ситуации, когда требуются дополнительные действия.
Текст на разных языках
Документ может содержать страницы на разных языках. И в общем случае неизвестно, какие языки используется на конкретной странице.
Tesseract позволяет использовать несколько языков при распознавании. Для этого:
Естественно, желательно примерно представлять, какие языки могут встречаться в документе. Чем больше языков используется — тем дольше работает распознавание.
Иногда Tesseract некорректно обрабатывает случаи, когда текст на разных языках встречается рядом в одной строке. В таких случаях попробуйте ранее перечисленные способы по улучшению качества распознавания. Если не поможет, то попробуйте обходной путь — распознавайте отдельные слова на разных языках и в каждом случае выбирайте результат с большим значением confidence. Пример кода:
Страница содержит неправильный текст
Встречаются доступные для поиска PDF документы, из которых текст извлекается, но неправильно. Это происходит, когда документ не содержит информацию о соответствии глифов значениям Unicode. Или содержит неправильную информацию. Например, для глифа ‘A’ указано соответствие U+0007, а для глифа ‘B’ указано U+00B6 и т.д.
Первая задача — определить, что текст извлекается неверно. Можете сделать это, проверив извлеченный текст на соответствие языку документа:
Определили, что текст или большая его часть не соответствует языку — делайте OCR. Убедитесь, что распознанный текст лучше исходного. Для этого проверьте распознанный текст на соответствие нужному языку и сравните результаты с первой проверкой.