Вадим Кузнецов
Описание работы пакета OOoFBTools Создание книг FB2
Описание работы пакета OOoFBTools
I Конвертер ExportToFB21
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 книги у меня всегда проходили валидацию.
Конвертер писался для конвертации документов именно в формат 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 Для таблиц не реализован экспорт перехода из документа на определенный абзац таблиц, а так же экспорт стихов, цитат, аннотаций, эпиграфов, подзаголовков и заголовков (Уровней) из таблиц. Не знаю – надо ли это?
2 Для Текстовых Врезок не сделан экспорт перехода из документа на определенный абзац Врезки.
3. Экспорт обложек из Врезок (расположены выше Названия Книги – стиль Book Title).
Конвертер создается и распространяется под лицензией GPL. Т. е. его можно свободно использовать, распространять, на базе его кода создавать свои проекты, тоже под лицензией GPL.
2. Установка конвертера (пакет OOoFBTools)