Содержание статьи

Формат FB2 – это открытый стандарт для электронных книг, основанный на XML. Он хранит текст, метаданные (автор, жанр, аннотацию) и структуру документа (главы, абзацы, сноски) в одном файле. В отличие от EPUB или MOBI, FB2 не поддерживает сложные стили или мультимедиа, но его простота делает его идеальным для ручного редактирования. Если вам нужно исправить опечатку, добавить главу или изменить обложку, достаточно текстового редактора и базовых знаний синтаксиса.
Для работы с FB2 подойдут программы с подсветкой XML: Notepad++, Visual Studio Code или FB2Edit. Последний – специализированный инструмент с интерфейсом для правки метаданных без погружения в код. Однако ручное редактирование даёт больше контроля. Например, тег <title> отвечает за заголовок книги, а <p> – за абзацы. Ошибка в закрывающем теге (например, </p> вместо </title>) сломает структуру файла, и книга не откроется в читалке.
Первый шаг – резервное копирование оригинала. Даже опытные пользователи допускают ошибки, а FB2 не всегда корректно восстанавливается после сбоев. Откройте файл в редакторе и найдите раздел <description> – здесь хранятся метаданные. Чтобы изменить автора, отредактируйте строку <first-name>Иван</first-name> и <last-name>Иванов</last-name>. Для добавления главы вставьте блок <section><title>Новая глава</title><p>Текст...</p></section> внутри тега <body>. Сохраните файл с расширением .fb2 и проверьте его в читалке, например, Cool Reader или AlReader.
Распространённые проблемы: некорректная кодировка (используйте UTF-8), отсутствие обязательных тегов (<FictionBook> в начале файла) или битые ссылки на изображения. Если книга не открывается, проверьте файл валидатором XML, например, XML Validator от W3C. Для массовых правок (например, замена всех кавычек «ёлочек» на «лапки») используйте регулярные выражения в Notepad++: найдите «([^»]+)» и замените на "$1". Избегайте онлайн-конвертеров – они часто ломают структуру.
Выбор программы для открытия и изменения файлов FB2

FB2 – формат на основе XML, поэтому для редактирования подойдут программы, поддерживающие работу с разметкой или специализированные инструменты для электронных книг. Первым шагом определите задачи: правка метаданных, исправление ошибок верстки, конвертация или глубокая переработка структуры. Для базовых изменений хватит простых редакторов, для сложных – потребуются продвинутые инструменты.
Notepad++ с плагином XML Tools – бесплатное решение для Windows, позволяющее проверять синтаксис FB2 и вносить правки вручную. Плагин подсвечивает ошибки в тегах, а функция «Pretty Print» форматирует разметку для удобства чтения. Минус – отсутствие визуального редактора, что усложняет работу с длинными текстами.
Oxygen XML Editor – профессиональный инструмент с поддержкой валидации по схеме FB2, автозаполнением тегов и предварительным просмотром. Подходит для крупных проектов, где важна точность разметки. Стоимость лицензии начинается от $99, но есть 30-дневная пробная версия. Альтернатива – бесплатный XML Copy Editor с базовыми функциями проверки.
Для пользователей macOS оптимален BBEdit – текстовый редактор с поддержкой XML, подсветкой синтаксиса и интеграцией с Git. Версия 14.6 обрабатывает файлы до 10 ГБ, что актуально для объемных книг. Единственный недостаток – отсутствие встроенного FB2-валидатора, придется использовать сторонние сервисы.
Среди специализированных редакторов выделяется FictionBook Editor 2.6 – бесплатная программа с визуальным интерфейсом, автоматическим исправлением ошибок и экспортом в EPUB. Поддерживает drag-and-drop для изображений, но работает только под Windows. Для Linux подойдет Sigil с плагином FB2 Import, хотя конвертация может потребовать ручной доработки.
Онлайн-сервисы вроде FB2Edit.ru или OnlineFB2Editor удобны для быстрых правок без установки ПО. Они позволяют редактировать метаданные, удалять лишние теги и скачивать результат. Однако загрузка конфиденциальных материалов на сторонние серверы небезопасна, а функционал ограничен – нет проверки валидности разметки.
При выборе программы учитывайте: для разовых правок подойдет Notepad++ или онлайн-редактор, для регулярной работы – Oxygen или FictionBook Editor. Если формат FB2 используется как промежуточный перед конвертацией, достаточно базовых инструментов. Для профессиональной верстки выбирайте редакторы с поддержкой схем и автодополнением.
Структура FB2: основные теги и их назначение

В <description> хранятся данные о книге: автор, название, жанр, язык и т. д. Основные теги:
<title-info>– общая информация (обязателен). Включает:<genre>– жанр по классификатору FB2 (например,science_fiction,detective). Допустимо несколько тегов.<author>– автор с вложенными тегами<first-name>,<middle-name>,<last-name>. Если имя неизвестно, используйте<nickname>.<book-title>– название книги (обязателен).<lang>– язык текста (например,ru,en).<document-info>– данные о файле (обязателен). Содержит:<program-used>– программа, создавшая файл (например,FictionBook Editor).<date>– дата создания в форматеYYYY-MM-DD.<id>– уникальный идентификатор (UUID или произвольная строка).
<body> – основной контейнер для текста книги. Может содержать несколько секций (например, для глав), каждая из которых обёрнута в <section>. Внутри секций текст размечается тегами:
<p>– абзац. Атрибутidпозволяет ссылаться на него из оглавления.<title>– заголовок главы или раздела. Вложенные<p>определяют уровни вложенности (например,<title><p>Глава 1</p></title>).<empty-line/>– пустая строка для визуального разделения.<emphasis>– выделение текста (курсив). Для жирного используйте<strong>.
Для цитат и стихов предусмотрены специальные теги:
<cite>– цитата. Может содержать<p>и<title>.<poem>– стихотворение. Включает:<title>– название стихотворения.<stanza>– строфа. Внутри –<v>(строка стиха).<epigraph>– эпиграф (опционально).
Изображения в FB2 встраиваются через <binary> в <description>. Пример:
<binary id="cover.jpg" content-type="image/jpeg">[base64-кодированные данные]</binary>
В тексте на изображение ссылаются так:
<image l:href="#cover.jpg"/>
Атрибут l:href указывает на id бинарного блока. Поддерживаются форматы JPEG, PNG, GIF.
Оглавление формируется в <body name="notes"> или отдельном <body> с помощью тега <table-of-contents>. Структура:
<toc-item>– элемент оглавления.href– ссылка наidсекции или абзаца (например,href="#chapter1").<toc-item>– вложенные пункты (для многоуровневого оглавления).
Распространённые ошибки при разметке:
- Отсутствие обязательных тегов (
<book-title>,<lang>). Валидаторы (например, FB2 Validator) выдадут ошибку. - Неправильное вложение тегов. Например,
<p>внутри<title>без обёртки в<section>. - Использование нестандартных тегов. FB2 поддерживает только предопределённый набор (см. спецификацию).
- Дублирование
<body>без атрибутаname. Второй и последующие блоки должны иметь уникальные имена (например,notes,comments).
Как исправить ошибки форматирования в тексте книги

Откройте файл FB2 в редакторе с поддержкой XML (например, Notepad++ с плагином XML Tools или Sigil). Найдите и исправьте некорректные теги: лишние пробелы внутри <p></p>, дублирующиеся <strong> или <emphasis>, а также незакрытые элементы. Проверьте структуру абзацев – каждый должен начинаться с <p> и заканчиваться </p>, без вложенных тегов без необходимости. Для поиска ошибок используйте валидатор XML (встроенный в Sigil или онлайн-сервисы вроде XML Validator). Удалите ручные переносы строк (<br/>), если они нарушают логику текста, заменив их на корректные теги <p> или <poem> для стихов.
Исправьте проблемы с кодировкой: замените нечитаемые символы (например, �) на правильные аналоги через поиск и замену (Ctrl+H). Для кавычек используйте « и » вместо прямых («), а тире – — (–) вместо дефисов (-). Проверьте выравнивание текста: если в книге есть центрированные блоки, оберните их в <p align=»center»>, а не используйте пробелы или табуляцию. Для списков применяйте <ul> или <ol> с вложенными <li>, избегая ручного нумерования. Сохраните файл и протестируйте его в нескольких читалках (например, FBReader и CoolReader), чтобы убедиться в отсутствии визуальных артефактов.
Добавление и замена обложки в файле FB2

FB2-файлы хранят обложку в двух форматах: как встроенное изображение в секции <binary> и как ссылку на него в метаданных <coverpage>. Чтобы добавить или заменить обложку, потребуется редактор с поддержкой XML-структуры, например, FB Editor, Sigil или Notepad++ с плагином для работы с архивами. Изображение должно быть в формате JPEG или PNG, с разрешением не менее 600×800 пикселей для корректного отображения на большинстве устройств.
Откройте файл FB2 как архив (переименуйте расширение в .zip и распакуйте) или напрямую в редакторе. В секции <description> найдите или добавьте блок:
<coverpage>
<image l:href="#cover.jpg"/>
</coverpage>
Здесь #cover.jpg – идентификатор изображения, который должен совпадать с именем файла в секции <binary>. Если обложка уже есть, удалите старый тег <binary> с её данными и замените на новый.
Добавьте изображение в секцию <binary> в формате Base64. Для этого используйте онлайн-конвертеры (например, base64.guru) или команду в терминале Linux/macOS:
base64 -i cover.jpg -o cover.txt
Скопируйте содержимое файла cover.txt в новый тег <binary>:
<binary id="cover.jpg" content-type="image/jpeg">
[Base64-код изображения]
</binary>
Для PNG замените image/jpeg на image/png. Убедитесь, что атрибут id совпадает с именем в <coverpage>.
| Ошибка | Последствие | Решение |
|---|---|---|
| Несовпадение идентификаторов | Обложка не отображается | Проверьте l:href="#имя" и id="имя" |
| Изображение в неподдерживаемом формате | Ошибка при открытии файла | Используйте только JPEG или PNG |
| Base64-код с пробелами или переносами | Битое изображение | Удалите все лишние символы, оставьте сплошной код |
| Разрешение менее 300×400 пикселей | Размытая обложка на экране | Увеличьте размер изображения |
После редактирования сохраните файл и проверьте его валидность с помощью FB2 Validator (онлайн-версия). Если обложка не отображается, откройте файл в текстовом редакторе и убедитесь, что:
- Секция
<coverpage>расположена внутри<description>. - Тег
<binary>находится в корне файла, а не внутри других секций. - Идентификаторы в
l:hrefиidсовпадают с учётом регистра.
Для массовой замены обложек в нескольких файлах используйте скрипты на Python с библиотекой lxml или специализированные утилиты вроде FB2Fix.
Редактирование метаданных: автор, название, жанр

Метаданные в FB2-файле хранятся в секции <description>, которая расположена в начале XML-документа. Чтобы изменить автора, найдите тег <author> и его вложенные элементы: <first-name>, <middle-name>, <last-name> и <nickname>. Например, для книги «Мастер и Маргарита» Михаила Булгакова структура выглядит так: <author><first-name>Михаил</first-name><last-name>Булгаков</last-name></author>. Если автор использует псевдоним, добавьте <nickname> вместо реальных имён.
Название книги редактируется в теге <book-title> внутри <title-info>. Убедитесь, что оно точно соответствует оригиналу, включая регистр и знаки препинания. Для сборников или серий используйте <sequence> с атрибутами name и number: <sequence name=»Темная Башня» number=»1″/>. Это позволит читалкам корректно отображать порядок книг.
Жанры задаются тегами <genre> с использованием стандартных кодов FictionBook. Полный список доступен на сайте fictionbook.org. Например, для фантастики укажите <genre>science_fiction</genre>, для детектива – <genre>detective</genre>. Допускается несколько жанров, но не более трёх, чтобы избежать путаницы в библиотеках.
При редактировании метаданных проверяйте кодировку файла – она должна быть UTF-8. Если после сохранения русские символы отображаются некорректно, откройте файл в текстовом редакторе (например, Notepad++ или VS Code) и пересохраните с явным указанием кодировки. Ошибки в кодировке часто приводят к сбоям при импорте в читалки.
Для массового редактирования метаданных используйте специализированные инструменты: FB2 Fix, FictionBook Editor или плагин для Calibre. В FB2 Fix выделите нужные файлы, выберите вкладку «Метаданные» и заполните поля вручную или через шаблоны. Calibre позволяет редактировать метаданные пакетно, но не поддерживает все тонкости формата FB2, например, вложенные теги <sequence>.
После внесения изменений проверьте файл на валидность с помощью онлайн-валидатора FB2 Validator. Ошибки в структуре XML (например, незакрытые теги) сделают файл нечитаемым. Если валидатор выдаёт предупреждения о нестандартных жанрах, замените их на рекомендованные коды из официальной спецификации.
Сохраняйте резервные копии оригинальных файлов перед редактированием. Даже незначительные изменения в метаданных могут повлиять на отображение обложки или аннотации, если они связаны с тегами <coverpage> или <annotation>. Для сложных правок используйте XML-редакторы с подсветкой синтаксиса, чтобы избежать случайных повреждений структуры.
Работа с иллюстрациями и их вставка в книгу

FB2 поддерживает два типа иллюстраций: встроенные (base64-кодированные) и внешние (ссылки на файлы). Встроенные изображения увеличивают размер файла, но делают книгу самодостаточной – идеально для распространения. Внешние ссылки уменьшают вес файла, но требуют наличия отдельных файлов при просмотре. Для вставки иллюстрации используйте тег <binary> с атрибутами id (уникальный идентификатор) и content-type (например, image/jpeg). Код начинается с <binary id=»cover» content-type=»image/jpeg»>, после чего следует base64-строка изображения.
Перед вставкой подготовьте изображения: оптимальное разрешение – 800–1200 пикселей по большей стороне, формат – JPEG (для фотографий) или PNG (для графики с прозрачностью). Сжатие до 70–80% качества в JPEG сократит размер без заметной потери деталей. Инструменты: GIMP (бесплатный) или Photoshop (платный) для редактирования, TinyPNG (онлайн) для сжатия PNG. Избегайте BMP и TIFF – они не поддерживаются в FB2.
Для привязки иллюстрации к тексту используйте тег <image> внутри абзаца или отдельного блока <section>. Пример: <p><image l:href=»#cover»/></p>. Атрибут l:href ссылается на id из <binary>. Если изображение должно быть обложкой, добавьте его в секцию <title-info> с тегом <coverpage>: <coverpage><image l:href=»#cover»/></coverpage>. Это обеспечит корректное отображение в большинстве читалок.
Многие редакторы FB2 (например, FictionBook Editor 2 или FB2Edit) автоматизируют вставку иллюстраций через интерфейс, но ручное редактирование XML даёт больше контроля. Проверяйте валидность файла после изменений с помощью онлайн-валидатора (fb2validator.ru) или плагина для Notepad++ (XML Tools). Ошибки в синтаксисе <binary> или <image> приведут к игнорированию иллюстраций при открытии файла.
Для динамических иллюстраций (например, схем или карт) используйте SVG внутри тега <binary> с content-type=»image/svg+xml». SVG масштабируется без потери качества, но поддерживается не всеми читалками. Альтернатива – конвертировать SVG в PNG перед вставкой. При работе с цветными иллюстрациями учитывайте, что некоторые устройства (например, Kindle с электронными чернилами) отображают их в оттенках серого.
Храните исходные файлы иллюстраций отдельно от FB2. При обновлении книги замените base64-строку в <binary> на новую версию изображения, не меняя id. Это упростит редактирование и позволит быстро исправить ошибки. Для массовой замены иллюстраций используйте скрипты на Python с библиотекой lxml – они автоматизируют перекодирование и вставку изображений в XML.
Сохранение и проверка файла после изменений

Перед финальной проверкой очистите временные файлы и кэш редактора. Например, в Sigil удалите папку META-INF, если она появилась после правок, так как она не нужна для корректного FB2. Запустите валидацию через встроенные инструменты: в Calibre используйте «Инструменты» → «Проверка книги», в Sigil – «Инструменты» → «Проверить EPUB/FB2″. Ошибки с кодами вроде «XML well-formedness error» или «Invalid element» указывают на синтаксические проблемы, требующие исправления.
Проверьте файл на читаемость в нескольких программах: FBReader, Cool Reader и штатном просмотрщике Calibre. Обратите внимание на отображение абзацев, переносов строк и форматирования заголовков. Если в тексте есть таблицы или стихи, убедитесь, что они не «разъехались» – это частая проблема при некорректном использовании тегов <table> или <poem>.
Для глубокой проверки структуры используйте онлайн-валидаторы, например, FreeFormatter или W3C Validator. Загрузите файл и сверьтесь с XSD-схемой FB2 (доступна на официальном сайте стандарта). Ошибки типа «Element ‘p’ not allowed here» означают, что тег <p> вставлен в недопустимом месте, например, внутри <title>.
Создайте резервную копию отредактированного файла с датой в названии (например, «книга_20240515.fb2″). Храните версии в отдельной папке – это позволит откатиться к предыдущей редакции при обнаружении критических ошибок после публикации. Если файл предназначен для распространения, протестируйте его на устройствах с разными разрешениями экрана: от 6» ридеров до планшетов, чтобы выявить проблемы с масштабированием шрифтов и выравниванием.
