Создание электронных книг в формате FictionBook 2.1: практическое руководство - Михаил Кондратович
Шрифт:
Интервал:
Закладка:
Программа позволяет:
1. Переименовывать файлы с книгами. Программа определяет автора, название и серию книги из файла, формирует новое имя файла и переименовывает файл. Имя файла формируется скриптом, который задается в настройках программы. Синтаксис и функции скрипта описаны в документации к программе.
2. Перемещать («раскассировать») файлы по каталогам. Программа определяет автора, название и серию книги из description файла, формирует имя каталога, если необходимо создает его, и перемещает файл в этот каталог. Имя каталога формируется скриптом, который задается в настройках программы. Синтаксис и функции скрипта описаны в документации.
3. Перекодировать fb2 файлы из кодировки UTF-8 в WIN1251, что уменьшает размер файла примерно на 40% (в zip-архиве на 10-15%). Если в файле встретится символ, который отсутствует в кодировке WIN1251, то программа не перекодирует файл.
4. Переконвертировать файл из fb2 в txt. В настройках программы задается формат создаваемого текстового файла.
5. Перекодировать текстовые файлы из кодировки DOS CP866 в WIN1251.
К сожалению, все эти солидные достоинства омрачаются мелкими, но от этого еще боее неприятными недостатками.
Помимо того, что утилита платная, большим недостатком Booki являются несколько багов, кочующих из версии в версию. К примеру, если в заголовке книги имеются две и более подсерии, то такую книгу программка в упор не видит.
Хорошо хоть, в последних версиях конвертация в обычный текст доведена до вполне приемлемого уровня. Заголовки секций и эпиграфы отбиваются пустыми строками.
Кстати, если во время преобразования книги в текст будет выдано сообщение наподобие: «Файл не переконвертирован. Нарушена структура», тщательно проверьте сноски на предмет их валидности. Метки «id» должны быть в тэгах section, а не где-либо еще. Также следует знать, что Booki не признает наличия в сносках пустых строк (empty-line) — еще один переходящий баг.
Надо отдать должное, автор программы постоянно ее совершенствует. Правда, значительная часть его усилий уходит не на исправление застарелых багов (которые, повторно отдадим должное, тоже потихоньку выводятся), а на создание «удобств» пользователям. Вроде мегабайтного регистрационного файла или постоянного запроса кода запуска с сайта автора (последнюю вредную наклонность приходилось даже лечить — вмешательством в код программы). К счастью, в последующих версиях, автор перестал доводить пользователей до такого греха, вернувшись к более традиционному nag-screen. [7.1]
В общем-то, несмотря на все нюансы, Booki — достойная программка. Самый большой плюс ее, конечно же, в том, что она без каких-либо дополнительных библиотек или особых требований к ОС (программка прекрасно чувствует себя под Win9x) может сконвертировать FB2 в txt.
При написании параграфа использовалась оригинальная документация утилиты Booki.§ 7.3 Программа-библиотекарь JEFLibrarian
С недавних пор выбор программы для ведения FB2-библиотеки не сводится к FB2Librarian. Написанная уже упоминавшимся hedgehog77, учаcтником форума Fictionbook.org, программа JEFLibrarian представляет собой неплохую альтернативу, да еще и многоплатформенную. Приверженцы Linux, несомненно, по достоинству оценят наличие версии под эту самую свободную в мире ОС.
Как и FB2PDF, программа написана на языке Java и представляет собой пакет Java-библиотек (платформа Eclipse RCP) с небольшим запускным exe-файлом.
В качестве движка для базы данных используется Derby.
Пока что программа находится в стадии активной разработки. Поэтому ограничимся кратеньким обзором, особенно не вдаваясь в тонкости.
Установка программы сводится к распаковке архива в нужную папку.
После первого запуска все рабочее окно занимает вкладка Welcome.
Так как никакой функциональной нагрузки эта вкладка, пока что, не несет, проще всего ее закрыть, щелкнув на крестик, в заголовке вкладки, возле надписи «Welcome». Теперь мы получили доступ к рабочему интерфейсу. Как видим, он, хотя и несколько необычен для Windows, но вполне симпатичен и дружелюбен. Он состоит из окон-вкладок, которые могут сворачиваться в док-панели.
Имеется восемь вкладок: «Home» — общая информация и статистика по базе, она же история чтения книг. «Authors» — непосредственно книги, рассортированные по авторам. «Series», «Genres», «Keywords» — сортировка книг, соответственно, по сериям, жанрам и ключевым словам. «Search» — поиск и, последняя «Add books» — добавление новых книг.
Первым делом надо создать новую базу. Вызываем пункт меню LibraryNew book. Выбираем имя файла и папку, где она будет располагаться. Потом вводим внутреннее имя базы (допустим, «Моя либа»), и, если требуется краткую аннотацию. Также можно выбрать способ хранения книг — внутри базы или внешний. Во втором случае нужно будет указать еще корневой каталог базы. Вообще, на момент написания книги, внутренний способ хранения казался более отлаженным.
Теперь можно добавлять в базу книги. Вызовите пункт меню LibraryAdd book или щелкните по заголовку нужной вкладки. Предусмотрено три способа добавления новых книг — выбрать папку, выбрать отдельный файл и скачать файл из Сети.
После выбора папки слева тут же будет отображен список файлов FB2, которые находятся в этой папке, а также вложенных в нее папках.
Просмотрев список и подправив его в случае необходимости, жмем кнопку «Start import» (над списком, напоминает кнопку «Play» в медиа-проигрывателях). После окончания процесса итоги его можно увидеть внизу справа.
Все. Можно работать с базой. Программа исправно сортирует книги, показывает обложки и аннотации. Правда, чтобы читать книги, требуется сперва указать в настройках путь к exe-файлу читалки.
Более того, книги из базы, помимо редактирования description можно редактировать во внешем редакторе. Делается это несколько замысловатым, но эффективным, способом.
После выбора в контекстном меню пункта «Edit Book (ext. editor)» книга появится в списке «Files to edit» на вкладке «Home». Следом запустится программа-редактор, путь к которой был указан в опциях. После редактирования и сохранения книга останентся во временной папке библиотекаря, при этом будут доступны команды «Edit» (вернуться к редактированию), «Save» (сохранить книгу в базе) и «Cancel» ( просто удалить файл из временной папки, сбросив, таким образом, все изменения).
В опциях библиотекаря также предусмотрена возможность подключения внешних утилит, например, конвертора в PDF или LRF.
Резюме. Если автору хватит терпения и энтузиазма довести разработку до конца, мы получим весьма приличный инструмент для наведения порядка в коллекции fb2-книг.
§ 7.4 Программа-библиотекарь MyHomeLib
Еще один библиотекарь для FB2-книг написали Алексей Пеньков и Николай Рыманов. Программа динамично развивалась, благополучно доросла до релиза и не собирается на этом останавливаться.
От других наработок эту софтину выгодно отличают простой и понятный, не перегруженный лишними функциями, интерфейс, стабильность работы, отменное быстродействие.
Книги можно сортировать по авторам, сериям и жанрам. Наличествует продвинутый поиск (закладка «Фильтр») по семи параметрам, с применением квази-SQL запросов. И, конечно же, полюбившиеся произведения можно отобрать в «Избранное». А впоследних версиях программы добавлиась возможность создавать пользовательские группы.
Но самая выдающаяся «фича» МyHomeLib — это, разумеется, управление коллекциями книг с известного сайта «Русская библиотека в Эквадоре» («Либрусек»). Администрация этой замечательной библиотеки настолько любезна, что предоставляет возможность скачивания всей коллекции книг в архивах, правда, немаленьких, по 5000-10000 книг. Вот с этими-то архивами и работает MyHomeLib.
Для этого в комплекте с инсталлятором программы поставляются файлы, с помощью которых можно легко воссоздать базу всех FB2-книг, входящих в библиотеку Либрусек. На момент написания книги эта библиотека включала около 115 000 книг более чем 20 000 авторов, общим «весом» за 20 гигабайт!
И, даже если у вас нет возможности скачать такой колоссальный объем данных, МyHomeLib может работать непосредственно с Либрусеком, on-line. Нужные книги будут скачиваться по мере необходимости.
Прилагающийся к программе подробный help исчерпывающе описывает все функции софтины. Что, кроме всего прочего, позволяет автору этой книги не утяжелять ее файл еще одним «самотужным» руководством пользователя.
Поражает, с какой взвешенностью авторы подходят к добавлению новых функций в свое детище. Ничего лишнего, только действительно необходимое.
Некоторый недостаток функционала прекрасно компенсируется возможностью создания пользовательских скриптов.
В общем, перед нами отличный пример продуманного, сбалансированного, и, главное, стопроцентно отвечающего своему назначению программного продукта.