Первым делом надо создать новую базу. Вызываем пункт меню Library\New book. Выбираем имя файла и папку, где она будет располагаться. Потом вводим внутреннее имя базы (допустим, «Моя либа»), и, если требуется краткую аннотацию. Также можно выбрать способ хранения книг — внутри базы или внешний. Во втором случае нужно будет указать еще корневой каталог базы. Вообще, на момент написания книги, внутренний способ хранения казался более отлаженным.
Теперь можно добавлять в базу книги. Вызовите пункт меню Library\Add 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-книг, входящих в библиотеку Либрусек. На момент написания книги эта библиотека включала около 112 000 книг более чем 20 000 авторов, общим «весом» под 20 гигабайт!
И, даже если у вас нет возможности скачать такой колоссальный объем данных, МyHomeLib может работать непосредственно с Либрусеком, on-line. Нужные книги будут скачиваться по мере необходимости.
Прилагающийся к программе подробный help исчерпывающе описывает все функции софтины. Что, кроме всего прочего, позволяет автору этой книги не утяжелять ее файл еще одним «самотужным» руководством пользователя.
Поражает, с какой взвешенностью авторы подходят к добавлению новых функций в свое детище. Ничего лишнего, только действительно необходимое.
Некоторый недостаток функционала прекрасно компенсируется возможностью создания пользовательских скриптов.
В общем, перед нами отличный пример продуманного, сбалансированного, и, главное, стопроцентно отвечающего своему назначению программного продукта.
§ 7.5 FB2Fix
Как следует из названия, основная задача этой утилиты — полная проверка FB2-файлов на валидность с возможностью их коррекции. Кроме того, автор, скрывшийся под претенциозным псевдонимом Gremlin II, наделил программу «талантами» работать с архивами, в том числе RAR и вложенными ZIP, использовать пользовательские спецификации XSD, транслитерировать имена файлов и переименовывать их по шаблону, заменять «непечатные» символов, автоматически конвертировать жанры из версии 2.0 в версию 2.1, и даже перекодировать книжки. Отдельным пунктом значится приведение в порядок невалидных книг из библиотеки Либрусек.
Возможна обработка как отдельных файлов, так и целых каталогов.
Утилита выполняет полную проверку на соответстие xml-файла книги спецификации (schema) FB2. Если книга не проходит проверку на валидность, FB2Fix пытается исправить ее. Это производится следующим образом. Вначале производится проверка всех тэгов. Не закрытые (или же лишенные открывающего дескриптора) тэги — закрываются. Также софтина пытается разобраться, с «висящими» в тексте символами «<» и «>» на предмет, элементы ли это тэгов или же просто огрехи работы конвертора. При этом программа, как и все «ишкуштвенные интилекты» не застрахована от ошибок. Отсюда мораль: после правки «проблемного» файла не пожалеть пару минут на сличение результата с оригиналом.
Все признанные огрехами «<» и «>» в тексте заменяются на < и >, как и положено по спецификации. Символы с кодами от 01 до 08 заменяются на «-», символы 0b, 0c и 0e — 0x1f на « ».
Сама утилита представляет собой консольное приложение. То есть, запуск ее возможен посредством использования командной строки («Command Prompt») с передачей рабочих параметров через нее.
Несмотря на это, для работы FB2Fix требуется наличие в системе Micro$oft .NET Framework 2.0. Также софтина может работать под Linux (с установленным Mono и пакет(ами) libmono-i18n{1,2}.0-cil).
Давайте познакомимся с FB2Fix поближе.
Скачайте и распакуйте архив в папку, Например, C:\FB2TOOLS\FB2FIX.
Создайте на диске (лучше в корне) две рабочие папки. Например INBOOK и OUTBOOK.
Войдите в папку FB2FIX. Для удобства, лучше все эти операции проделывать в каком-нибудь консольном файл-менеджере, например, Far Manager.
Забросьте в папку INBOOK с десяток книг FB2.
Теперь давайте запустим FB2Fix.
Вот так:
FB2Fix.exe D:\INBOOK /output:D:\OUTBOOK
Когда утилита отработает, загляните в папку OUTBOOK. Вы обнаружите там две папки — Bad и Good. Как нетрудно догадаться, первая предназначена для книг, которые не прошли проверку и, к тому же, их не удалось исправить. В папку Good отправляются все остальные.
Итак, алгоритм работы в общих чертах ясен. Кладем книги, нуждающиеся в проверке, в папку INBOOK и запускаем программу. Кстати, выходную папку можно и не указывать, тогда директории Bad и Good будут созданы в той же папке, где находится FB2Fix.