Гутенберг 2.0

Feb 16, 2014 22:29


"Информация должна быть свободной" - одна из главных идей хакерства 80-х. Во время всепроникающего интернета звучит не айс: мир изменился, в сети найдется все. Но это на первый взгляд. Дело даже не в копирастах. "Книги не горят", но умирают очень просто: не выложенная в сеть книга исчезает из свободной продажи через 1-5 лет. Остается в библиотеках, конечно, но это если речь идет о больших тиражах. А специализированная литература тиражом в тысячу-другую экземпляров просто исчезает.  И найти ее невозможно никакими средствами. Потому, если в руках есть редкая полезная книга и сканер - just do it, не так уж это и сложно.


Шаги к бессмертию (под lubuntu 13.10 x64):

1. Сканирование. Тут все просто. Сканируем с 300 dpi в оттенках серого для ч/б или цветном для остального. Ч/б-сканинг использовать смысла нет, т.к. его всегда можно сделать на более позднем этапе обработки. Получем кучу файлов изображений, пронумерованных по порядку (я выбрал png, но можно bmp или что-нибудь еще).

2. Выбираем формат для будущей книги. Если нет необходимости распознавать текст, то выбор невелик - формат djvu наше все. Хорошо написано здесь: http://linuxgeeks.ru/djvu.htm. В двух словах - отличается специальным алгоритмом сжатия изображений с текстовой инфой, т.е. с большим количеством повторяющихся символов. В несколько раз эффективнее jpeg, и, к тому же, позволяет хранить текст и ссылки внутри документа отдельными слоями. Определившись с форматом, ставим соответствующий софт. Все берется из репозиториев lubuntu.Программа scantailor понадобиться для предварительной подготовки отсканированных изображений. Пакеты netpbm и djvulibre-bin необходимы для преобразования исходных изображений в формат portable anymap, конвертирования получишихся файлов в djvu и сборки из них книги. Программа djvusmooth поможет создать оглавление книги.

3. Запускаем scantailor и создаем новый проект, куда добавляем папку с отсканированными изображениями. В левой части окна программы находится список стадий обработки. На каждой стадии можно выделить отдельную картинку, призвести с ней необходимые действия, полюбоваться на результат и выбрать, применять ли действия к одной картинке или ко всем. После нажатия кнопки Play происходит отработка стадии для всех изображений в проекте. После нажатия Play в последней стадии, обработанные изображения появятся в подпапке old исходной папки проекта. Интерфейс интуитивно понятный, смысла расписывать не вижу.

4. Полученные отредактированные сканы необходимо преобразовать в pnm-формат. Делается это такой комадой:
for i in *tif; do tifftopnm $i > ${i%tif}pnm; done
В цикле все файлы заканчивающиеся на tiff ковертируются в pnm. Команда приведена для tiff-формата, но аналогичные есть и для других (название формата записывается перед topnm).

5. Конвертируем черно-белые файлы в djvu. Команда:
for i in *pnm; do cjb2 -dpi 300 -clean $i ${i%pnm}djvu; done
Тот же цикл, только теперь используется утилита cjb2. Разрешение задается согласно высталенному перед этим в scantailor, а параметр -clean задет степень сжатия.

6. Конвертируем цветные файлы. Их как правило мало (обложка + несколько иллюстраций), потому обходимся без цикла:
c44 -dpi 300 -slice 74+13+10 000.pnm 000.djvu
с44 - название утилиты-конвертера. параметр -slice задает опции сжатия, файл 000.pnm ковертируется в 000.djvu.

7. Склеиваем файлы в один. Команда:
djvm -c name.djvu *djvu
И вновь djvm - название утилиты, параметр -с означает создание (возможно еще добавление и удаление), name.djvu - имя файла-книги, *djvu заставляет утилиту склеивать все файлы этого формата в текущей папке. Т.к. файлы пронумерованы по-порядку, то и страницы в книге сложаться как надо.

8. Запускаем djvusmooth и открываем свежесозданный файл-книгу. В левой части выбираем вкладку "Оглавление", пролистываем страницу до нужной и добавлем новую заметку, обозвав ее соответственно. Повторяем для остальных пунктов оглавления.

Осталось выложить книгу в сеть.

linux, книги

Previous post Next post
Up