Чтобы сделать FB2 книгу, недостаточно переименовать текстовый файл — формат FictionBook представляет собой XML-документ со строгой структурой, и файл без обязательных тегов <description> и <body> большинство читалок просто не откроет. Создать корректный файл можно тремя путями: конвертацией из DOCX или TXT специальной программой, ручной разметкой XML или работой в визуальном редакторе FB2.
Ниже разберём устройство формата, сравним рабочие инструменты и покажем, как проверить готовую книгу на ошибки, чтобы она одинаково хорошо открывалась в FBReader, Cool Reader и на электронных книгах.
Что представляет собой формат FB2
FB2 (FictionBook) — открытый формат электронных книг на базе XML, получивший наибольшее распространение в русскоязычном сегменте. В отличие от PDF, он не хранит «картинку страницы», а описывает логическую структуру: заголовки, главы, эпиграфы, сноски, обложку. Читалка сама подстраивает текст под экран, шрифт и размер букв.
Файл FB2 — это единый XML-документ в кодировке UTF-8 (или UTF-16), состоящий из двух обязательных блоков:
- 📋 <description> — метаданные: название, автор, жанр, аннотация, дата, язык;
- 📖 <body> — тело книги с разделами
<section>, абзацами<p>и заголовками<title>; - 🖼️ <binary> — изображения (обложка, иллюстрации), закодированные в Base64 прямо внутри файла;
- 🔗 Сноски и примечания — обычно выносятся в отдельное тело
<body name="notes">.
Именно строгость этой структуры — одновременно сила и слабость формата. С одной стороны, книга получается «чистой» и предсказуемо отображается везде. С другой — одна незакрытая скобка или недопустимый символ & без экранирования делают файл нечитаемым.
Способ 1. Конвертация из Word или TXT
Самый быстрый путь — написать текст в привычном редакторе и преобразовать его в FB2. Для этого существуют конвертеры: например, Calibre (универсальный комбайн для электронных книг), а также специализированные утилиты и онлайн-сервисы. Общий принцип работы одинаков: вы загружаете исходный DOCX, ODT или TXT, выбираете формат назначения FB2 и получаете готовый файл.
Чтобы конвертер правильно распознал структуру, исходный документ нужно подготовить. Главы должны быть оформлены стилями заголовков («Заголовок 1», «Заголовок 2»), а не просто жирным шрифтом — только тогда программа превратит их в разделы <section>. Ручные переносы строк, множественные пробелы и пустые абзацы лучше убрать заранее.
☑️ Подготовка документа перед конвертацией
В Calibre конвертация выполняется через кнопку Преобразовать книги: в правом верхнем углу окна выбирается выходной формат FB2. На вкладке «Метаданные» проверьте автора и название — они попадут в блок <description> и будут отображаться в библиотеке читалки.
⚠️ Внимание: автоматическая конвертация нередко «теряет» эпиграфы, врезки и нестандартное форматирование. После преобразования обязательно откройте результат в читалке и пролистайте книгу целиком, особенно места со сложной вёрсткой.
Способ 2. Визуальные редакторы FB2
Если нужен контроль над каждым элементом, удобнее работать в редакторе, созданном специально для FictionBook. Такие программы показывают книгу в виде дерева разделов и не дают нарушить структуру XML — добавить недопустимый тег в неположенном месте просто не получится.
Известные инструменты этого класса — FictionBook Editor и FBE-подобные редакторы, а также модуль «Редактор FB2» в составе некоторых конвертеров. Типичный порядок работы выглядит так:
- ✍️ Создайте новый документ и заполните метаданные: автор, название, жанр, аннотация;
- 🗂️ Добавляйте разделы (главы) через структуру дерева, внутри — абзацы текста;
- 🖼️ Вставьте обложку через функцию добавления изображения — редактор сам закодирует её в Base64;
- 💾 Сохраните файл и проверьте его встроенным валидатором, если он предусмотрен программой.
Такой подход требует больше времени, чем автоматическая конвертация, зато результат получается чистым: без мусорных тегов, лишних стилей и битых ссылок, которые нередко оставляют универсальные конвертеры.
Способ 3. Ручная разметка XML
Для тех, кто хочет понимать формат «изнутри», полезно один раз собрать минимальный FB2-файл вручную в обычном текстовом редакторе — например, в Notepad++. Каркас документа выглядит так:
<?xml version="1.0" encoding="utf-8"?>
<FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0">
<description>
<title-info>
<author><first-name>Иван</first-name><last-name>Петров</last-name></author>
<book-title>Название книги</book-title>
<lang>ru</lang>
</title-info>
</description>
<body>
<section>
<title><p>Глава 1</p></title>
<p>Текст первого абзаца.</p>
</section>
</body>
</FictionBook>
Здесь критичны три момента. Во-первых, файл сохраняется именно в кодировке UTF-8 — иначе кириллица может отображаться «кракозябрами». Во-вторых, специальные символы в тексте экранируются: & записывается как &, знак < — как <. В-третьих, каждый открытый тег должен быть закрыт — XML не прощает пропусков.
⚠️ Внимание: не редактируйте FB2-файлы в Microsoft Word — он добавляет скрытое форматирование и ломает XML-структуру. Используйте только «чистые» текстовые редакторы:Notepad++,VS Codeили стандартный Блокнот.
Зачем нужен блок binary и как вставить обложку
Изображения в FB2 хранятся не отдельными файлами, а внутри XML в виде кода Base64 в теге binary. Картинка привязывается к месту в тексте через тег image со ссылкой на id этого блока. Вручную кодировать изображение неудобно — проще вставить обложку через редактор FB2 или конвертер, которые сделают это автоматически.
Сравнение инструментов для создания FB2
Выбор инструмента зависит от задачи: разовая конвертация, регулярная работа с книгами или тонкая доработка структуры. Ниже — сравнение основных подходов по ключевым критериям.
| Инструмент | Сложность | Контроль структуры | Подходит для |
|---|---|---|---|
| Calibre | Низкая | Средний | Быстрой конвертации из DOCX/EPUB |
| Редакторы FB2 (FictionBook Editor) | Средняя | Высокий | Создания книги «с нуля» и правки |
| Онлайн-конвертеры | Низкая | Низкий | Разовых задач с простым текстом |
| Ручная разметка XML | Высокая | Полный | Изучения формата и точечных правок |
Отдельно стоит сказать об онлайн-сервисах: они удобны, но вы загружаете свой текст на сторонний сервер. Для неопубликованных рукописей и конфиденциальных материалов безопаснее использовать офлайн-программы.
Проверка и валидация готовой книги
Прежде чем считать книгу готовой, её нужно проверить. Минимальный тест — открыть файл в двух-трёх разных читалках: например, в FBReader на смартфоне и Cool Reader на компьютере. Если книга открывается, оглавление кликабельно, а обложка отображается — базовая структура в порядке.
Для более строгой проверки существуют валидаторы, которые сверяют файл со схемой FictionBook и указывают конкретные строки с ошибками. Типичные проблемы, которые они находят:
- ❌ Незакрытые или вложенные не по правилам теги
<section>и<p>; - ❌ Неэкранированные символы
&,<,>в тексте; - ❌ Отсутствующие обязательные поля в
<title-info>; - ❌ Битые ссылки на сноски или изображения с несуществующим id.
Если валидатор сообщает об ошибке в конкретной строке, откройте файл в редакторе с подсветкой синтаксиса и перейдите к ней — чаще всего это пропущенный закрывающий тег. После исправления прогоните проверку повторно, пока файл не станет полностью валидным.
Частые ошибки при создании FB2
Большинство проблем у начинающих авторов повторяются. Самая распространённая — сохранение файла не в той кодировке, из-за чего русский текст превращается в набор символов. Всегда проверяйте, что редактор сохраняет документ в UTF-8, а строка encoding="utf-8" в шапке файла соответствует действительности.
Вторая типичная ошибка — копирование текста напрямую из веб-страниц или PDF. Вместе с текстом переносятся невидимые символы, мягкие переносы и «мусорная» разметка, которые ломают XML. Перед вставкой такой текст лучше прогнать через Блокнот, чтобы снять всё форматирование, и только потом размечать заново.
Третья проблема — отсутствие оглавления. В FB2 оно строится автоматически из вложенных <section> с заголовками <title>. Если все главы свалены в один раздел без заголовков, читалка не сможет показать содержание, и навигация по книге станет невозможной.
Что делать, если читалка не открывает готовый файл
Сначала проверьте, что у файла расширение именно .fb2, а не .fb2.txt (Windows может скрывать расширения). Затем откройте файл в браузере — он покажет XML и укажет строку с синтаксической ошибкой, если она есть. Если браузер отображает документ корректно, а читалка — нет, проблема, скорее всего, в нарушении схемы FictionBook: прогоните файл через валидатор.
Часто задаваемые вопросы
Можно ли сделать FB2 из PDF?
Технически — да, но качество зависит от исходника. Если PDF содержит текстовый слой, конвертеры вроде Calibre извлекут текст. Однако вёрстка PDF часто превращается в набор разорванных строк и дефисов, которые придётся чистить вручную. Сканированные PDF без распознавания текста (OCR) конвертировать напрямую нельзя.
Как добавить обложку в FB2-книгу?
Проще всего — через редактор FB2 или конвертер: в Calibre обложка задаётся в метаданных книги и автоматически встраивается при конвертации. В ручной разметке изображение кодируется в Base64 внутри тега <binary> и привязывается к обложке через <coverpage> в блоке description.
Чем FB2 отличается от EPUB и что лучше выбрать?
Оба формата описывают структуру книги, но EPUB — это ZIP-архив из нескольких файлов (XHTML, стили, изображения), а FB2 — единый XML-документ. FB2 исторически популярен в русскоязычной среде и хорошо поддерживается отечественными читалками; EPUB — международный стандарт. Для русскоязычной аудитории и библиотек вроде «ЛитРес»-подобных каталогов FB2 остаётся рабочим выбором.
Почему в готовой книге вместо текста отображаются иероглифы?
Причина почти всегда одна — несовпадение фактической кодировки файла с указанной в заголовке XML. Откройте файл в Notepad++, проверьте кодировку в строке <?xml ... encoding="..."?> и пересохраните документ в UTF-8 через меню «Кодировки».
Обязательно ли заполнять все поля метаданных?
Нет, обязательный минимум невелик: автор, название книги и язык в блоке <title-info>. Однако жанр, аннотация и дата делают книгу удобнее для каталогизации в библиотеках читалок, поэтому заполнять их — хорошая практика, особенно если книгой будут пользоваться другие люди.