Михаил Кондратович - Создание электронных книг в формате FictionBook 2.1: практическое руководство (beta 4)
Unpack = отмечено
Item caption = Копировать для чтения (fb2)
Application = cmd.exe
Parameters = /c copy “%i” “c:ToRead%o”
В результате выбора этого пункта меню распакуется файл с книгой и выполнится команда:
cmd.exe /c copy “c:fb2liblibrarytmpbook.fb2” “c:ToReadbook.fb2”
По материалам файла Fb2Lib_UserMenu_Guide.doc © 2007, TaciturnManЧуть подробнее о рецензиях. Функция вызывается щелчком по количеству рецензий под рисунком обложки или по правому щелчку мыши. Пиктограмма с зеленым знаком «плюс» позволяет добавить свою оценку книги в произвольной форме. Логин, дата и время добавляются автоматически. Пиктограмма с красным крестиком вызывает отдельное окно, где можно редактировать и удалять рецензии. Обычный пользователь — только свои, владелец базы — все.
Аналогичным образом работает функция «Цитаты».
В программе «зашита» последняя версия списка жанров FictionBook. Но, на всякий случай, есть функция их обновления («ИнструментыЗагрузить XML с жанрами»). В открывшемся окошке выбираем нужный файл (обычно это FictionBookGenres.xsd)
В целом, несмотря на некоторую «сырость», программа является простым и удобным средством работы с большим количеством книг.
§ 7.2 Утилита Booki
Программа предназначена для обработки файлов с книгами. Не требует инсталляции, после первого запуска может вызываться из проводника через контекстное меню обрабатываемых типов файлов (функция «Утилита Booki»).
Умеет обрабатывать текстовые, fb2 и rtf файлы (в том числе в zip-архивах). Выполняет операции как с отдельным файлом, так и сразу со всеми файлами в текущем каталоге. Может запускаться в режиме, когда операции c файлами выполняются без вывода окна программы на экран. Выполняемые операции и обрабатываемые файлы задаются через параметры командной строки. Параметры командной строки подробно описаны в документации к программе — небольшом html-файле, котрорый «зашит» в exe-шник программы. Дублировать его здесь ради увеличения объема книги, я не считаю возможным.
Программа позволяет:
1. Переименовывать файлы с книгами. Программа определяет автора, название и серию книги из файла, формирует новое имя файла и переименовывает файл. Имя файла формируется скриптом, который задается в настройках программы. Синтаксис и функции скрипта описаны в документации к программе.
2. Перемещать («раскассировать») файлы по каталогам. Программа определяет автора, название и серию книги из description файла, формирует имя каталога, если необходимо создает его, и перемещает файл в этот каталог. Имя каталога формируется скриптом, который задается в настройках программы. Синтаксис и функции скрипта описаны в документации.
3. Перекодировать fb2 файлы из кодировки UTF-8 в WIN1251, что уменьшает размер файла примерно на 40% (в zip-архиве на 10-15%). Если в файле встретится символ, который отсутствует в кодировке WIN1251, то программа не перекодирует файл.
4. Переконвертировать файл из fb2 в txt. В настройках программы задается формат создаваемого текстового файла.
5. Перекодировать текстовые файлы из кодировки DOS CP866 в WIN1251.
К сожалению, все эти солидные достоинства омрачаются столь же весомыми недостатками.
Помимо того, что утилита платная, большим недостатком Booki являются несколько багов, кочующих из версии в версию. А именно: если имя автора книги представлено одним ником, то такую книгу программка в упор не видит. То же самое происходит, если в ее заголовке имеются 2 и более подсерии.
Хорошо хоть, в последних версиях конвертация в обычный текст доведена до вполне приемлемого уровня. Заголовки секций и эпиграфы отбиваются пустыми строками.
Кстати, если во время преобразования книги в текст будет выдано сообщение наподобие: «Файл не переконвертирован. Нарушена структура», тщательно проверьте сноски на предмет их валидности. Метки «id» должны быть в тэгах section, а не где-либо еще. Также следует знать, что Booki не признает наличия в сносках пустых строк (empty-line) — еще один переходящий баг.
Надо отдать должное, автор программы постоянно ее совершенствует. Правда, значительная часть его усилий уходит не на исправление застарелых багов, а на создание «удобств» пользователям, вроде мегабайтного регистрационного файла или постоянного запроса кода запуска с сайта автора. Последняя вредная наклонность неплохо лечится вмешательством в код программы, но делать этого я принципиально не собираюсь, даже ради того, чтобы ознакомиться с новыми возможностями софтины. Подождем бесплатного аналога, или, вообще перетопчемся.
В общем-то, несмотря на все нюансы, Booki — достойная программка. Самый большой плюс ее, конечно же, в том, что она без каких-либо дополнительных библиотек или особых требований к ОС (программка прекрасно чувствует себя под Win9x) может сконвертировать FB2 в txt.
При написании параграфа использовалась оригинальная документация утилиты Booki.§ 7.3 Программа-библиотекарь JEFLibrarian
С недавних пор выбор программы для ведения FB2-библиотеки не сводится к FB2Librarian. Написанная пользователем, известным на форуме FictionBook.org под ником hedgehog77 программа JEFLibrarian представляет собой неплохую альтернативу, да еще и многоплатформенную. Приверженцы Linux, несомненно, по достоинству оценят наличие версии под эту самую свободную в мире ОС.
Софтина написана на языке Java и представляет собой пакет Java-скриптов с небольшим запускным exe-файлом. Это требует наличия на компьютере установленной Java-машины. Взять ее можно отсюда: http://www.java.com/ru/download/manual.jsp
Формат базы данных основан на наработках Eclipse.
Пока что программа находится в стадии активной разработки. Поэтому ограничимся кратеньким обзором, особенно не вдаваясь в тонкости.
Установка программы сводится к распаковке архива в нужную папку.
После первого запуска все рабочее окно занимает вкладка 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-книг.
Заключение.