среда, 27 июля 2011 г.

Создание fb2 книги при помощи OpenOffice Writer и OOo FBTools

Расширение OooFBTools предназначено для конвертации документов из форматов, поддерживаемых OpenOffice.org Writer в формат FictionBook2.

Скачать OooFBTools можно здесь.

Установка пакета OOoFBTools.
Вызываем диалог «Управление расширениями» через меню Сервис / Управление расширениями:


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


Выбираем расширение OOoFBTools.oxt.

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


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


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


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


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

Собственно, процесс:
Открываем в OpenOffice Writer нашу книгу.
Для автоматического форматирования текста запускаем Корректор Текста.
Выберем его в меню OOoFBTools. В появившемся окне отметим необходимые пункты и нажмем "Принять".




Далее, делаем оглавление:
Для этого, при помощи стилей "Level" 1, 2, 3 и т.д, необходимо разметить в тексте главы, разделы и подразделы.

В главном окне writerа выбираем Формат / Стили  или просто жмем F11.
В появившемся окне "Стили и форматирование" жмем на кнопке в правом верхнем углу и выбираем "Загрузить стили"


Выбираем "fb21_styles" и жмем "OK"


Далее в окне "Стили и форматирование" в нижней строке выбираем пункт "Все стили"


Теперь всё готово для разметки.
Итак, есть книга, со следующей структурой:

Часть I
   Глава 1
   Глава 2

Часть II
   Глава 1
   Глава 2
   Глава 3

Часть III
   Глава 1
   Глава 2
   Глава 3
   Глава 4

Выделяем Часть I и делаем двойной клик в окне "Стили и форматирование" на пункте "Level 1"


Затем, выделяем подпункт Глава 1 и делаем двойной клик на пункте "Level 2"


Далее по алгоритму:
Глава 2 = "Level 2"
Часть II = "Level 1"
   Глава 1 = "Level 2"
   Глава 2 = "Level 2"
   Глава 3 = "Level 2"
Часть III = "Level 1"
   Глава 1 = "Level 2"
   Глава 2 = "Level 2"
   Глава 3 = "Level 2"
   Глава 4 = "Level 2"

Если, например, в очередной Главе будет подпункт - Параграф 1, то присваиваем ему следующий уровень - "Level 3" и т.д.

После разметки глав книга готова к комфортному чтению и можно приступать к конвертации. В меню OOoFBTools выбираем "Экспорт в fb2 формат" и в появившемся окне заполняем всю необходимую информацию (жанр, автор, название и пр.). Жмем "Создать fb2-файл".

Если в итоге, в содержании присутствуют подобные вещи:


то просто удаляем не нужную пару <section> </section>, открыв fb2 файл в любом текстовом редакторе


Собственно всё.
Открываем книгу в ридере и любуемся тем, что у нас получилось.


В особо тяжелых случаях Корректор Текста не совсем справляется с форматированием.
Приведу пример:

Имелось около десятка текстовых файлов с разным форматированием, с ужасным переносом строк  и не понятной кодировкой. Необходимо было собрать последовательную книгу с внятным оглавлением и возможностью переходов по содержанию.

Перед тем, как скормить текст Корректору, его пришлось пропустить через этот скрипт:
#!/bin/bash
#
# Меняем кодировку всех файлов в директории на UTF-8
find . -name "*.txt" -exec recode CP866/..UTF-8 {} \;
#
# Объединяем все текстовые файлы в папке в один файл
cat *.txt > textresult.txt
# Последовательность текстов будет такая, в каком порядке они отсортированы в папке.
# Если требуется определенная последовательность – надо переименовать файлы так, чтобы они шли 
# в нужном порядке.
# Если текстовые файлы, которые нужно объединить находятся в разных папках, то  переместить их
# в одну общую.
# Соединяются только текстовые файлы в корне папки. Файлы во вложенных папках не соединяются.
#
# Убираем строки с 10-ю пробелами (в моём случае)
sed s/"          "/""/g textresult.txt > 000.txt
# Убираем переносы строк
sed s/"^ "/"abc"/g 000.txt > 001.txt
cat 001.txt | tr "\n" " " > 002.txt
cat 002.txt | tr "abc" "\n " > 003.txt
# Убираем перенос с пробелом (пример: вело- сипед --> велосипед)
sed s/"- "/""/g 003.txt > 004.txt
# Делаем красивые дефисы в прямой речи
sed s/" -"/" -- "/g 004.txt > end.txt
rm 000.txt
rm 001.txt
rm 002.txt
rm 003.txt
rm 004.txt
#end
В итоге получаем файл end.txt, который затем открываем в OpenOffice Writer, запускаем Корректор Текста и т.д.

P.S.
Кодировку можно быстро определить здесь
При необходимости в файле textresult.txt изменяем конец строки на Unix/Linux
Подробнейший мануал по OOo FBTools находится в скачанном архиве OOoFBTools-1.23.zip

Комментариев нет:

Отправить комментарий