Так уж и быть, раз уж это OCR-форум.
1.
Определение и смысл
OCR (Optical character recognition) --- т. е. это распознавание буковок на фотографии (скане) и перевод их в текстовый формат. Если у вас есть книга, то человек буквы в ней распознает с помощью мозга, а компьютер может распознать только отсканированную (или сфотографированную) книгу (слово "оптический" именно это и означает) с помощью программ. Наиболее популярная программа для Windows, которая это делает, называется FineReader (далее
FR
), есть еще ряд программ, например, tesseract, СuneiForm, и многие другие,
Google Вам в помощь.
2.
Для чего это нужно
Для того, чтобы djvu/pdf книга была удобна в использовании, и имела даже некоторые преимущества по сравнению со своим бумажным оригиналом !!!очень важно сделать!!!:
• внедрение в файлы распознанного текста под картинку, для быстрого поиска нужного слова/предложения;
• внедрение дерева оглавления (букмаков), для быстрой навигации.
3.
Чем это делать
Для распознавания, я рекомендую использовать FR12, так как он:
• умеет работать непосредственно с форматом djvu/pdf (как читать их, так и сохранять);
• он каким-то чудом умеет работать из командной строки, что упрощает автоматизацию процесса.
4.
Как это делать
• Скормить FR свой файл book.djvu, после распознания сохранить в другой, скажем book_OCR.djvu-файл
• Пересадить
душу OCR-слой из book_OCR.djvu с помощью
FR11 DjVu Text Layer Crutch v0.3 в исходный.
============== Здесь остановитесь, и подумайте, стоит ли вам дальше читать ==============
5.
Как это автоматизировать
Например, используя скрипт (
windows batch), можно легко автоматизировать распознавание Tiff/Djvu/Pdf.
Для примера, возьмем формат djvu.
Предположим, у нас есть НЕ распознанный файл
book.djvu
(для демонстрации взято 10 страниц) .
-->
Видео автоматического процесса распознавания <--
Вмешательство человека нужно для того, чтобы позакрывать все GUI FR. Но и это можно перепоручить скрипту, добавив в конец командной строки FR ключ
/quit, тогда во время работы скрипта вообще можно отойти от компьютера и заняться другими делами, например, зарядкой для глаз!
После автоматической отработки скрипта на выходе имеем исходный
djvu
-файл с внедренным OCR-слоем.
Кроме того, в папке также присутствует файл
book_OCR.djvu
, который был создан FR. Именно из этого файла извлекся OCR-слой в файл
book.djvu_ocr.dsed
.
6.
Про работу скрипта в нескольких словах
- FR запускается и затягивает book.djvu в виде ч/б картинок и распознает их;
- FR сохраняет book_OCR.djvu с внедренным OCR (он это умеет);
- book_OCR.djvu чистится с помощью FR11 DjVu Text Layer Crutch v0.3;
- djvused извлекает из
book_OCR.djvu
текстовый файл book_OCR.djvu_ocr.dsed
в кодировке utf-8 с координатами и самим текстом; -
book_OCR.djvu_ocr.dsed
еще чистится с помощью sed от записей, которые содержат название файлов, из которых склеен djvu; -
book_OCR.djvu_ocr.dsed
внедряется в исходный book.djvu
с помощью того же djvused.
Кому интересно, batch-скрипт можно скачать
---> здесь <---Все упомянутые утилиты командной строки можно брать на соответствующих сайтах, и прописывать пути к ним в переменной PATH
Примечания
Примечание 1.
Скрипт удобно запускать из-под Total Commander.
Примечание 2.
Файл
book_OCR.djvu
создался самим FR, он не оптимальный с точки зрения сжатия, и нужен был лишь для извлечения из него слоя, после всего его можно удалить. Можно, конечно, и в скрипте прописать его удаление, что б глаза не мусолил, но я решил его пощадить для потомков. Кроме того, если исходный djvu есть цветным, то FR-овский book_OCR.djvu может быть и ч/б, так как для распознания цвет не важен.
Примечание 3.
Для автоматизации также можно думать в сторону tesseract, так как он естественно работает из командной строки без всяких GUI (в отличие от FR), в сети даже есть рецепты, как создавать dsed-файлы для внедрения.
Примечание 4.
Как делать дерево оглавления, в сети информация есть, смотрите сайт
http://djvu-spec.narod.ru/ в сторону программы PDF & DJVU Bookmarker .
Примечание 5.
Все
ИМХО убраны цензурой.