Calibre: управление электронной библиотекой
Часть 2: чтение новостей из интернета, синхронизация, преобразование форматов, поддержка плагинов
Сбор новостных лент
Далеко не все электронные книги с доступом в интернет удобны для чтения новостных лент в формате RSS или Atom. Поэтому сбор новостей для отложенного чтения в офлайне — возможность полезная и, благодаря Calibre, вполне осуществимая.
На выбор здесь предлагается внушительный список новостных лент (команда «Собрать новости»). Впрочем, русскоязычным пользователям выбор не покажется таким уж богатым: всего 11 ресурсов (для сравнения, иноязычных — более 400).
Для настройки других источников новостей нужно перейти в раздел «Собрать новости → Добавить нужный источник новостей». Вначале создается обработчик («Добавить/Обновить обработчик»), куда добавляется одна или несколько лент сайта. В полях, в нижней правой части окна, указывается название ленты и ее адрес (Calibre поддерживает популярные форматы RSS и Atom). Добавив ленту, можно настроить временной интервал, после которого новости будут считаться устаревшими, и количество получаемых из ленты публикаций. Результаты сохраняются по нажатию кнопки «Добавить/Обновить обработчик».
В расширенном режиме обработчик настраивается для придания новостям определенного формата. Например, можно изменить оформление, добавить CSS-стили или удалить теги, скрипты, сжать или масштабировать изображения и др. Также, учитывая то, что публикации в RSS зачастую урезаны, возникает необходимость в написании обходных правил для получения полного содержания.
Изначально обработчик исходного кода представляет собой python-сценарий подобного вида:
class AdvancedUserRecipe1383979385(BasicNewsRecipe):
title = u'заголовок'
oldest_article = 7
max_articles_per_feed = 100
auto_cleanup = True
feeds = [(u'заголовок', u'адрес ленты')]
Синтаксис написания сценария достаточно прост в изучении и подробно документирован. Calibre располагает обширной базой встроенных обработчиков (кнопка «Настроить встроенный обработчик»), множество примеров можно найти на форуме. Пожалуй, было бы рационально ввести в интерфейс Calibre ряд опций, доступных только в расширенном режиме и реализованных через API. Например, по умолчанию, для каждого обработчика применяется метод auto_cleanup (auto_cleanup = True), который очищает новости от стилей — для удобного отложенного чтения. В основе этого метода заложена функциональность сервиса ReadItLater. В данном случае, необходим вариант переключения с возможностью выбора html-элементов, удаляемых их из кода.
Собственно, для обработки лент предназначена кнопка «Собрать новости» на панели действий. В появившемся окне нужно выбрать обработчики и, при необходимости, настроить расписание, указав интервал загрузки лент. Проследить за процессом создания книги можно в окне заданий (кнопка «Задания» в правой нижней части окна). Если устройство для чтения подсоединено к компьютеру, файл автоматически будет загружен на него. В ином случае, результат будет доступен для просмотра и экспорта непосредственно в библиотеке.
Синхронизация Calibre с устройством
Основной, и самый удобный, способ синхронизации — через USB, альтернативные способы подключения доступны по команде «Подключиться/общий доступ». Например, для передачи книг можно использовать беспроводное соединение и зайти на веб-сервер через браузер (см. первую часть обзора). Как вариант — подключиться к папке и работать с ней как с диском внешнего устройства.
При USB-синхронизации, на панели действий появляется раздел «Устройство». В нем доступно управление содержимым внешнего диска.
Книги, имеющиеся на устройстве, отмечены флажками в библиотеке Calibre. Для передачи файла на внешний источник достаточно перейти в раздел контекстного меню «Отправить в устройство» и выбрать область памяти для копирования. Исходя из модели устройства, Calibre автоматически определяет список форматов, доступных для копирования. Выбрав команду «Настроить это устройство», легко переопределить этот перечень.
Конвертация файлов
Конвертер Calibre поддерживает следующие форматы документов:
- импорт: LIT, MOBI, AZW, EPUB, AZW3, FB2, DOCX, HTML, PRC, ODT, RTF, PDB, TXT, PDF
- экспорт: AZW3, EPUB, FB2, OEB, LIT, LRF, MOBI, HTMLZ, PDB, PML, RB, PDF, RTF, SNB, TCR, TXT, TXTZ
Конвертация происходит в нескольких стадий, за которые отвечают плагины input (входного) и output (выходного) преобразования. Input плагин переводит книгу в формат XHTML. Все изменения в структуре, указанные пользователем (такие как добавление содержания, метаданных и другие поправки), совершаются до этапа выходного преобразования.
В руководстве пользователя перечислены форматы конвертации, в порядке ухудшения качества результата: LIT, MOBI, AZW, EPUB, AZW3, FB2, DOCX, HTML, PRC, ODT, RTF, PDB, TXT, PDF.
PDF, один из самых популярных форматов (но отнюдь не самых удобных для мобильного чтения), Calibre обрабатывает плохо. На это есть ряд объективных причин: в частности, структура и фиксированный размер страниц не позволяют грамотно преобразовать переносы строк, сноски, распознать текст, который зачастую может быть представлен изображением. Поэтому, к сожалению, на PDF накладывается множество различных ограничений при обработке. В формат DJVU экспорт невозможен. Документы, защищенные DRM, конвертировать нельзя. Хотя для этих целей умельцы создали «нелегальный» плагин, который не включен в дистрибутив и не упоминается на форуме по понятным причинам.
На первом шаге нужно выбрать формат для импорта и вывода в диалоге настроек («Преобразовать книги → Индивидуальное преобразование»). Из вышесказанного можно заключить, что от этого зависит качество результата. Настроек преобразования действительно много, среди них можно отметить основные секции, на которые стоит обратить внимание при обычном преобразовании, и те, которые актуальны в проблемных ситуациях — например, при конвертировании PDF.
Из первоочередных опций следует отметить раздел «Вид и функции». Здесь регулируется отображение шрифтов, абзацев и отступов. Очень часто приходится применять опцию «Вставлять пустую строку между абзацами» для улучшения читаемости. Также имеются настройки пунктуации — Calibre приводит знаки препинания (кавычки, тире и др.) в порядок.
При необходимости, можно прикрепить к документу CSS-стили — аналогично просмотрщику книг Calibre. В «Настройке страницы» задается профиль ввода и вывода применительно к устройству, для которого производится экспорт файла. Calibre оптимизирует отображение страниц, исходя из габаритов экрана. Если модель устройства не определена, достаточно выбрать общий профиль Default Output Profile (размер экран — 1600×1200).
Для составления содержания книги имеется несколько вариантов — разделы «Содержание» и «Определение структуры». Кроме учета стандартного содержания книги, есть форсированный режим с возможностью вставки оглавления в начало документа. Для этих целей используется синтаксис Xpath (его можно изучить в кратком руководстве) и специальный мастер для построения регулярного выражения. Помимо того, для книг в формате AZW3 или EPUB пользователь может самостоятельно определить структуру документа, воспользовавшись редактором оглавления. Соответствующую кнопку несложно вынести на панель действий через настройки панели инструментов (по умолчанию она скрыта). Редактор позволяет вручную отредактировать структуру, составить оглавление из заголовков различных уровней, файлов.
В принципе, преобразование бывает полезно не только для чтения на устройстве. Например, иногда требуется добавить в документ оглавление, обложку или метаданные. В разделе «Определение структуры» можно активировать опцию вставки метаданных в содержание. Входной и выходной формат можно указать один и тот же.
Что касается других разделов настройки, то, во-первых, это дополнительные параметры для каждого формата импорта и экспорта. С ними также можно ознакомиться через основные настройки программы («Параметры — Настройки ввода/вывода»). Во-вторых, опции раздела «Эвристическая обработка» позволяют устранить проблемы форматирования документа по заданным правилам: удалить переносы, пустые строки, изменить разметку и мн. др. Раздел «Поиск и замена» — создание правил для исправления содержания файла. Раздел «Отладка» позволяет внести необходимые коррективы в XHTML-документ на промежуточной стадии, перед тем, как в силу вступит плагин output-преобразования.
Кроме индивидуального преобразования, есть и пакетное. После множественного выбора книг в списке, настройки осуществляются аналогичным образом. В данном случае, правда, опции импорта недоступны (хотя можно использовать сохраненные ранее настройки), формат экспорта — общий для всех файлов.
Поддержка плагинов
За счет открытого исходного python-кода, подробной документации по API (информация для разработчиков здесь, на английском языке), у Calibre отличный потенциал по расширению функциональности.
Со временем, дистрибутив программы обзавелся множеством сниппетов — участков кода. Наиболее важные плагины уже включены в дистрибутив. Вообще говоря, появление новых функций и дополнений анонсируется в официальном блоге.
Обзор Kindle 5 / Блог компании Обзоры для Хабра / Хабрахабр
8 фев 2013 ... Kindle 5 и NOOK Simple Touch with GlowLight: .... Читалка Kindle 5 с
программой Cool Reader на борту, благодаря очень удобному управлению (
кнопки для листания по бокам это ..... Отключаем устройство от ПК.
http://habrahabr.ru/company/habrareviews/blog/168575/
Управление плагинами осуществляется в разделе «Параметры — Плагины». Можно выделить 4 основных категории:
- Плагины пользовательского интерфейса
Самая широкая группа, которую нельзя четко распределить по общим признакам. Сюда входят функции поиска, создания книг, аннотаций, статистики, сервисные функции и мн. др. Особенность в том, что после установки, кнопку действия можно определить в определенное место панели или в контекстном меню.
- Плагины для получения метаданных с вебсайтов
Как уже было упомянуто в первой части обзора, метаданные для книг можно загружать из интернета. Эти плагины служат для получения метаданных и обложек с определенных сайтов, с привязкой к региону, в дополнение или на замену существующим сервисам в списке Calibre. Впрочем, русскоязычных в наличии нет.
- Плагины конвертации
Поддержка различных форматов документов. Все плагины уже содержатся в ядре программы, за единичными исключениями.
- Плагины для подключения к устройствам
Поддержка устройств и дополнительных способов синхронизации. Например, для iOS можно скачать расширение iOS reader applications, которое добавляет возможность работы с приложениями iBooks, GoodReader, Kindle (для iOS) и Marvin. Для Kindle предусмотрен плагин Kindle collections (см. описание плагина ниже).
Установить или обновить плагины в большинстве случаев можно через программный интерфейс либо через командную строку. Расширения, обсуждаемые на форуме, опубликованы единым списком на странице. Правда, последний раз он обновлялся в марте 2013 года. Эти же расширения доступны в разделе «Пользовательские плагины» («Плагины — Загрузить новые плагины»). Кнопка «Загрузить плагин из файла» предназначена для установки неофициальных модулей и бета-версий.
7 самых полезных плагинов
Favourites Menu
Это расширение предназначено для создания меню избранных команд, позволяет убить двух зайцев: разгрузить основную панель инструментов и сделать доступ к нужным командам более оперативным. В меню можно добавлять не только пункты меню, но и целые разделы.
Generate Cover
Создание одной или нескольких обложек для книги с использованием метаданных. Можно настраивать шрифты, фон, размеры, используемые поля — название книги, автор, серии и др. Настройки можно сохранять и использовать их как шаблоны.
Kindle collections
Расширение возможностей синхронизации Calibre с устройствами Kindle (Kindle DX, 2, 3, 4, за исключением Kindle Touch). Создание и редактирование коллекций на основе информации из колонок и категорий Calibre, импорт и экспорт коллекций, управление настройками Kindle.
Modify ePub
Этот плагин позволяет производить изменения в документе формата epub изолированно — без потери оригинальной структуры, оформления. Диалог настроек содержит множество быстрых и удобных опций для очистки кода, оптимизации содержимого epub-файла.
Save to Format
Save to Format — надстройка, призванная заменить стандартный метод экспорта файлов в Calibre. С ее помощью можно указать желаемые форматы для сохранения, место хранения файлов, тем самым унифицируя процесс сохранения. Также Save to Format позволяет очисть диск от нежелательных файлов после конвертации.
Find Duplicates
Поиск дубликатов для книг на основе метаданных (например, по авторам, заголовкам) и других признаков. Возможен поиск по комбинации признаков. С найденными файлами можно производить операции, редактировать данные на лету. Кроме того, возможен поиск похожих книг по тем же атрибутам и нечеткий (Fuzzy) поиск.
Reading List
Создание списков для чтения книг. Для каждой библиотеки или устройства может быть закреплено несколько таких списков. Эта функция также будет полезна для синхронизации, при которой отобранные книги будут добавлены на устройство. Список для чтения удобен в управлении: по сути это автономная библиотека, с возможностью категоризации.
Резюме
Calibre хорошо справляется со многими задачами, в первую очередь — с управлением библиотекой. Менеджмент здесь раскрывается во всех необходимых аспектах, таких как редактирование метаданных, поиск, работа с коллекциями, синхронизация, импорт и экспорт. По части интерфейса: маловероятно, что Calibre сменит интерфейс, привязанный к Qt-библиотеке, однако изменения по части эргономики были бы к месту.
Конвертация электронных книг, положенная в основу разработки программы, отмечается широкой поддержкой форматов и полной регулируемостью процесса конвертации. Можно получить отладочную информацию, внести коррективы на промежуточном процессе и т. д. Безусловно, есть устройства и форматы, которые программа не может распознать без ошибок или без обходных методов. Причины, в некоторой степени, кроются не столько в Calibre, сколько в специфике формата. Правильная конвертация в PDF без дополнительных настроек и ухищрений невозможна. Кроме того, в ряде случаев приходится использовать сторонние решения (например, K2pdfopt).
Благодаря исходному открытому коду, Calibre наращивает функциональность за счет всевозможных расширений, мало-помалу улучшается синхронизация устройств и приложений под Windows, Linux и Mac OS. Все это легко отслеживать в обновлениях программы.
[+] Кроссплатформенность
[+] Бесплатность и открытый исходный код
[+] Широкая поддержка устройств и форматов
[+] Поддержка расширений
[−] Интерфейс
[−] Сложность или невозможность конвертации (PDF, DJVU)