Все права на текст принадлежат автору: Вадим Кузнецов.
Это короткий фрагмент для ознакомления с книгой.
Описание работы пакета OOoFBTools Создание книг FB2Вадим Кузнецов

Вадим Кузнецов
Описание работы пакета OOoFBTools Создание книг FB2

Описание работы пакета OOoFBTools
I Конвертер ExportToFB21
1. Описание

1.1. Назначение

Кроссплатформенный конвертер ExportToFB21 предназначен для конвертации документов из форматов, поддерживаемых OpenOffice.org Writer в формат fb2.1.

Т.о. входные форматы документов для ExportToFB21 следующие:.doc, dot, rtf, txt, html, htm, oth, odt, ott, stw, sdw, xml, vor, psw, wps, wpd, fodt, sxw, Microsoft Word 2003XML.xml, и другие, с которыми работает OpenOffice.org Writer.

Конвертер работает на тех платформах, где работает OpenOffice.org Writer, т. е. MS Windows 98/2000/XP/Vista, MacOS X, GNU/Linux, FreeBSD и т. д.

Конвертер не использует DOM технологию – задействован свой парсинг документов и печать в текстовый файл информации, собранной после анализа.

Если документ отформатирован стилями (см. п.3.) правильно (см. п.5.), то после его конвертации практически не требуется дальнейшая правка (за редким исключением, о чем см. п.7.) в редакторах fb2 формата! После проведения десятков тестов с документами различной структуры, полученные fb2 книги у меня всегда проходили валидацию.


1.2. Что реализовано

Конвертер писался для конвертации документов именно в формат fb2.1. Поэтому в нем реализованы почти все основные возможности этого формата.

1.2.1. Экспорт Description:

1. ‹title-info› – весь

2. ‹document-info› – весь

3. ‹publish-info› – весь

4. ‹custom-info› – весь

5. Аннотация к документу

6. История документа

1.2.2. Экспорт основных элементов структуры документа

1. Экспорт структуры текста (слов и абзацев).

2. Экспорт сносок и гиперссылок (на web странички).

3. Экспорт стилей абзацев, аннотаций, эпиграфов, цитат, поэм, заголовков, подзаголовков (т. е. теги ‹strong›, ‹emphasis›, ‹strikethrough›, ‹sub›, ‹sup›, ‹code›).

4. Экспорт стилей авторов цитат, авторов поем, авторов эпиграфов. Для поэм реализованы заголовки – ‹title›

5. Экспорта стилей текста сносок (т. е. все курсивы, полужирные начертания, верхние и нижние индексы и т. д. отображаются и в тексте сносок).

6. Для Поэм (Стихов) реализован заголовок ‹title›

7. Реализована возможность использования Аннотации на любом уровне (части книги, глав…).

8. Экспорт картинок и картинок-буквиц.

9. Число уровней вложений ‹section› – 10. При желании его можно увеличить хоть до бесконечности, внеся некоторые изменения в код конвертера (подсказка: ищите строки проверки на “Level 1”, “Level 2” и т. д. и дополняйте эти строки до нужного вам числа уровней. Всего процедур таких 3-4). Тогда нужно будет создать и соответствующие стили для новых уровней.

10. Экспорт простых и сложных Таблиц с экспортом заголовков, выравниванием текста заголовков и ячеек, а так же форматирования стилями (полужирный, курсив, верхний/нижний индексы и т. д.), гиперссылок и переходов из строк таблицы в другие места файла. Работает экспорт сносок для строк ячеек таблиц. Экспорт нумерованных списков-абзацев, маркированных списков, а также списков с маркерами-картинки в ячейке. Сделан экспорт Картинок из ячеек Таблиц.

11. Самая главная фишка конвертера при работе с ‹section› – корректный экспорт самой разной структуры документа, без лишних, или наоборот, недостающих ‹section› или ‹/section›! Подробности см. ниже. Так что не нужно будет мучиться, отлавливая, где чего не хватает, чтобы документ fb2 прошел валидацию. Конечно, все это – при условии правильного задания стилями уровней заголовкам!

1.2.3. Дополнительные возможности

1. Реализовано 10 уровней вложения заголовков (‹section›‹title›Заголовок‹title›‹/section›). Но, алгоритм построен таким образом, что путем внесения в 3 процедуры нескольких строк кода, число вложений – уровней можно довести хоть до бесконечности! Мне больше 10 никогда не требовалось.

2. Реализована обработка «проблемных» символов ( amp;, ‹, ›), и замена их в fb2 файле на amp;amp; amp;lt; и amp;gt; соответственно. Иначе книга не проходит валидацию! Эта опция хороша для экспорта технической литературы. Для другого вида книг, если вы уверены, что этих символов там нет, опцию лучше отключить – скорость экспорта увеличится в несколько раз!

3. Возможность вставки перед сноской пробела (опция в Настройках).

4. Возможность выбора стиля сносок: x, [x], [x], {x}, { x }, (x), (x) (опция в Настройках).

5. Возможность собирать авторов поемы, цитат или эпиграфа в одну строку, или оставить авторов одного под другим (опции в Настройках).

6. Возможность собирать Subtitle в одну строку, или оставить подзаголовки один под другим (опция в Настройках).

7. Возможность удаления пустых строк (опция в Настройках).

8. Экспорт Текстовых Врезок как просто текст, как цитат, как таблиц или как структуру (опция в Настройках). Экспорт всех стилей (и символьных и абзацевых) и нумерованных списков во Врезках. Экспорт Таблиц и Картинок из Текстовых Врезок. Распознается привязка Картинок только как «К Абзацу», «К символу» и «Как символ». Другие – игнорируются и Картинка не будет экспортирован! Вложенные Врезки во Врезки игнорируются!

9. Экспорт Нумерованных и Маркированных Списков (в том числе и с Маркеров- Картинок) из Текста документа и Текстовых Врезок.

10. Экспорт текстовых полей, вставленных из меню “Вставка” – › ”Поля”.

11. Экспорт ссылок внутри документа (переход из любого места документа в любое место документа, переход из любого места документа на текст любой сноски, переход из текста одной сноски на текст другой сноски, переход с текста сноски на любое место документа) (опция в Настройках).

12. Сохранение профиля пользователя и его автоматическая загрузка для полей Автора fb2-документа, OCR и истории fb2-документа.

13. Сохранение и загрузка профиля для Автора Книги и его жанра.

14. Сохранение и загрузка профиля для Издательства.

15. Автоматическое заполнение полей формы конвертера «Аннотация на Книгу», всех полей группы «Бумажная книга (Publish-Info)» из текста документа с помощью т. н. «Служебных стилей»

16. Есть Корректор Текста – замена кавычек «елочкой», удаление лишних пробелов и многое другое…

17. Виртуальные клавиатуры.

18. Валидатор fb2-файлов (пока только для системы Windows).

19. Локализация всего пакета на Русский и Английский языки.

20. Экспорт Нумерованных и Маркированных Списков (в том числе и с Маркеров- Картинок) из Текста Сносок (Примечаний).


1.3. Что пока не реализовано

1 Для таблиц не реализован экспорт перехода из документа на определенный абзац таблиц, а так же экспорт стихов, цитат, аннотаций, эпиграфов, подзаголовков и заголовков (Уровней) из таблиц. Не знаю – надо ли это?

2 Для Текстовых Врезок не сделан экспорт перехода из документа на определенный абзац Врезки.

3. Экспорт обложек из Врезок (расположены выше Названия Книги – стиль Book Title).


1.4. Лицензионное соглашение

Конвертер создается и распространяется под лицензией GPL. Т. е. его можно свободно использовать, распространять, на базе его кода создавать свои проекты, тоже под лицензией GPL.

2. Установка конвертера (пакет OOoFBTools)

2.1. Установка расширения. oxt с конвертером

2.1.1. Первый способ (для всех операционных систем)

Вызываем диалог «Управление расширениями» через меню Сервис – › Управление расширениями:

В открывшемся диалоге выделяем "Мои расширения", и нажимаем кнопку "Добавить…"

Выбираем расширение OOoFBTools.oxt. В результате получаем:

2.1.2. Второй способ (только для Microsoft Windows)

Второй способ применим только к установке любого расширения .oxt – просто из проводника или файлового менеджера запустите это расширения (по Enter или двойному клику мышки).

2.1.3. Дополнительная информация, панели инструментов, пункты меню…

При загрузке расширения показывается его версия и другая информация:

СОВЕТ: После установки пакета OOoFBTools ПЕРЕЗАГРУЗИТЕ программу, чтобы отобразились панели инструментов пакета и его пункты меню:

2.2. Установка шаблона стилей fb21_styles.ott

Для экспорта в формат fb2.1 необходимо "разметить" документ специальными стилями. Для того, чтобы их установить, надо запустить диалог "Управление шаблонами" через меню Файл – › Шаблоны – › Управление:

В открывшемся диалоге выделяем в списке шаблонов "Мои шаблоны", нажимаем кнопку "Команды" и выбираем "Импорт шаблона"

Выбираем и устанавливаем шаблон fb21_styles.ott. Результат:

Кликнув мышкой два раза по fb21_styles, а потом – два раза по «Стили» мы можем убедиться, что стили действительно установлены:

Нажимаем кнопку "Закрыть" – все, мы готовы к работе.


2.3. Установка дополнительных платформозависящих пакетов и приложений

2.3.1. Для Linux и других Unix-подобных систем

Для кодирования картинок используется утилита base64. Пакет с ней обычно сразу устанавливается при установке дистрибутива Linux. С Ubuntu – это так. Если же на вашем дистрибутиве Linux почему-то не установлен этот пакет, то его необходимо доустановить. Чтобы проверить, установлен ли пакет base64 или нет, выполните в терминале команду: base64 – ? Если пакет установлен, то вы увидите краткую справку, если нет – то терминал выдаст соответствующее сообщение.

2.3.2. Для системы Mac Os X

Для кодирования картинок используется возможности OpenSSL (установлено по- умолчанию!).

2.3.3. Для системы Windows

Для работы Валидатора fb2-файлов в системе должен быть установлен msxml4 или выше. Его можно скачать с официального сайта корпорации Microsoft.

3. Работа со стилями структуры документа

3.1. Виды стилей

Стили, с которыми работает конвертер, делятся на 2 группы:

1. Inline (применяются в пределах одного абзаца – bold, italic…) и

2. Стили абзаца – их действие распространяется на весь абзац.

В свою очередь стили абзаца и Inline стили делятся на 2 группы: основные и «служебные».

Без всех этих стилей невозможно экспортировать различные структурные элементы книги (стихи, цитаты)!

3.1.1. Inline стили конвертера

Стили слов и (или) фраз используются для выделения в тексту полужирного, курсивного, моноширинного начертания, слов и фраз в верхнем и нижнем индексе, зачеркивания.

Перечень Inline стилей: Bold, Italic, Strikethrough, Тень или Контур, Верхний индекс, Нижний индекс.

Для использования этих стилей достаточно выделить слово (фразу) и нажать соответствующую кнопку панели инструментов или выбрать соответствующий пункт меню или контекстного меню. Здесь все просто.

3.1.2. Основные стили конвертера

Основные стили применяются для «выделения» в тексте документа (книги) таких структурных единиц, как аннотация, цитата, поэма, заголовок, и т. д.

Перечень основных стилей: Annotation, Annotation SubTitle, Book Title, Cite, Cite Author, Cite SubTitle, Epigraph, Epigraph Author, Poem, Poem Author, Poem Title, Poem SubTitle, Poem Date, SubTitle, Level 1 … Level 10.

Как использовать основные стили см. п.3.6.2.

3.1.3. «Служебные стили» конвертера

«Служебные стили» применяются для «выделения» в тексте документа (книги) Аннотации Книги, всех данных на Авторов Книги, Переводчиков Книги, Дату написания Книги, Ключевых слов, Бумажную книгу (Название, Издатель, Город, Год издания, ISBN, Серия и Номер серии), Жанр и его match (если нужно). Т. е. почти всех тех данных, которые можно заносить вручную в соответствующие поля основной формы конвертера.

«Служебные стили» начинаются с символа «#» или «_», чтобы их легче было отличать от основных и сгруппировать (намного легче и быстрее найти нужный стиль в списке). Конечно, вы можете переименовать их, как вам угодно (см. «Переопределение стилей по умолчанию на свои стили»).

Стили, начинающиеся с «_» относятся только ко всему абзацу, и не требуют символьных стилей.

Стили, начинающиеся с «#» относятся ко всему абзацу, но для выделения его отдельных частей требуются символьные стили, тоже начинающиеся с «#». Тем самым, символ «#» в начале названия стиля «подсказывает» – “ищи связанные с ним символьные стили, тоже начинающиеся с «#» “.

Как использовать основные стили см. п.3.6.3.

3.1.3.1. Таблица совместно используемых «служебных стилей»:

При создании fb2-файла книги часто используются документы, где нет информации о бумажной книге и издательстве. В этом случае все эти данные заносят в соответствующие поля формы конвертера вручную, считывая с обложки книги.

Другое дело, если вы отсканировали книгу, распознали текст. В этом случае информация о бумажной книге и реквизиты издательства уже есть в тексте. Конечно, можно просто вырезать эти данные в какой-нибудь текстовый редактор, и потом вставить их в соответствующие поля формы конвертера. А можно поступить проще и удобнее – воспользоваться «служебными стилями». При этом, текст, выделенный «служебными стилями» не будет экспортирован в fb2-файл, а автоматически загрузится в соответствующие поля основной формы конвертера. Поэтому будьте внимательны, чтобы случайно не отформатировать «служебными стилями» какой-нибудь абзац!

Как использовать основные стили см. п.3.6.3.


3.2. Загрузка стилей

При экспорте конвертер ищет в документе определенные стили и «обрамляет» абзацы, помеченные этими стилями в соответствующие им теги формата fb2.1 (см. п.3.5.). Стили придают абзацам определенный вид – цвет, шрифт и т. д. Сами стили можно менять, как вам угодно, изменяя цвет, шрифт. Главное – название стилей должно остаться, как есть! Если же вы изменили у стилей и их название, то обязательно переопределите эти стили, как сказано в разделе «Переопределение стилей по умолчанию на свои стили»!

Для работы со стилями надо открыть окно «Стили и форматирование», если оно еще не открыто.

3.2.1. Открытие окна стилей

В комбобоксе «Стиль» главного окна редактора выбираем самый нижний элемент «Дополнительно».

Или – в меню Формат выберите «Стили». А можно просто нажать F11.

В результате:

В этом окне «Стили и форматирование» выбираем внизу «Стили пользователя». Это как раз те стихи, которые нам необходимы для разметки структуры документа.


3.3. Редактирование стилей

Чтобы изменить шрифт, цвет и другие атрибуты выбранного стиля, нажмите на нем правую клавишу мышки, и выберите в контекстном меню «Изменить…»

В результате появится диалог «Стиль абзаца», где можно отредактировать стиль. Категорию лучше оставить как есть – «Стили пользователя» – удобно работать со стилями, когда они в одной категории (см. п. 3.5.).

3.4. Сохранение откорректированного шаблона стилей fb21_styles.ott

Для сохранения своего откорректированного шаблона стилей надо запустить диалог "Управление шаблонами" через меню Файл -› Шаблоны -› Управление (картинку см. п.2.3).

В открывшемся диалоге кликаем два раза мышкой по "Мои шаблоны", выделяем шаблон стилей fb21_styles, нажимаем кнопку "Команды" и выбираем "Экспорт шаблона":

3.5. Соответствие стилей с тегами формата fb2.1

3.5.1. Inline стили (символьные) «по умолчанию»

3.5.2. Стили «по умолчанию», применимые для всего абзаца

3.5.3. “Служебные стили” «по умолчанию»

Служебные стили по-умолчанию показаны в таблице совместно используемых «служебных стилей». Вы можете изменить их название, как вам будет удобнее, только в этом случае необходимо будет их переопределить и с помощью диалога задания пользовательских стилей (см. ниже).


3.6. Использование стилей в документе

Книга готовится к экспорту в формат fb2.1 двумя способами: просто открывается готовый документ формата, поддерживаемого OOo Writer или печатается «с чистого листа» – создается новый документ. В любом случае – надо загрузить уже установленные стили, с которыми вы будете работать. Делается это так:

3.6.1. Загрузка стилей в документ

3.6.1.1. Первый способ

1. Открываем диалог «Стили и форматирование», если он еще не открыт. В комбобоксе «Стиль» выбираем самый нижний элемент «Дополнительно». Или – в меню Формат выберите «Стили», или просто нажмите F11 (картинки см. п. 3.1.).

2. В открывшемся диалоге выбираем «Стили пользователя»

Нажать на самую правую кнопку

и выбрать "Загрузить стили…" ...



Все права на текст принадлежат автору: Вадим Кузнецов.
Это короткий фрагмент для ознакомления с книгой.
Описание работы пакета OOoFBTools Создание книг FB2Вадим Кузнецов