Skip to main content

Блог инженера

Блог о минимализме, инжинерии и программировании.



Ещё о продолжительности работы мобильных устройств от одной зарядки

  | #Блог

В ходе миграции сайта все иллюстрации были утеряны.

Здесь я приведу исключительно собственные рекомендации по созданию электронных книг в формате djvu. Совсем не обязательно чётко придерживаться “моей” методики, я описываю способ удобный лично для меня.

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

Далее я буду описывать свой способ, когда в сканер с автоподатчиком подаются разрезанные страницы. Мы заложили книгу, или её часть, если приемный лоток не позволяет вложить книгу целиком. До этого мы перебрали листы, чтобы среди них небыло склеившихся, сцепившихся загнутыми уголками страниц и т.п. Выбираем в опциях сканирования цветное сканирование или в градациях серого (если нет цветных иллюстраций) и разрешение 300 dpi. Выходной формат - jpeg с высоким качеством или tiff.

После окончания сканирования все нечетные страницы попадают в сетевую папку. Четные отсканируем в следующий проход.

Открываем файл с первой страницей в IrfanView

Нажимаем клавишу “B” и попадаем в окно групповых преобразований/переименований файлов

Кнопкой “Add all” добавляем все сканированные файлы в список преобразования. Убеждаемся, что в группе “Work as” установлена галочка “Bach conversion – Rename result files”. В качестве выходного формата выбираем в меню Options опцию “tif”

Указываем формат сжатия LZW. Это не обязательно, но это самый беспроблемный формат сжатия для tiff файлов. Теперь нужно указать параметры переименования. В группе настроек “Batch rename” указываем “Rename pattern” имя файла page, а в Options Указываем, что первый переименованный файл будет иметь номер 1, а шаг страниц – 2 (ведь пока мы отсканировали только нечетные). Наконец, указываем в какую папку будут перемещаться обработанные файлы. Нажатие кнопки “Start batch” запускает процесс преобразования/переименования. Да, если ваш сканер уже «умеет» выдавать отсканированные изображения в формате tiff – можно обойтись без преобразования и использовать еще более простые инструменты для группового переименования файлов.

Процесс занимает немного времени

и после его окончания мы получаем папку в которой есть каждая вторая страница. Самое время проверить, не упустили ли мы чего при сканировании. Переходим к последнему преобразованному файлу и убеждаемся при его просмотре, что номер страницы на изображении соответствует номеру страницы в имени файла. Если все в порядке – удаляем исходные файлы из сетевой папки. И сканируем листы, загрузив книгу в автоподатчик сканера другой стороной. Бывает, что страницы были загружены неправильно и сканы получились «вниз головой». Мой опыт говорит о том, что проще будет повторить сканирование с правильной ориентацией страниц, чем переворачивать их преобразованием. К сожалению, в опциях преобразования IrfanView нет функции поворота изображения на 180 градусов. После сканирования всех листов повторяем процедуру с переименованием и преобразованием формата файлов в IrfanView.

После сканирования страницы могут быть слегка повернуты, иметь дефекты сканирования, неодинаковые поля. Эти вещи лучше исправить в программе ScanTailor. Интерфейс ScanTailor достаточно интуитивен, кроме того, по этой программе есть отдельная справка. Вот последний этап – вывод страниц в обработанном, подрезанном, выровненном виде

Отдельно обработаем пару страниц с иллюстрациями. Укажем для их вывода режим «смешанный» или «цветные страницы».

После окончания обработки, откроем страницы в FineReader. Требуется распознавать именно обработанные страницы, а не исходные. Т.к. на следующих шагах в документ будет встроен текстовый слой в котором каждое слово «привязано» к участку на сканированной странице. Т.е. мы должны распознать текст точно в том виде, в котором он попадет в выходной файл. Предполагается, что пользоваться FineReader вы уже умеете, тем более, что на качество распознавания можно не обращать особого внимания. Нужно пользоваться старой версией Fine reader 8, чтобы потом можно было ведрить текст утилитой DjvuOCR. Текстовый слой нужен для того, чтобы книга потом находилась полнотекстовым поиском. Я использую функцию «Распознать все» без какой бы то ни было предварительной обработки страниц.

Для дальнейшей работы достаточно сохранить распознанный пакет

И можно собирать DjVu файл. Я использую для этого утилиту DjVu Small. Наш случай осложнен тем, что имеются страницы с фотографиями. Есть изощренные методы вставки фотографий и рисунков в djvu файлы с черно-белым содержимым, но я пользуюсь куда более простым методом. Сперва создадим черно-белый djvu файл, воспользовавшись профилем bitonal 600 dpi.

Этот файл ещё не готов, цветные и черно-белые страницы выглядят ужасно. Запишем их номера. Теперь назовем созданный файл по правилам при помощи утилиты NameCreator

И переименуем файл.

Снова запустим DjVu Small и изготовим djvu файл из страниц с иллюстрациями.

На этот раз используем профиль Scanned 600 dpi.

Результат получился не очень

Попробуем профиль Photo 600 dpi. Результат куда лучше, но и размер выходного файла из пяти страниц получился больше, чем вся остальная книга – 216 страниц. Т.к. размер сканированной книги до 10 Мб можно считать вполне умеренный – используем иллюстрации высокого качества. При помощи программы Djvu Editor Pro вставим новые страницы взамен отсканированных в черно-белом качестве.

После операции по вставке иллюстраций книга распухла почти до 5 Мб, это по-прежнему очень немного. Добавим к книге текстовый слой при помощи утилиты DjvuOCR

Выберем пакетный режим.

Выберем наш djvu файл, выберем каталог, куда сохранили пакет FineReader и после нажатия на кнопку Обработка получаем djvu с текстовым слоем.

Откроем djvu и проверим, работает ли поиск

Все в порядке. Осталось вставить обложку книги, которую мы отсканировали с лучшим качеством, почистили в графическом редакторе и перевели в djvu с качеством Photo 300 dpi. Книга готова и отлично читается на большинстве современных гаджетов с высоким разрешением, от электронных книг, до планшетов.

По затратам труда этот способ куда проще, чем форматирование epub/fb2 книги, т.к. не требует вычитки, оформления и прочего. Для учебников, научной литературы с иллюстрациями, формулами и т.п. это практически единственный способ сделать книгу приличного качества.

About Mikhail Kiselev

Photo of Mikhail Kiselev

Приветствую в моём блоге! 😄 Меня зовут Михаил. Я инженер и программист. Живу в Израиле. Но мой блог связан с работой в Сибири и на Сахалине, путешествую где придётся. Я предпочитаю пост в блог посту в твиттер. Описание полезной технологии или гаджета предпочитаю описанию заката или посиделок в кафе.