Конвертирование книг электронных форматов \ convert ebook format linux cli
DJVU (из djvu формата)
Обычно я конвертирую книгу менеджером книг Callibre. но Наибольшую ценность представляет возможность читать на читалке книги из формата djvu а такое в fb2 никто не показывает как конвертировать. Показываю. Я для этого написал свою утилиту.
Вступение
у меня много таких книг, в формате djvu, которые я бы хотел читать на своей электронной читалке.
DJVU это формат хороший компактностью формат для сканированных книг, если у вас много сканированных книг - djvu для их хранения отличный выбор.
Внутри это чаще всего набор картинко - страниц, хотя djvu может содержать и “текстовый слой”, но часто его не содержит (OCR).
Скрипт который я написал, чтобы конвертировать djvu2fb2 (linux lua bash … cli)
Подготовка
1 | sudo apt-get install python-opencv libopencv-dev python-numpy python-dev |
Еще понадобится
- ddjvu - для распаковки книги djvu (ddjvu: converts DjVu documents to PBM/PGM/PPM images.)
- tesseract - для распознавания текста на изображениях-страницах
1 | $ sudo apt install -y tesseract-ocr |
djvu
1 | $ sudo apt-get install -y djvulibre-bin |
Мой скрипт на LUA (права копирования и модификации за мной, только для частных целей 1 книга в год на человека)
1 | cat djvuToFB2.lua |
выведет:
1 | -- luarocks install penlight |
Запуск
Внизу скрипта (несколлько строк выше) вписан путь к кконвертируемой книге и имя для выходного файла, кавычки тут важны.
1 | djvuToFB2( '"/home/pavlov/Загрузки/знай_и_умей_[tfile.ru]/Якуб С.К. - Вспомним забытые игры (Знай и умей) - 1988.djvu"', |
Пример результата:
Текст читать конечно всегда удобно на читалке, но нужно иметь доступ и к карптинкам, особенно это важно, когда текст не понятен.
бывает так, что картинки идут на странице “вразнобой” с текстом и становится не понятно.
Поэтому я встраиваю в поток текста исходные страницы изображений страницы. - это ссылка по которой можно перейти к изображению или увидеть сразу изображение (в продвинутых читалках)
Вообще учитывается эта особеннность: распознавание не всегда работает хорошо т.к.
- сканирование бывает сделано плохо,
- углы листа при сканировании уходят вниз или вверх
- обтекание текстом картинок в книге мешают автоматически распознать поток текста
- итд…
Ещё я встраиваю в начало каждого блока текста страницу с которой он распознан с номером.
![Акентьев В. - Веселые тайны (Знай и умей) - 1964 [FB2] — Читалка электронных книг_001](img/Акентьев В. - Веселые тайны (Знай и умей) - 1964 [FB2] — Читалка электронных книг_001.png)
![Акентьев В. - Веселые тайны (Знай и умей) - 1964 [FB2] — Читалка электронных книг_003](img/Акентьев В. - Веселые тайны (Знай и умей) - 1964 [FB2] — Читалка электронных книг_003.png)
![Акентьев В. - Веселые тайны (Знай и умей) - 1964 [FB2] — Читалка электронных книг_004](img/Акентьев В. - Веселые тайны (Знай и умей) - 1964 [FB2] — Читалка электронных книг_004.png)
![Акентьев В. - Веселые тайны (Знай и умей) - 1964 [FB2] — Читалка электронных книг_005](img/Акентьев В. - Веселые тайны (Знай и умей) - 1964 [FB2] — Читалка электронных книг_005.png)
Таким образом очень удобно читать получается такую книгу. Правда она содержит картинки КАЖДОЙ страницы и получается большой. - это небольшой минус.
Я такие книги удаляю после чтения с устройства.
По идее можно не включать саму картинку в книгу, но я так не пробовал - меня устраивает. ;-)
PDF to HTML
Бонус. Встречаются на просторах сети такие книги с таким комментарием внутри их кода:
1 | <!-- Created by pdf2htmlEX (https://github.com/coolwanglu/pdf2htmlex) --> |
так что можете пользоваться этим проектом https://github.com/coolwanglu/pdf2htmlex
Книга получается “тяжелая”, обычно под 100 МБ файлик… но читать на компе из большого браузера ее удобно - содержание, оформление, все сохранено.
Какой в этом смысл, если можно прочитать сразу pdf? - не знаю! Но штука работает.
Calibre из linux консоли
Если на мешине уже есть calibre - можете всю пачку книгу бахнуть таким способом например в epub
1 | HERE=$(pwd) |