Текст книги "Создание электронных книг в формате FictionBook 2.1: практическое руководство"
Автор книги: Михаил Кондратович
сообщить о нарушении
Текущая страница: 11 (всего у книги 15 страниц)
Часть VII
Прочее программное обеспечение для работы с FictionBook
§ 7.1 Программа-библиотекарь для книг в формате FictionBook
Вы уже привыкли читать «с экрана», вы читаете много, и ваша коллекция электронных книг постоянно растет. Но когда количество книг переваливает за вторую сотню, то внезапно обнаруживается, что найти нужную книгу становится все труднее.
Поневоле приходишь к мысли, что нужен каталогизатор или оболочка, который позволит рассортировать массив файлов и эффективно ориентироваться в нем.
Специально для этих целей Дмитрий Пустовит и Олег Князев написали программу FB2Librarien («Библиотекарь»).
Данное описание верно для версии 1.4.0.0
Основные функции и возможности программы:
Ведет базу данных всех имеющихся книг. Информация хранятся в формате бесплатной СУБД Firebird 1.5.
Автоматически сортирует книги, согласно описаниям (description).
Отображает всю информацию о книге, включая аннотацию и обложку.
Позволяет добавлять дополнительную информацию, например, подробные сведения об авторе.
Поддерживает раздельную работу пользователей. Для каждого пользователя ведется отдельная история чтения книг, избранное.
Позволяет пользователям оценивать книги и добавлять рецензии.
Может экспортировать книги из библиотеки на ActiveSync устройство (поддерживаются устройства под управлением WinCE и PalmOS) или просто в отдельную папку.
Может работать в локальной сети.
Поддерживает скины .msstyle.
Можно экспортировать список всех книг в html-файл.
Установка программы
Скачать программу можно с ftp-сервера Fictionbook.org. Раздел pub. Программа полностью бесплатна. Для работы FB2Librarien требуется M$ Windows 2000 или XP. Запуск программы под Windows 9x возможен, но там она работает не совсем корректно.
Распакуйте архив в нужную директорию. Совсем не обязательно, чтобы она была в Program Files. Лучше всего создать директорию в корневом каталоге диска, например, D:FB2LIBR.
При этом установка Firebird на ПК вовсе не требуется. Необходимая dll-ка включена в дистрибутив программы. Сервер Firebird будет нужен только при работе в локальной сети.
При первом запуске программы автоматически открывается пустая база данных. Она хранится в каталоге, где находится программа, в поддиректории Library.
Можно использовать ее, а можно создать свою.
Cоздание новой базы данных
Новая база создается с помощью функции меню «Библиотека/Создать» (Ctrl+N).
Выбираем способ хранения книг «База данных» или «Файловая система».
При способе хранения «База данных» файлы книг хранятся в теле самой базы данных, в поле BLOB.
При способе хранения «Файловая система» книги размещаются в специально отведенной папке, упакованные в архивы ZIP. Для каждого автора создается отдельная папка «имя_фамилия».
Нужно указать местоположение файла базы и его формат (рекомендуется .fdb), а для способа хранения «Файловая система» еще и папку, где будут храниться книги – точку монтирования.
Способ хранения данных можно в любой момент изменить. Делается это функцией меню «Библиотека/Изменить способ хранения».
В настройках, «Инструменты/Опции», в разделе «Хранилище» тоже присутствует выбор «База данных/Файловая система». Однако попытка изменить способ хранения книг таким образом, может привести лишь к тому, что часть книг будет в базе, а часть – в папках.
Иногда, после создания базы выскакивает окно с ошибкой и база не добавляется в список доступных баз. В таком случае вызываем функцию «Библиотека/Открыть» и добавляем ее вручную («Добавить в портал»).
Чтобы начать работать с программой необходимо:
а) авторизоваться;
б) закачать книги в базу данных.
Авторизация и управление пользователями.
Чтобы выполнить какое-либо действие, затрагивающее содержимое базы данных, например, добавить книги в библиотеку, необходимо авторизоваться (ввести имя пользователя).
Программа сама предложит вам авторизоваться, как только вы попытаетесь выполнить действие, которое доступно только для зарегистрированного пользователя.
На панели инструментов есть специальная пиктограмма «Авторизация» (стилизованное изображение человека). Или нажмите Ctrl+L.
Вводим имя пользователя (логин), и, если требуется, пароль. Щелкнув по кнопке со стрелкой, можно выбрать пользователя из списка.
Изначально в базе уже есть встроенный пользователь «owner», имеющий права владельца библиотеки. По умолчанию ввод пароля для него не требуется.
Если установить галочку «Запомнить», при последующих запусках программы будет осуществляться автоматический вход под соответствующим логином.
Можно тут же создать нового пользователя. Для этого щелкните по ссылке «Регистрация».
В появившемся окошке введите имя пользователя, и, если считаете нужным, пароль. Пароль вводится два раза.
Данные о пользователях хранятся в самой базе данных библиотеки. Поэтому если вы создали новую базу, там нужно будет регистрироваться по-новой.
Для редактирования списка пользователей есть функция «Инструменты/Пользователи».
Редактировать список пользователей может только владелец базы.
Щелкнув правой клавишей по нужной строке, можно назначить пользователю привилегии. Их, собственно, две. «DB Owner» (Владелец базы) и «Can Edit» (Может редактировать).
Привилегия «Can Edit» всего лишь позволяет редактировать описание (description) книги.
Привилегия «DB Owner» предоставляет пользователю администраторские права. Только владелец базы может удалять книги, настраивать синонимы авторов, менять настройки пользователей.
Как быть если вы удалили пользователя owner, и в списке пользователей не осталось ни одного логина с правами владельца базы?
Все просто. Создаем новую базу и открываем («Библиотека/Открыть») ее. Авторизуемся как пользователь owner и тут же открываем оставшуюся «бесхозной» базу. Регистрируем пользователя и немедленно присваиваем ему права «владелец базы». Вуаля!
Добавление книг в библиотеку.
Для пополнения базы новыми книгами существует команда «БиблиотекаДобавить книгу».
В верхней строчке панели «Source files» нужно указать каталог, в котором будет производиться поиск новых книг.
Файлы книг могут быть упакованы в ZIP‑архивы.
Затем вызываем команду «FileПоиск FB2-файлов».
В панели «Source files» появится список найденных файлов с книгами.
Пометив нужные файлы (если активна функция «ДополнительноПомечать файлы в процессе поиска» все найденные файлы помечаются сразу), вызываем команду «FileОбработать выбранные файлы». В правой части экрана отображается ход процесса.
Вся информация о выполненных операциях будет храниться, пока вы не очистите соответствующий журнал.
Не следует добавлять за один раз более 1000 книг, так как это чревато зависанием программы.
Paбота с программой
Основное рабочее окно FB2Librarian разделено на три части и имеет четыре закладки. «Авторы», «Серии», «Жанры» и «Новинки» Соответственно, книги в них сортируются по фамилии автора, серии, жанру и поджанру, а также времени поступления в библиотеку.
В закладке «Авторы» слева идет список авторов книг, входящих в библиотеку. По умолчанию – всех, но щелчком по букве алфавита вверху их можно отсортировать по нужной букве.
В закладке «Серии», соответственно, слева находится список серий. Ну и так далее.
Правая часть экрана для всех закладок почти одинакова.
Сверху идет список книг, отсортированный по соответствующему признаку. Ниже – описание текущей книги. Название книги, вхождение в серию и порядковый номер в ней, жанр, а также аннотация книги.
Рядом, левее, находится картинка обложки, если она есть. Ниже обложки – количество рецензий и оценка читателей.
При наведении курсора на картинку обложки, появляются две кнопки с изображением лупы и дискеты. С их помощью картинку можно просмотреть в увеличенном виде или сохранить в файл. Впрочем, вместо щелчка по пиктограмме лупы с тем же результатом можно щелкнуть по самой картинке.
Щелкнув по цифре оценки (или тому месту, где она должна находиться) можно вызвать функцию голосования – оценки книги. Теоретически – по пятибалльной системе, практически – произвольную. Оценка, которую программа выводит под обложкой книги, является средним арифметическим всех выводимых оценок.
Двойной клик по названию книги в списке открывает ее в программе чтения. По умолчанию это HaaliReader, исполняемый файл которого входит в дистрибутив программы, но в опциях можно назначить и другую читалку.
К большому сожалению, пока не существует читалки, предусматривающей раздельные настройки для каждого пользователя индивидуально. Поэтому если библиотекой пользуются одновременно несколько человек, могут возникнуть некоторые неудобства, особенно, если пользователи читают одни и те же книги.
Функция поиска в программе довольно спартанская. По слову или фрагменту слова, регистронезависимая. Поиск производится в полях базы «Автор», «Название», «Серия».
Довольно много функций завязано на правую кнопку мыши.
Кликнув по имени автора в соответствующем списке, в закладке «Авторы», можно ввести подробную информацию о данном авторе («Редактировать информацию об авторе»), удалить автора (вместе с его книгами), а так же назначить синонимы.
Что такое синонимы?
Некоторые авторы публикуются как под собственным именем, так и под псевдонимами. Или под несколькими псевдонимами. Например: Кир Булычев – Игорь Всеволодович Можейко, Юрий Никитин – Гай Юлий Орловский. Чтобы объединить их как одного автора, в программе введены синонимы.
Можно ввести синонимы вручную («Редактировать синонимы»). А можно назначить конкретного автора как синоним другого, используя функцию «Добавить как синоним». Автор исчезнет из списка, а его книги будут добавлены к книгам того автора, которому вы его назначили в синонимы. Внимание! Операция необратима!
Последняя функция, доступная по щелчку правой клавишей в списке авторов, «Проверка написания». Она позволяет выявить некириллические символы в имени-фамилии автора.
Щелчок правой кнопкой мыши по названию книги в списке книг (любая закладка) вызывает следующие функции (большинство из них продублировано в пункте главного меню «Книга»:
«Пометить как прочитанную» (Ctrl+Y). Название книги выделяется зеленым цветом и рядом появляется зеленый квадратик. Книга добавляется в список «История».
«Снять пометку о прочтении» (Ctrl+Alt+Y) – снимает эту пометку.
«Запланировать к прочтению»(Ctrl+P). Добавляет книгу в отдельный список книг, которые вы планируете прочесть в первую очередь. Cписок можно просмотреть с помщью пиктограммы на основной панели («Показать запланированные к прочтению») включает дополнительную закладку.
«Исключить из запланированных к прочтению»(Ctrl+Alt+P) – соответственно, удаляет книгу из списка заплнированных к прочтению.
«Добавить в избранное» (Ctrl+B), «Удалить из избранного» (Ctrl+Alt+B). Помещает книгу в список «Избранное» или удаляет из оного. Таким образом можно выделять книги, которые особенно заинтересовали. При этом программа считает, что вы прочли эту книгу, и одновременно помечает ее, как прочитанную. Список «Избранное» можно просмотреть, нажав пиктограмму «золотая звездочка» на панели инструментов.
«Просмотреть рецензии» (Ctrl+Q). Вызывает функцию работы с рецензиями.
«Цитаты» (Ctrl+W) – вызывает функцию работы с цитатами.
«Голосование» (Ctrl+U). Позволяет выставить книге оценку.
«Читать в выбранной программе» (Ctrl+H). Просмотр книги. Аналог двойного щелчка.
«Сохранить книгу(и) на диск» (Ctrl+S) – сохраняет книгу (или несколько книг) в указанную папку, в виде zip-файла.
«Отправить книгу(и) на WinCE устройство». Позволяет отправить книгу на устройство под управлением Windows CE (Pocket PC). Должен быть проинсталлирован драйвер устройства или программа-синхронизатор.
«Отправить книгу(и) на Palm устройство». Отправляет книгу в папку, где ее «подцепит» синхронизатор Palm.
«Править информацию о книге» – редактирование description книги. Сделано эта функция качественно, гораздо лучше, чем в FB Editor. Можно даже масштабировать картинку обложки
Требуется привилегия «Может редактировать» или «Владелец базы».
«Удалить книгу» (Ctrl+D) – удаляет книгу из базы. Требуется привилегия «Владелец базы».
Еще в контекстное меню можно добавлять пользовательские функции. Делается это при помощи кнопочки «Пользовательское меню» («ИнструментыОпции», закладка «Общее»).
Откроется форма для настройки меню:
Чтобы ввести новый пункт меню, нажмите кнопку [+] на панели формы. Откроется форма для ввода нового пункта меню.
Заполните поля:
Unpack – отметьте, если хотите, чтобы сжатый файл был предварительно распакован перед вызовом команды. Если не отмечен, файл будет в формате Zip.
Item caption – введите название пункта менюApplication – введите или выберите программу, которая будет вызываться при выборе пункта меню. Допускается выбирать исполняемые файлы (*.exe, .com), скрипты (*.cmd, *.bat), а также произвольные файлы, которые ассоциированы в системе с приложениями.
Parameters – параметры, которые будут добавлены в командную строку при вызове программы.
Допускаются следующие специальные символы, которые имеют специальное значение (обратите внимание, что это строчные буквы латинского алфавита):
%i – полное имя файла с книгой (с расширением fb2, если пункт Unpack отмечен, или zip, если не отмечен);
%o – имя файла без пути (с расширением fb2, если пункт Unpack отмечен, или zip, если не отмечен).
%n – имя файла без пути и без расширения.
Нажмите кнопку Ok, чтобы создать пункт меню.
Если нужно удалить пункт меню, нажмите кнопку [–].
Чтобы сохранить пользовательское меню, нажмите кнопку “Save” (с изображением дискетки).
Затем еще раз Ok, чтобы закрыть диалог “Настройки”.
Пример.
Чтобы создать пункт меню, при выборе которого книга будет копироваться в определенную папку (например, для последующего чтения, в распакованном виде в папку c:ToRead), введите следующее:
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 являются несколько багов, кочующих из версии в версию. К примеру, если в заголовке книги имеются две и более подсерии, то такую книгу программка в упор не видит.
Хорошо хоть, в последних версиях конвертация в обычный текст доведена до вполне приемлемого уровня. Заголовки секций и эпиграфы отбиваются пустыми строками.
Кстати, если во время преобразования книги в текст будет выдано сообщение наподобие: «Файл не переконвертирован. Нарушена структура», тщательно проверьте сноски на предмет их валидности. Метки «id» должны быть в тэгах section, а не где-либо еще. Также следует знать, что Booki не признает наличия в сносках пустых строк (empty-line) – еще один переходящий баг.
Надо отдать должное, автор программы постоянно ее совершенствует. Правда, значительная часть его усилий уходит не на исправление застарелых багов (которые, повторно отдадим должное, тоже потихоньку выводятся), а на создание «удобств» пользователям. Вроде мегабайтного регистрационного файла или постоянного запроса кода запуска с сайта автора (последнюю вредную наклонность приходилось даже лечить – вмешательством в код программы). К счастью, в последующих версиях, автор перестал доводить пользователей до такого греха, вернувшись к более традиционному nag-screen. [7.1]7.1
NAG-screen – назойливое окошко с требованием регистрации, периодически появляющееся при использоании большинства shareware-продуктов. Считается, что оно должно побудить пользователя уплатить деньги за программу.
[Закрыть]
В общем-то, несмотря на все нюансы, 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-книг.