§ 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 являются несколько багов, кочующих из версии в версию. К примеру, если в заголовке книги имеются две и более подсерии, то такую книгу программка в упор не видит.
Хорошо хоть, в последних версиях конвертация в обычный текст доведена до вполне приемлемого уровня. Заголовки секций и эпиграфы отбиваются пустыми строками.
Кстати, если во время преобразования книги в текст будет выдано сообщение наподобие: «Файл не переконвертирован. Нарушена структура», тщательно проверьте сноски на предмет их валидности. Метки «id» должны быть в тэгах section, а не где-либо еще. Также следует знать, что Booki не признает наличия в сносках пустых строк (empty-line) — еще один переходящий баг.
Надо отдать должное, автор программы постоянно ее совершенствует. Правда, значительная часть его усилий уходит не на исправление застарелых багов (которые, повторно отдадим должное, тоже потихоньку выводятся), а на создание «удобств» пользователям. Вроде мегабайтного регистрационного файла или постоянного запроса кода запуска с сайта автора (последнюю вредную наклонность приходилось даже лечить — вмешательством в код программы). К счастью, в последующих версиях, автор перестал доводить пользователей до такого греха, вернувшись к более традиционному nag-screen. [7.1]
В общем-то, несмотря на все нюансы, Booki — достойная программка. Самый большой плюс ее, конечно же, в том, что она без каких-либо дополнительных библиотек или особых требований к ОС (программка прекрасно чувствует себя под Win9x) может сконвертировать FB2 в txt.
§ 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» — добавление новых книг.
Первым делом надо создать новую базу. Вызываем пункт меню
Теперь можно добавлять в базу книги. Вызовите пункт меню
После выбора папки слева тут же будет отображен список файлов FB2, которые находятся в этой папке, а также вложенных в нее папках.
Просмотрев список и подправив его в случае необходимости, жмем кнопку «Start import» (над списком, напоминает кнопку «Play» в медиа-проигрывателях). После окончания процесса итоги его можно увидеть внизу справа.
Все. Можно работать с базой. Программа исправно сортирует книги, показывает обложки и аннотации. Правда, чтобы читать книги, требуется сперва указать в настройках путь к exe-файлу читалки.
Более того, книги из базы, помимо редактирования description можно редактировать во внешем редакторе. Делается это несколько замысловатым, но эффективным, способом.
После выбора в контекстном меню пункта «Edit Book (ext. editor)» книга появится в списке «Files to edit» на вкладке «Home». Следом запустится программа-редактор, путь к которой был указан в опциях. После редактирования и сохранения книга останентся во временной папке библиотекаря, при этом будут доступны команды «Edit» (вернуться к редактированию), «Save» (сохранить книгу в базе) и «Cancel» ( просто удалить файл из временной папки, сбросив, таким образом, все изменения).
В опциях библиотекаря также предусмотрена возможность подключения внешних утилит, например,