Текст книги "Создание электронных книг в формате FictionBook 2.1: практическое руководство (beta 4)"
Автор книги: Михаил Кондратович
сообщить о нарушении
Текущая страница: 4 (всего у книги 10 страниц)
§ 3.1 Требования к исходному тексту
Наиболее предпочтительными являются txt и RTF(DOC). Их, как будет сказано ниже, можно перенести в редактор книг, без каких-либо дополнительных программных средств.
HTML в этом отношении гораздо хуже. Они, как правило, содержат кучу лишней информации, которую приходится отсекать.
Если же книга представлена в PDF, вам придется потратить время, чтобы «выковырять» текст оттуда. Бывает, что это не так-то просто сделать, а бывает – вообще невозможно (например, если в PDF собраны сканы страниц без распознавания).
Ну и очень желательно, чтобы текст был максимально качественный.
Автор этой книги сам убил массу времени, при чистке книги В. Вагина «Заяц, стань тигром». И только потом обнаружилось, что в Internet имеются гораздо более качественные тексты книги…
Поэтому, если вы берете текст из Сети, не поленитесь, поищите разные варианты и сравните их.
Для преобразования текстов в FB2 существуют несколько программных пакетов. Рассмотрим их по порядку.
§ 3.2 Any to FB2
Any to FB2 – «штатное» средство для конвертирования текстовых документов в формат FB2
Для нормальной работы программе требуются MSXML 4.0 и Windows Script Host версии 5.6.
Если MSXML можно скачать с сайта Micro$oft без каких-либо проблем, то при попытке загрузить Windows Script Host производится проверка на «подлинность», т.е. лицензионную чистоту вашей копии Windows.
Поэтому проще обновить Internet Explorer до версии 6.0 SP1. Windows Script Host 5.6 входит в его состав.
Посл установки щелкаем по иконке Any to FB2 GUI.
Интерфейс программы представляет собой окошко с несколькими закладками.
Самая первая строчка – путь ко входному файлу. По умолчанию там стоит «http://». Очевидно, программа может брать файлы на обработку прямо из Internet. Пусть вас это не смущает. Нажав кнопочку с многоточием, вы попадете в стандартное окно выбора файла.
Чуть ниже расположено выпадающее меню «Setting». Здесь можно выбрать профиль настроек. Изначально их там всего три: «Last used» (последние использованные) «Default» (по умолчанию) и «Headers+»
Внизу находятся кнопки:
«Import» – запуск обработки файла. После того, как файл будет успешно преобразован, на месте кнопки «Import» появится кнопочка «Done». Щелкнув по ней, можно сохранить конечный файл.
«Save settings…» – вызывает окошко управления профилями настроек («Manage export presets»). Можно сохранить текущие настройки. Вводим имя профиля в верхней строчке, например, «My priority» и жмем кнопочку «Save». Здеь же можно удалить ненужные профили, выделив их в списке и щелкнув по кнопочке «Delete…»
«Cancel» – выход из программы.
И кнопочка «?» позволяет узнать номер версии программы. Никакого файла помощи или руководства, к сожалению, не предусмотрено…
Если установить галочку напротив расположенной в самом низу рабочего окна опции «Automatically close this window when finished», то сразу после обработки файла программа закроется.
Теперь рассмотрим закладки.
Первая закладка, «Document», содержит важнейшие настройки обработки файла.
«Text structure» призвана помочь программе разобраться с разбиением текста на абзацы. Предусмотрены три положния радиокнопки.
«Auto» – предоставляет программе решать этот вопрос самостоятельно.
«Indented» – в начале каждого абзаца есть отступ.
«EmptyLines» – после каждого абзаца идет пустая строка.
ВНИМАНИЕ, БАГ!
При преобразовании форматированных текстов, программа считает новым абзацем строку, начинающуюся со знака «тире», «-». вне зависимости, есть отступ перед ней или нет. К счастью, этот глюк можно легко обойти. Можно деформатировать текст по принципу, «одна строка – один абзац», до того, как скормить его конвертору, а можно сделать это и в самой программе, используя регулярные выражения пре-обработки.
Далее идут настройки, относящиеся непосредственно к преобразованию файлов. Сразу скажу, что «ишкуштвенный интилект» программы, весьма и весьма слаб, поэтому большинство настроек приходится отключать.
«Preserve » – оставлять содержимое, обрамленное тэгом form. Меню, голосования и т.д. Включать не стоит.
«Do not convert charset» – не менять кодовую таблицу файла.
«No epigraphs» – не распознавать эпиграфы. Даже эту нехитрую операцию программа делает не всегда корректно, поэтому ставим галочку.
«No » – не ставить пустых строк. Обычно эту опцию включать не требуется.
«No description» – под «description» здесь понимается аннотация. Не делать аннотацию. Однозначно ставим галочку.
«Allow 1000 error fixes» – разрешить программе попытаться восстановить битый документ. Пожалуй, галочку ставить не надо.
«Do not convert «quotes» to «quotes»» – не конвертировать компьютерные кавычки в типографские. Эта операция нужная, и обычно программа отрабатывает ее без нареканий. Не ставим галочку.
«Do not convert [text] and {text} into footnotes» – не конвертировать текст в квадратных и фигурных скобках в сноски. Ставить или не ставить галочку – дело вкуса. Я лично предпочитаю делать сноски вручную.
«Do not convert _italic_ текст» – не конвертировать текст, обрамленный знаками подчеркивания в курсив. Ставим галочку. Не стоит разрешать программе делать это самой. Очень часто получается так называемый «рваный» курсив (
«Do not restore broken paragraphs» – не восстанавливат разорванные абзацы. Ставим галочку.
«Do not detect poems» – не выделять стихи. Ставим галочку однозначно. Программа определяет стихи исключитенльно по коротким строчкам и делает это крайне коряво.
«Only use marked with
«Ignore line indent (spaces at the line start)» – не считать пробелы в начале сроки признаком абзаца.
«Convert leading '-' to long dash '—' (dialogs)» – конвертировать компьютерный «минус» в начале строки в длинное тире. Ставим галочку, особенно, если конвертируем DOS-текст.
Вторая закладка – «Links», предназначена для настройки обработки html-файлов.
Первый блок – «Images», относится к картинкам, если таковые во входном файле имеются.
Опция «Remove ALL images from the document» убирает вообще все картинки.
«Remove off-site images» – убирает только те картинки, которые располагаются не на сайте, с которого был загружен конкретный html.
«Preserve dynamic images» – не удалять картинки с URL динамического вида, например, счетчики.
Блок «Linked documents»
«Remove external links» – просто убирает линки, ведущие за пределы документа.
Включение опции «Follow links» делает активными все последующие опции.
Теоретически, если исходный текст представлен в виде пачки html-файлов и имеется некий файл-оглавление со ссылками, можно включить эту опцию, открыть файл-оглавление, а остальные программа подстыкует автоматически. На практике это зачастую получается довольно коряво.
«Follow off-site links» – следовать по линкам, ведущим за пределы сайта.
Рядом находится уровень следования (level deep).
«Only follow matching the expression» – следовать только линкам, совпадающим с нижеуказанным выражением.
«Never follow matching the expression» – НЕ следовать линкам, совпадающим с нижеуказанным выражением.
Третья закладка – «RegEXP» – обработка текста с помощью регулярных выражений.
Подробнее о том, что такое регулярные выражения и как ими пользоваться, можно прочесть в приложении Д в конце книги.
«Header detection regular expression» – регулярные выражения, с помощью которых программа может распознавать заголовки.
«Regular expression to run on-load» – регулярные выражения, предназначенные для обработки исходного текста.
Окошко разделено на два столбца. Первый (+new search pattern) предназначен для выражения поиска. Второй (+new replace pattern) – для выражений замены.
Регулярных выражений может быть несколько.
Вот как можно обойти вышеописанный баг с неправильным распознаванием новых абзацев.
в графе «+new search pattern» вводим:
rn(S)
(перевод строки, новая строка, не-пробел).
А в графу «+new replace pattern» вводим:
$1
Здесь не видно, но перед «$1» должен идти пробел. То есть символы перевода строки и новой строки будут заменены на пробел. А само «$1» есть обращение к выражению в скобках в регэкспе поиска. Оно нужно, чтобы сохранить в неприкосновенности не-пробел, который идет сразу после символа новой строки.
«Regular expression to run on result document» – регулярные выражения, предназначенные для обработки выходного документа.
Устроено аналогично предыдущему.
И, последняя, четвертая вкладка – «Log» – не имеет никаких опций. Там отображается ход операции преобразования.
Программа умеет конвертировать файлы TXT, HTM, RTF, DOC. Для обработки последних она использует Micro$oft Word, для предварительного преобразования их в HTML.
С разбиением на секции программа справляется плохо. Требуется последующая правка в редакторе.
Резюме:
Неплохое средство для конвертирования файлов TXT и HTML.
Пользоваться программой имеет смысл, особенно, если книга конвертируется для того, чтобы «прочитать и удалить».
Для пакетного конвертирования файлов написана надстройка (front-end) Batch2FB.
§ 3.3 ExportXML
Программа представляет собой макрос M$ Word, предназначенный для преобразования в FB2 файлов DOC прямо из M$ Word.
Макрос нормально запускается в M$ Word XP и 2003.
Установка макроса заключается в копировании файла ExportXML.dot в папку автоматически запускаемых макросов Word. Обычно это папка C:Program FilesMicrosoft OfficeOffice10Startup. (Здесь и далее для M$ Office 2003 вместо «Office10» будет «Office11»).
Затем нужно разрешить запуск макросов. Меню «СервисПараметры», закладка «Безопасность», кнопка «Защита от макросов». На закладке «Уровень безопасности» установите переключатель-радиокнопку в положение «Средняя. Решение о запуске потенциально опасных макросов принимается пользователем». Правда, теперь при каждом запуске Word будет выскакивать надоедливое сообщение, не нужно ли отключить макросы.
Поэтому лучше поступить по-другому. Оставить высокий уровень безопасности и запускать нужные макросы без всяких запросов.
Для этого макрос необходимо подписать.
Вначале нужно создать сертификат. Запускаем программку selfcert.exe из директории MS Office (C:Program FilesMicrosoft OfficeOffice10). В поле «Ваше имя» вводим какое-нибудь слово и жмем OK. Все, сертификат создан. Правда, он не подтвержден Micro$oft, но нам этого и не требуется.
Теперь запускаем Word (макрос ExportXML.dot должен находиться в папке Startup). Запускаем редактор Visual Basic (СервисМакросРедактор Visual Basic). В окошке Project выбираем группу ExportXML.
Затем вызывем команду ToolsDigital Signature. В окошке «Цифровая подпись» жмем кнопку «Выбрать», выбираем сертификат и жмем «OK».
Закрываем редактор, выходим из Word. На запрос, надо ли сохранить изменения в документе ExportXML, отвечаем утвердительно.
При следующем запуске Word сообщит, что файл ExportXML.dot содержит макросы, подписанные автором [имя вашего сертификата]. Ставим галочку напротив «Всегда доверять макросам из данного источника» и жмем ставшую активной кнопку «Не отключать макросы».
Все! При последующих запусках Word будет прилежно запускать ExportXML, не докучая вам запросами.
В меню «Файл» появилось подменю «FictionBook2» содержащее два пункта: «Export as Fictionboок2 xml…» и «Edit Fictionbook2 properties…»
Последний пункт, как нетрудно догадаться, позволяет редактировать описание (description) будущего FB2-файла.
Кнопочки «+» и «-» внизу позволяют соответственно добавлять копии полей или удалять оные. Чтобы отредактировать поле выделите его и нажмите клавишу F2.
Непосредственно экспорт производится предельно просто. Вводим путь и имя файла. Затем макрос предложит заполнить description. При этои можно выбрать кодировку файла (выпадающий список внизу «Export encoding»). По умолчанию текст экспортируется в utf-8.
Макрос нормально обрабатывает полужирный шрифт, курсив, и даже Word-овские сноски. Пытается разбить книгу на секции, что чаще всего получается некоректно.
Например, если название главы, состоит из двух строк, создаются лишние секции. Полученный файл в обязательном порядке требует правки в редакторе FB Editor.
Внимание, картинки, если они есть, не экспортируются!
Макрос позволяет «помочь» ему и выделить некоторые элементы непосредственно в Word.
Для этого в нем есть стили, которые так и называются: Annotation, Cite, Cite Author, Epigraph, Epigraph Author, Poem Title, Stanza.
Если они автоматически не появились в списке стилей после установки макроса, придется каждый раз добавлять их в документ вручную. Для этого файл ExportXML.dot должен быть скопирован в директорию C:Documents and SettingsИмя текущего пользователяApplication DataMicrosoftШаблоны.
Открыв нужный файл, выбираем команду меню ФорматТема. В появившемся окошке жмем кнопку «Библиотека стилей». В списке стилей выбираем ExportXML и жмем «OK».
Резюме: отвечающий своему назначению, но незаконченный продукт. Использовать рекомендуется лишь в отдельных случаях. Например, для преобразования документов, напичканных сносками.
§ 3.4 doc2fb
Приложение doc2fb предназначено для преобразования в FB2 файлов RTF и M$ Word DOC.
Чтобы утилита могла работать, на ПК должен быть установлен M$ Word 2003. Также должен наличествовать JavaScript версии не ниже 5 (входит в состав IE).
Собственно утилита представляет собой XSL-скрипт и оболочку – HTA-приложение. [3.1] 3.1
HTA-приложение – приложение, выполняющееся средствами браузера. Фактически, это скрипт.
[Закрыть]
Интерфейс оболочки прост и понятен. Сразу бросается в глаза, что программка рассчитана на пакетное преобразование. То есть выбрать можно не конкретный файл, а только папку.
Утилита умеет выделять главы и подглавы, жирный шрифт и курсив, сноски и ссылки, а также добавляет картинки.
При этом векторные картинки Word, например, WMF, в итоговый файл не попадают. Растровые картинки, отличные от формата JPEG, преобразуются в PNG.
Меню программки состоит из трех пунктов: «Файлы», «Настройки» и «Инфо»
Пункт «Файлы» позволяет вызвать главную рабочую страницу оболочки (активна сразу после запуска). В строке «Папка» щелкаем кнопку с изображением «>>» и выбираем папку, которая содержит нужные DOC-файлы.
После этого становится активной кнопка «преобразовывать».
Нажимаем ее. Файлы тихо и быстро конвертируются в FB2.
Ход операции отображается в области «Журнал», которая находится под кнопкой «преобразовывать».
Настройки оболочки весьма немногочисленны.
«Показывать MS Word при преобразовании», «Закрывать doc2fb после преобразования», «Удалять пустые строки» – назначение этих опций ясно без дополнительных комментариев.
«Заменять Line-break на Paragraph-break» – заменяет коды принудительные разрывы строки на коды конца абзаца.
Что есть такое принудительный разрыв строки? Обратимся к документации M$ Word.
При вставке принудительного разрыва строки текущая строка обрывается, и текст продолжается на следующей строке. Предположим, например, что стиль абзаца включает в себя отступ перед первой строкой. Чтобы избежать появления отступа перед короткими строками текста (допустим, в написании адреса или в стихотворении), каждый раз, когда нужно начать новую строку, вместо того чтобы нажимать клавишу ENTER, вставляйте принудительный разрыв строки.
Укажите место разрыва строки. Нажмите клавиши SHIFT+ENTER.
«Определять сноски как <регулярное выражение>» и «Определять пояснения как... <регулярное выражение>» – перед конвертацией в FB2 M$ Word преобразует описанное регулярными выражениями в сноски и пояснения.
«Сохранять изменения как версию документа» – в процессе конвертации в документ вносятся изменения. Если опция включена, то эти изменения будут сохранены в документе как версия редактирования.
Бич описанных выше программных средств – излишняя самостоятельность – проявил себя и тут. Стихи с отступами определяются как цитаты, для заголовков в две строчки делаются две секции и т.д.
Как и в ExportXML, чтобы помочь программе найти элементы, документ можно дополнительно разметить. На страничке автора программы можно найти dot-файл с соответствующими стилями. Добавляются они в рабочий файл точно так же, как и стили ExportXML.
Резюме. В целом программа отвечает своему назначению. Несмотря на некоторое своеволие, она позволяет быстро сконвертировать большое количество файлов.
§ 3.5 Перенос через буфер обмена
Простой, но незаслуженно игнорируемый способ. Он, как нетрудно понять, заключается в выделении фрагмента текста, или же текста целиком, копировании его в буфер обмена Windows, и последующей вставке в FB Editor.
Копирование через буфер обмена, как правило, сохраняет форматирование текста, в частности жирный и курсивный шрифт.
Таким образом можно переносить тексты из MS Word, Интернет-браузера. Не обременяя машину дополнительными программными пакетами и dll-ками.
Кроме того, при таком способе конвертирования наиболее удобно использовать заготовки-шаблоны, с частично заполненным description.
Разумеется, затем текст надо полностью структурировать вручную. Но, по моему скромному мнению, гораздо удобнее структурировать файл «с нуля», чем исправлять огрехи программы конвертирования.
Недостаток у переноса через буфер, кроме повышенных временных затрат на структурирование, в общем-то один – некорректная обработка форматирования исходного документа. Чаще всего пропадают пустые строки. Сдвоенные пустые строки превращаются в одинарные в девяти случаях из десяти. Еще при этом в выходной документ могут попасть нежелательные элементы, например, картинки, (редакторы FB2 не поддерживают вставку картинок из буфера, там работа с ними организована совершенно по-другому) которые потом приходится вычищать.
Резюме. Весьма достойный, хотя и не лишенный недостатков способ конвертации документов.
§ 3.6 Конвертор ExportToFB21 для Open Office
Пакет Open Office создавался как бесплатная альтернатива M$ Office. В последние годы разработчикам удалось довести его до ума, и Open Office (далее OO) начал потихоньку набирать популярность и отвоевывать пользователей у разработки Micro$oft.
Поэтому нет ничего странного, что и для него появился конвертор в FB2. Тем более, что формат документов OO, как и в последней версии M$ Office представляет собой пачку XML-документов.
Программка представляет из себя пакет макросов для OpenOffice Writer. Естественно, она платформeнно-независима, т.е. работает на всех ОС, которые поддерживет OO.
Программа прекрасно документирована, на сайте разработчика есть иллюстрированные руководства в формате OO Writer, а также PDF. Поэтому, во избежание плагиата, ограничимся общими советами и замечаниями.
Данное описание справедливо для версии 2.2.
На сайте разработчика ExportToFB21 существует в двух ипостасях: ExportToFB21_version2.2.zip и ExportToFB21_version2.2.oxt.zip. Отличаются они тем, что во втором случае пакет макросов упакован в специальный формат OO – .oxt, и его придется перед установкой доставать из архива.
Итак, архив с конвертором загружен. Запускаем OO Writer и вызываем команду «СервисУправление расширениями». Щелкаем кнопку «Добавить» и открываем zip-архив или пакет .oxt.
Теперь нужно создать кнопку для запуска макроса. Вызываем команду меню «СервисНастройка» и активируем закладку «Панели инструментов». В выпадающем меню «Панель инструментов» выбираем панель, на которую будет помещена кнопка. Руководство рекомендует создать новую, но, на мой взгляд, это излишество.
Жмем кнопку «Добавить». В открывшемся окне в дереве «Категория» в самом низу находим группу «Макрос OpenOffice.org» и разворачивем ветку «Мои макросы» (или «Макросы OpenOffice.org», если при установке в окне «Управление расширениями» был активен пункт «Расширения OpenOffice.org»). Находим ветку ExportToFictionBook и раскрываем ее.
Теперь щелкаем по группе «ExportToFB21» и в окне справа выбираем команду «ExportToFB21». Жмем кнопку «Добавить». Все!
Как и макросы для M$ Office ExportToFB21 позволяет предварительно разметить документ при помощи стилей. Для этого на сайте имееется специальный файл стилей – fb21_styles.ott_2.0.zip. Как установить его в OO Writer подробно описано в руководстве.
После вызова макрос может предложить вначале сохранить документ.
Затем появится окно заполнения заголовка. Пусть вас не смущает обилие полей – обязательны к заполнению лишь некоторые из них. Также, обратите внимание, что хотя графы и можно дублировать (кнопки «Добавить» и «+»), вернуться к ним уже не получиться.
Выходной файл по умолчанию формируется в той же папке, что и исходный.
Чрезвычайно порадовало то, что, в отличие от продуктов, описанных выше, ExportToFB21 абсолютно не проявляет своеволия и не пытается самостоятельно структурировать документ (если он, конечно, предварительно не размечен стилями, конечно). Структурирование все-таки лучше делать в редакторе.
Поэтому, если даже, потом, в процессе совершенствования у программки и появятся такие интеллектуальные наклонности, хорошо бы предусмотреть опцию их отключения.
То, что получается на выходе достойно всяческих похвал. Файл прекрасно подходит как для чтения в FB2-читалке, так и для доводки в FB Editor. Это и неудивительно. Корректный экспорт самой разной структуры документа заявлен, как «самая главная фишка конвертора».
Как следует из названия, программа поддерживает новшества формата FictionBook 2.1. Это , , и таблицы. Картинки, правда, конвертор пока экспортировать не умеет, но аккуратно вставляет в соответствующие места тэги.
Более подробно все возможности, «фичи» и особенности конвертора описаны в руководстве (п. 1.3.2–1.3.3)
Вообще, ExportToFB21 производит впечатление добротного и хорошо проработанного продукта. Остается только надеяться, что, по мере совершенствования, он не растеряет эти качества.
Peзюме. Хорошая вещь. 100% must have для тех, у кого на машине установлен OO Writer.