Автор Тема: Чем сделать OCR в PDF?  (Прочитано 8296 раз)

monday2000

  • Администратор
  • *****
  • Сообщений: 985
    • AOL клиент - -
    • Yahoo клиент - -
    • Просмотр профиля
    • Создание книг в электронном виде из бумажных книг (в формате DjVu)
    • E-mail
Чем сделать OCR в PDF?
« : 08 БХЭвпСам 2010, 16:36:03 »
Один из популярных вопросов относительно формата PDF звучит так: "Чем можно сделать OCR в PDF-файле?".

Естественно, что речь идёт о чисто растровом PDF-файле.

Мне известны такие варианты:

1. Открыть растровый PDF в Adobe Acrobat Professional и сделать там над ним OCR. Однако, многие говорят, что полученное качество будет невысоким.

2. ABBYY Finereader. Позволяет открыть PDF-файл (с преобразованием его в обычный графический формат), сделать OCR - и сохранить результат в PDF со встроенным OCR.

3. Есть ещё занятная технология в Adobe Acrobat Professional - называется "ClearScan" http://acrobatusers.com/print/2215 . Принцип действия  - тот же OCR, только векторные шрифты генерируются на основе конкретного текста, а не подбираются из имеющегося набора.

Помимо готовых программ, было бы здорово также и заиметь удобную бесплатную программную библиотеку, способную брать на входе OCR-слой (в виде XML или hOCR) и внедрять его в целевой растровый PDF.

Общий список программных PDF-библиотек можно посмотреть тут:

http://en.wikipedia.org/wiki/List_of_PDF_software

Мне, кстати, недавно Илья Межиров сообщил интересную вещь - цитирую:
Цитировать
Насколько я знаю, в PDF нету специального OCR-слоя. Нужный эффект достигается путем наложения прозрачного текста на видимую картинку.
Вот это да! :o Кто бы мог подумать! :)

Тогда, может быть, с задачей внедрения OCR сможет справиться какая-нибудь обычная PDF-библиотека - например, LibHaru http://en.wikipedia.org/wiki/LibHaru или iText http://en.wikipedia.org/wiki/IText .

iText помощнее, чем LibHaru, но он лишь под Java/C#, а LibHaru зато - на языке СИ (и LibHaru, говорят, быстрей, чем iText).
« Последнее редактирование: 08 БХЭвпСам 2010, 16:38:34 от monday2000 »

monday2000

  • Администратор
  • *****
  • Сообщений: 985
    • AOL клиент - -
    • Yahoo клиент - -
    • Просмотр профиля
    • Создание книг в электронном виде из бумажных книг (в формате DjVu)
    • E-mail
Re: Чем сделать OCR в PDF?
« Ответ #1 : 04 ЅЮпСам 2010, 18:19:59 »
Я случайно узнал о существовании крайне любопытной программы hocr2pdf: http://www.exactcode.de/site/open_source/exactimage/hocr2pdf/ . Она входит в open-source библиотеку ExactImage http://www.exactcode.de/site/open_source/exactimage/ .

Эта программа имеет свой собственный PDF-движок (по созданию PDF) плюс она принимает hOCR http://code.google.com/p/hocr-tools/ и вставляет OCR-данные из него в создаваемый ею PDF! И всё это бесплатно и с открытыми исходниками! :o Это же просто сказка и мечта. 8)

Скачать hocr2pdf можно тут: http://dl.exactcode.de/oss/exact-image/ - качать надо самую последнюю версию внизу страницы. Вот прямой линк на данный момент: http://dl.exactcode.de/oss/exact-image/exact-image-0.8.3.tar.bz2 .

Вообще, интересная библиотека. Нужно будет присмотреться. К примеру, они утверждают, что у них есть алгоритм de-screening. Это интересно.

hocr2pdf написан, как я понял, на С++ - так что можно будет под виндой его скомпилировать.

hocr2pdf откроет возможность создания такого конвертера djvu2pdf, который будет уметь переносить OCR из DjVu в PDF - немыслимая ныне возможность (если не считать файнридер).

Статья по теме:
Linux, OCR and PDF – problem solved

http://blog.konradvoelkel.de/2010/01/linux-ocr-and-pdf-problem-solved/

Хотя, не исключено, что обычный GhostScript так тоже умеет (создавать PDF с заданным hOCR) - см. http://gnome-help.org/content/show.php/OCR+using+Tesseract?content=121289
« Последнее редактирование: 04 ЅЮпСам 2010, 18:31:28 от monday2000 »

Nitro

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
    • E-mail
Re: Чем сделать OCR в PDF?
« Ответ #2 : 11 ґХЪРСам 2011, 17:41:38 »
Вставлю свои 5 копеек. Adobe Acrobat Professional не канает вообще, качество такое, что лучше б вообще не было распознанного слоя. Да и 2 языка распознавания невозможно выбрать.

Что касается FR, то тут приходится переконвертировать PDF. И вот тут проблема уже в том, что после прогона сильно портятся изображения (даже при максимальных настройках качества). Понятно, что хранить отсканированную книгу с иллюстрациями в pdf это очень плохо, но в ряде случаев, если текст более-менее читаем, тратить время на улучшение и перегонку в djvu смысла нет, а текстовый слой добавить все же хочется. Про это и тут писали http://rutracker.org/forum/viewtopic.php?p=46798219#46798219

Есть какие-то мысли по этому вопросу?

textsharik

  • Постоялец
  • ***
  • Сообщений: 138
    • Просмотр профиля
    • E-mail
Re: Чем сделать OCR в PDF?
« Ответ #3 : 14 ґХЪРСам 2011, 02:13:03 »
Есть такой формат Pseudo-Djvu.
Размер будет 1:1 как у оригинального pdf-файла. Зато никаких проблем с текстовым слоем. Конвертирование мгновенное: с настройками сегментера мучиться не надо.
Для факсов тоже подходит.

don555

  • Пользователь
  • **
  • Сообщений: 71
    • Просмотр профиля
    • E-mail
Re: Чем сделать OCR в PDF?
« Ответ #4 : 14 ґХЪРСам 2011, 12:11:12 »
Можно ссылку на этот Pseudo-Djvu?

textsharik

  • Постоялец
  • ***
  • Сообщений: 138
    • Просмотр профиля
    • E-mail
Re: Чем сделать OCR в PDF?
« Ответ #5 : 14 ґХЪРСам 2011, 21:34:48 »
Можно ссылку на этот Pseudo-Djvu?

Утилита phototodjvu.exe (входит в состав Document Express Enterprise) с параметром --jpeg.
GUI для неё выложу через пару дней.

Извлечение Jpeg из Pdf без пережатия: http://forum.ixbt.com/topic.cgi?id=23:39668

don555

  • Пользователь
  • **
  • Сообщений: 71
    • Просмотр профиля
    • E-mail
Re: Чем сделать OCR в PDF?
« Ответ #6 : 15 ґХЪРСам 2011, 17:57:15 »
Спасибо.

textsharik

  • Постоялец
  • ***
  • Сообщений: 138
    • Просмотр профиля
    • E-mail
Re: Чем сделать OCR в PDF?
« Ответ #7 : 20 ґХЪРСам 2011, 11:14:31 »
Версия DjVu Small, поддерживающая псевдо-djvu:

http://www.djvu-scan.ru/forum/index.php?topic=42.msg2190#new

antabu

  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Re: Чем сделать OCR в PDF?
« Ответ #8 : 10 ёоЫм 2012, 13:01:36 »
К новой версии PDF-XChange Viewer есть типа плагин для распознания текста. На портабельную версию напрямую не ставится, но есть решение http://forum.ru-board.com/topic.cgi?forum=5&topic=29200&start=200#8