Описание работы пакета 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. Экспорт текстовых полей