Содержание
- 1 FB2-файл — это файл XML
- 2 Общая структура документа. Кодировки
- 3 Раздел FictionBook
- 4 Поля раздела description
- 5 Тело документа (структура разделов body и section)
- 6 Форматированный текст
- 7 Пустые строки
- 8 Жирный и курсивный текст
- 9 Верхние и нижние индексы
- 10 Перечеркнутый текст
- 11 Программный код
- 12 Заголовки
- 13 Подзаголовки
- 14 Стихи
- 15 Эпиграфы
- 16 Цитированный текст
- 17 Автор цитаты
- 18 Картинки
- 19 Ссылки
- 20 Таблицы
- 21 Примечания
- 22 Двоичные вложения
- 23 Символы Unicode
- 24 Список возможных жанров
- 25 Список возможных языков
FB2-файл — это файл XML
FB2-документ является файлом в формате XML.
XML (англ. Extensible Markup Language ? расширяемый язык разметки; произносится [икс-эм-э?л]) ? рекомендованный Консорциумом Всемирной паутины язык разметки, фактически представляющий из себя свод общих синтаксических правил. XML предназначен для хранения структурированных данных, для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML), иногда называемых словарями.
Ниже приведён пример простого кулинарного рецепта, размеченного с помощью XML:
<?xml version="1.0" encoding="UTF-8"?> <Recipe name="хлеб" prep_time="5 мин" cook_time="3 час"> <название>Простой хлеб</название> <ingredient amount="3" unit="стакан">Мука</ingredient> <ingredient amount="0.25" unit="грамм">Дрожжи</ingredient> <ingredient amount="1.5" unit="стакан">Тёплая вода</ingredient> <ingredient amount="1" unit="чайная ложка">Соль</ingredient> <Instructions> <step>Смешать все ингредиенты и тщательно замесить.</step> <step>Закрыть тканью и оставить на один час в тёплом помещении.</step> <step>Замесить ещё раз, положить на противень и поставить в духовку.</step> </Instructions> </Recipe>
Обратите внимание, что названия и значения элементов и атрибутов могут состоять не только из букв латинского алфавита, но десятичным разделителем может быть только точка.
Первая строка XML-документа называется объявлением XML ? это необязательная строка, указывающая версию стандарта XML (обычно это 1.0), также здесь может быть указана кодировка символов и внешние зависимости.
Остальная часть этого XML-документа состоит из вложенных элементов, некоторые из которых имеют атрибуты и содержимое. Элемент обычно состоит из открывающего и закрывающего тегов (меток), обрамляющих текст и другие элементы. Открывающий тег состоит из имени элемента в угловых скобках, например ?<step>
?; закрывающий тег состоит из того же имени в угловых скобках, но перед именем ещё добавляется косая черта, например ?</step>
?. Содержимым элемента называется всё, что расположено между открывающим и закрывающим тегами, включая текст и другие (вложенные) элементы. Ниже приведён пример XML-элемента, который содержит открывающий тег, закрывающий тег и содержимое элемента:
<step>Замесить ещё раз, положить на противень и поставить в духовку.</step>
Кроме содержания у элемента могут быть атрибуты ? пары имя-значение, добавляемые в открывающий тег после названия элемента. Значения атрибутов всегда заключаются в кавычки (одинарные или двойные), одно и то же имя атрибута не может встречаться дважды в одном элементе. Не рекомендуется из соображений читабельности использовать разные типы кавычек для значений атрибутов одного тега.
<ingredient amount="3" unit="стакан">Мука</ingredient>
В приведённом примере у элемента ?ingredient? есть два атрибута: ?amount?, имеющий значение ?3?, и ?unit?, имеющий значение ?стакан?. С точки зрения XML-разметки, приведённые атрибуты не несут никакого смысла, а являются просто набором символов.
Кроме текста элемент может содержать другие элементы:
<Instructions> <step>Смешать все ингредиенты и тщательно замесить.</step> <step>Закрыть тканью и оставить на один час в тёплом помещении.</step> <step>Замесить ещё раз, положить на противень и поставить в духовку.</step> </Instructions>
В данном случае элемент ?Instructions? содержит три элемента ?step?. XML не допускает перекрывающихся элементов. Например, приведённый ниже фрагмент некорректен, так как элементы ?em? и ?strong? перекрываются.
<!-- ВНИМАНИЕ! Некорректный XML! --> <p>Обычный <em>акцентированный <strong>выделенный и акцентированный</em> выделенный</strong></p>
Каждый XML-документ должен содержать в точности один корневой элемент или document element), таким образом, следующий фрагмент не может считаться корректным XML-документом.
<!-- ВНИМАНИЕ! Некорректный XML! --> <thing>Cущность ?1</thing> <thing>Cущность ?2</thing>
Для обозначения элемента без содержания, называемого пустым элементом, допускается применять особую форму записи, состоящую из одного тега, в котором после имени элемента ставится косая черта. Следующие фрагменты полностью равнозначны:
<foo></foo>
<foo/>
В XML определены два метода записи специальных символов: ссылка на сущность и ссылка по номеру символа. Сущностью в XML называются именованные данные, обычно текстовые, в частности спецсимволы. Ссылка на сущность указывается в том месте, где должна быть сущность и состоит из амперсанда (?&
?), имени сущности и точки с запятой (?;
?). В XML есть несколько предопределённых сущностей, таких как ?lt? (ссылаться на неё можно написав ?<
?) для левой угловой скобки и ?amp? (ссылка ? ?&
?) для амперсанда, возможно также определять собственные сущности. Помимо записи с помощью сущностей отдельных символов, их можно использовать для записи часто встречающихся текстовых блоков. Ниже приведён пример использования предопределённой сущности для избежания использования знака амперсанда в названии:
<company-name>AT&T</company-name>
Полный список предопределённых сущностей состоит из & (?&?), < (?<?), > (?>?), ' (?’?), и " (?»?) ? последние две полезны для записи разделителей внутри значений атрибутов. Определить свои сущности можно в DTD-документе.
Иногда бывает необходимо определить неразрывный пробел, который в HTML обозначается как в XML его записывают  
Cсылка по номеру символа выглядит как ссылка на сущность, но вместо имени сущности указывается символ #
и число (в десятичной или шестнадцатеричной записи), являющееся номером символа в кодовой таблице Юникод. Это обычно символы, которые невозможно закодировать напрямую, например буква арабского алфавита в ASCII-кодированном документе. Амперсанд может быть представлен следующим образом:
<company-name>AT&T</company-name>
Существует ещё множество правил, касающихcя составления корректного XML-документа, но целью данного краткого обзора было лишь показать основы, необходимые для понимания структуры XML-документа.
Общая структура документа. Кодировки
FB2-документ состоит из объявления XML и корневого элемента <FictionBook>. То есть выглядит это так:
<?xml version="1.0" encoding="windows-1251"?> <FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0" xmlns:l="http://www.w3.org/1999/xlink"> ... </FictionBook>
Как видно, в первой строке в значении атрибута encoding надо правильно указать кодировку документа. В приведенном примере это windows-1251, а в другом случае могла бы быть и utf-8. utf-8 также является кодировкой по умолчанию, использующейся в случае отсутствия атрибута encoding или всего XML-объявления.
Ниже указано, какая кодировка каким языкам соответствует:
windows-1251 - английский и кириллица (русский, болгарский и т.д.) windows-1252 - западно-европейские языки (английский, французский, испанский и т.д.) windows-1250 - английский и восточно-европейские (польский, чешский и т.д.)
Раздел FictionBook
Этот раздел начинается сразу за первой строкой и открывается таким образом:
<FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0" xmlns:l="http://www.w3.org/1999/xlink">
А закрывается в самом конце FB2-документа.
В xmlns:l вместо l может быть написано и другое имя, главное, чтобы потом оно использовалось в ссылках по всему документу. То есть, если объявлено xmlns:l=»http://www.w3.org/1999/xlink», то ссылки надо оформлять как <a l:href=…>…</a>, а если объявлено xmlns:xlink=»http://www.w3.org/1999/xlink», то надо так: <a xlink:href=…>…</a>. Аналогично и для ссылок в тэгах <image/>.
Раздел FictionBook состоит из вложенных подразделов в указанном ниже порядке:
- <description> — который описывает заголовок документа. Одно и только одно вхождение. (фразы вроде «одно и только одно вхождение» говорят, сколько раз подряд может идти данный тэг в данном месте документа)
- <body> — описывает тело документа. Одно или более вхождений.
- <binary> — содержит приложенные к файлу двоичные объекты — картинки и прочее. Любое число вхождений.
Иными словами, присутствуют как минимум разделы <description> с <body>, а остальное — по необходимости.
Пример:
<?xml version="1.0" encoding="windows-1251"?> <FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0" xmlns:l="http://www.w3.org/1999/xlink"> <description> ... </description> <body> ... </body> <body name="notes"> ... </body> <binary id="cover.jpg" content-type="image/jpeg">/9j/ 4AAQSkZJRgABAgAAZABkAAD/ ... </binary> </FictionBook>
Поля раздела description
Раздел <description> состоит из перечисленных ниже частей в указанном порядке:
- <title-info> — данные о книге. Одно и только одно вхождение.
- <src-title-info> — данные об исходнике книги (до перевода). От нуля до одного вхождений.
- <document-info> — информация об FB2-документе. Одно и только одно вхождение.
- <publish-info> — сведения об издании книги, которая была использована как источник при подготовке документа. От нуля до одного вхождений.
- <custom-info> — произвольная информация. Любое число вхождений.
То есть обязательны разделы <title-info> и <document-info>, а остальные добавляются по необходимости.
Рассмотрим пример заполнения его полей (они должны следовать в указанном порядке):
<description> <title-info> <genre>sci_medicine</genre> <genre>science</genre> <author> <first-name>Борис</first-name> <last-name>Сергеев</last-name> </author> <book-title>Ум хорошо:</book-title> <annotation> <p>Об организации высших психических функций.</p> </annotation> <date value="1984-01-01">1984</date> <coverpage><image l:href="#cover.jpg"/></coverpage> <lang>ru</lang> <src-lang>ru</src-lang> <sequence name="Раскрывая тайны психики" number="2"/> </title-info> <document-info> <author> <nickname>Sclex</nickname> <email>sclex_at_inbox.ru</email> </author> <program-used>Dn/2, Opera 8.50, Bred3</program-used> <date value="2006-05-21">2006-05-21</date> <id>91824ABE-EEF7-48C3-AAAA-A719EFC4824A</id> <version>1.1</version> <history> <p>1.0 - подготовка fb2 by Sclex</p> <p>1.1 - вычитка ошибок by Sclex</p> </history> </document-info> <publish-info> <book-name>Борис Федорович Сергеев. Ум хорошо:</book-name> <publisher>Молодая гвардия</publisher> <city>М.</city> <year>1984</year> </publish-info> </description>
Рассмотрим последовательно смысл значений тэгов заголовка. (Некоторые из тэгов отсутствуют в примере, но описаны ниже).
Внутри раздела <title-info>:
<genre> — указывает жанр книги. Список возможных значений приведен в соответствующем разделе данного описания. Одно или более вхождений, то есть книга может относиться к нескольким жанрам одновременно. В нашем примере это sci_medicine и science, то есть книга относится к жанрам «Медицина» и «Научно-образовательная: Прочее».
<author> — содержит информацию об авторе книги. Возможны такие вложенные тэги как <first-name> — имя, <last-name> — фамилия, <middle-name> — отчество, <nickname> — ник, и <email> — адрес электронной почты. Одно или более вхождений, так как может быть несколько авторов у одной книги. В нашем примере определены имя Борис и фамилия Сергеев.
<book-title> — описывает название книги. Одно и только одно вхождение. В нашем примере книга называется «Ум хорошо:».
<annotation> — аннотация книги. Возможны в любом количестве и порядке следующие вложенные тэги: <p>, <poem>, <cite>, <subtitle>, <table>, <empty-line/> с соответствующим содержанием. От нуля до одного вхождения.
<keywords> — содержит ключевые слова к данной книге для поисковых систем. Слова должны быть в виде неформатированного текста. От нуля до одного вхождения.
<date> — хранит дату написания книги. В свойстве value дата описывается в формате ГГГГ-ММ-ДД, а внутри тэга дата задается в текстовом виде. От нуля до одного вхождения. В нашем примере свойство value имеет значение 1984-01-01, то есть первое января 1984-го года, а внутри тэга прописано значение 1984.
<coverpage> — обложка книги. Внутри может содержать только тэг <image/>. От нуля до одного вхождения. В нашем примере ссылка указывает на картинку cover.jpg, приложенную к документу (значок # говорит, что эта ссылка локальная, то есть адресует в пределах документа).
<lang> — сообщает язык книги в документе, то есть язык после перевода. Одно и только одно вхождение. В нашем примере это ru, то есть русский язык. Полный список кодов приведен в соответствующем разделе данного описания.
<src-lang> — определяет язык, на котором исходно написана книга, то есть язык до перевода. От нуля до одного вхождений. Те же коды, что для тэга <lang>. В нашем примере это ru, то есть русский язык. Английскому языку соответствует код en.
<translator> — информация о переводчике книги. Возможны такие вложенные тэги как <first-name> — имя, <last-name> — фамилия, <middle-name> — отчество, <nickname> — ник, и <email> — адрес электронной почты. Любое число вхождений.
<sequence> — сведения о том, к каким сериям относится книга. Имеет такие свойства, как name (текстовая строка) — название серии, и number (целое число) — порядковый номер книги в серии. Любое число вхождений. В нашем примере описана серия «Раскрывая тайны психики», и указан номер книги в серии — вторая.
Внутри раздела <document-info>:
<author> — содержит информацию об авторе документа. Возможны такие вложенные тэги как <first-name> — имя, <last-name> — фамилия, <middle-name> — отчество, <nickname> — ник, и <email> — адрес электронной почты. Одно или более вхождений. В нашем примере определены ник Sclex и адрес электронной почты sclex_at_inbox.ru.
<program-used> — в виде простого перечисляет программы, использованные при создании FB2-документа. От нуля до одного вхождений. В нашем примере это Dn/2, Opera 8.50 и Bred3.
<date> — хранит дату создания документа. В свойстве value дата описывается в формате ГГГГ-ММ-ДД, а внутри тэга дата задается в текстовом виде. Одно и только одно вхождение. В нашем примере свойство value имеет значение 2006-05-21, то есть 21-е мая 2006-го года, и такое же значение прописано внутри тэга.
<src-url> — URL страницы, откуда взят текст для подготовки документа. Любое число вхождений.
<src-ocr> — автор текста, который был использован при подготовке документа. Но не тот автор, который написал книгу, а тот, который сканировал ее и подготовил электронный текст. От нуля до одного вхождений.
<id> — уникальный идентификатор документа FB2. Каждый отдельный FB2-документ должен иметь собственный ID, отличающийся от ID других документов. Это значит, что при изменении книги, которая есть в библиотеке, ID нужно сохранить. Если же создается новая книга, это поле необходимо заполнить уникальной записью. Формально разрешено использовать внутри тэга ID любые символы в любом количестве, но рекомендуется употреблять символы латиницы, цифры, и знаки подчеркивание и минус («_», «-«). Других требований к идентификатору нет. Как вариант, можно заполнить поле согласно времени создания документа по формату YYYYMMDDhhmmss, например 20060728182041. Одно и только одно вхождение.
<version> — версия документа в текстовом виде. Описывается дробным числом. Одно и только одно вхождение. В нашем случае — 1.1.
<history> — история создания и изменения документа. Содержит форматированный текст. Возможны в любом количестве и порядке следующие вложенные тэги: <p>, <poem>, <cite>, <subtitle>, <table>, <empty-line/> с соответствующим содержанием. От нуля до одного вхождений.
Внутри тэга <publish-info>:
<book-name> — название оригинальной (бумажной) книги. От нуля до одного вхождений. В примере это «Борис Федорович Сергеев. Ум хорошо:».
<publisher> — название издательства. От нуля до одного вхождений. В примере — Молодая гвардия.
<city> — город, в котором издана книга. От нуля до одного вхождений. В нашем случае это М., то есть Москва.
<year> — год издания книги. От нуля до одного вхождений. В нашем случае — 1984.
Тело документа (структура разделов body и section)
Тэг <body> предназначен для описания собственно тела документа. Этот тэг может иметь свойство name, которое описывает имя раздела. Например:
<body name="notes">
Внутри раздела <body> могут идти в указанном порядке:
- Картинка <image/>, которая будет отображаться вверху раздела. От нуля до одного вхождений.
- Заголовок <title>. От нуля до одного вхождений.
- Эпиграф <epigraph>. Любое число вхождений.
- Раздел <section>. Одно или более вхождений.
Откуда видно, что обязателен только раздел <section>.
Для раздела <section> имя описывается свойством id. Например так:
<section id="note33">
Раздел <section> состоит из следующих частей в указанном порядке:
- Заголовок <title>. От нуля до одного вхождений.
- Эпиграф <epigraph>. Любое число вхождений.
- Картинка <image/>, которая будет отображаться вверху раздела. От нуля до одного вхождений.
- Аннотация <annotation>, описывающая раздел. От нуля до одного вхождений.
- Одно из двух. Либо подраздел <section> (одно или более вхождений); либо форматированный текст с картинками — тэги <p>, <image>, <poem>, <subtitle>, <cite>, <empty-line/>, <table> (одно или более вхождений), но первый тэг не может быть <image>.
Следовательно, обязательно наличие либо вложенного подраздела <section>, либо форматированного текста с картинками.
Разделов <body> в документе может быть несколько. Это используется, например, для оформления примечаний (footnotes). По умолчанию пользователю показывается первый раздел <body>, а содержание остальных должно быть доступно по гиперссылкам. Имя раздела должно отражать смысл его содержания, но для основного раздела это необязательно.
Разделы <section> должны иметь вложенную структуру согласно иерархии оглавления. Например, если документ делится на части, которые в свою очередь делятся на главы, то части будут будут описаны в разделе <section> первого уровня, а главы — в подразделе второго уровня. Проще понять это на примере:
<body> <title><p>Борис Сергеев</p><p>Парадоксы мозга</p></title> <section> <title><p>Часть 1. Великие невежды.</p></title> <section> <title><p>Глава 1. Во тьме веков.</p></title> <p>Когда люди стали о себе задумываться? ...</p> ... </section> </section> </body>
Принято названия глав писать маленькими буквами, начиная с большой.
Еще принято кроме того, что указано в заголовке, давать имя автора и название книги в тексте документа до того, как открывается <section> первого уровня, то есть в <title>, относящемся к <body>. Это видно из вышеприведенного примера.
Форматированный текст
Форматированный текст представляет собой последовательность фрагментов, ограниченных тэгами <p>, <poem>, <subtitle>, <cite>, <table>. Также могут входить пустые строки — <empty-line/>.
Тэг <p> предназначен для описания одного абзаца текста книги.
Например:
<p>Вот абзац текста.</p> <p>Еще один абзац текста.</p>
Тэг <p> может быть вложен в тэги <title>, <cite>, <epigraph>, <annotation>, <section>.
Пустые строки
Если нужно в форматированном тексте вставить пустую строку, это делается с помощью тэга <empty-line/>. Один такой тэг — одна пустая строка. Закрывающий тэг в данном случае не требуется.
Например:
<p>Абзац до пустой строки.</p> <empty-line/> <p>А вот это уже абзац после пустой строки.</p>
Жирный и курсивный текст
Для форматированного текста, а именно внутри тэгов <p>, <v>, <subtitle>, <text-author> возможно описать текст как жирный или курсивный. Жирный текст следует выделить тэгом <strong>, а курсивный — тэгом <emphasis>.
Например:
<p>Вот это слово выведем <strong>жирным</strong>, а вот это - <emphasis>курсивным</emphasis>.</p>
Верхние и нижние индексы
В форматированном тексте (внутри тэгов <p>, <v>, <subtitle>, <text-author>) можно задать для текста начертание как верхний или нижний индекс. Для нижних индексов (уменьшенные буквы внизу строки) используется выделение тэгом <sub>, а для верхних индексов (уменьшенные буквы вверху строки) — выделение тэгом <sup>.
Пример:
<p>2<sup>4</sup>=16</p> <p>a<sub>1</sub>+a<sub>2</sub>=b</p>
Перечеркнутый текст
В форматированном тексте (внутри тэгов <p>, <v>, <subtitle>, <text-author>) можно задать для текста отображение перечеркнутым шрифтом. Для этого используется выделение тэгом <strikethrough>.
<p><strikethrough>Перечеркнутый текст.</strikethrough></p>
Программный код
В форматированном тексте (внутри тэгов <p>, <v>, <subtitle>, <text-author>) можно логически разметить текст, который при просмотре файла должен быть отображен как программный код. Для этого используется выделение тэгом <code>. Читалкам рекомендуется текст внутри этого тэга оформлять при выводе моноширинным шрифтом (то есть шрифтом, символы которого имеют одинаковую ширину).
<p><code>Assign(f,'name.txt');</code></p>
Заголовки
Заголовки частей книги описываются тэгом <title>, который содержит в себе форматированный текст. Тэг <title> как заголовок части книги может быть вложенным в тэги <body> и <section>, причем более одного заголовка в разделе не допускается, а может его и не быть вовсе.
В тэг <title> могут быть вложены только тэги <p> и/или <empty-line/>.
Вот пример правильного оформления заголовка с пустой строкой:
<title> <p>Глава 1</p> <empty-line/> <p>От Александрии до Лондона</p> </title>
Тэг <title> может быть вложен в тэги <body>, <section>, <poem>, <stanza>.
Подзаголовки
Подзаголовки описываются тэгом <subtitle>, который содержит простой (неформатированный) текст. Тэг <subtitle> может быть вложенным в тэги <body>, <section>, <cite> и <stanza>.
Обычно описание подзаголовка выглядит так:
<subtitle>* * *<subtitle>
Подзгаловком, в отличие от нормального заголовка, оформляется элемент оглавления, незначимый для структуры документа. Обычно это те самые три звездочки или x x x.
Стихи
Чтобы разместить стихотворение в тексте документа, используют тэг <poem>. Он может нести внутри себя следующие части в указанном порядке:
- Заголовок <title>. От нуля до одного вхождений.
- Эпиграф <epigraph>. Любое число вхождений.
- Строфы <stanza>. Одно или более вхождений. Строфа <stanza> — это группа строк стихотворения, отделенная пустым промежутком от остальных строк. Отдельная строка стихотворения помечается тэгом <v>, который должен быть вложен в <stanza>. Кроме того в состав <stanza> могут входить тэги <title> (заголовок) и <subtitle> (подзаголовок).
- Автор стихотворения <text-author>. Любое число вхождений.
- Дата написания <date>. От нуля до одного вхождений.
То есть обязательно присутствует как минимум одна строфа <stanza>, а остальное добавляется при необходимости.
Например, стихотворение из двух строф:
Наша Таня громко плачет,
Уронила в речку мячик.
Тише, Танечка, не плачь,
Не утонет в речке мяч.
Следует разметить таким образом:
<poem> <stanza> <v>Наша Таня громко плачет,</v> <v>Уронила в речку мячик.</v> </stanza> <stanza> <v>Тише, Танечка, не плачь,</v> <v>Не утонет в речке мяч.</v> </stanza> </poem>
Эпиграфы
Для оформления эпиграфов предусмотрен тэг <epigraph>, который должен содержать внутри себя форматированный текст — тэги <p>, <poem>, <cite>, <empty-line/> (любое число вхождений), а затем автора текста <text-author> (тоже любое число вхождений).
Пример:
<epigraph> <p>Читателям, которые станут доискиваться, какие реальные люди и места описаны здесь под вымышленными именами и названиями, я бы посоветовал посмотреть вокруг себя и заглянуть в собственную душу, так как в этом романе рассказано о том, что происходит сегодня почти во всей Америке.</p> </epigraph>
Тэг <epigraph> может быть вложен в тэги <body>, <section> и <poem>.
Цитированный текст
Для разметки цитированного текста существует тэг <cite>, который может содержать форматированный текст — вложенные тэги <p>, <poem>, <empty-line/>, <subtitle>, <table> (любое число вхождений), а затем автора цитаты <text-author> (любое число вхождений).
Пример:
<cite> <p>Время - деньги.<p> <text-author>Бенджамин Франклин</text-author> </cite>
Автор цитаты
Внутри тэгов <poem>, <cite> и <epigraph> возможно указать автора соответственно стихотворения, цитаты или эпиграфа. Для этого служит тэг <text-author>. Внутри cite и epigraph этот тэг должен стоять в самом конце родительского тэга, то есть непосредственно перед его (родительского тэга) закрытием. Внутри же poem тэг <text-author> може быть либо последний, либо предпоследний перед <date>, как это описано в главе ?Стихи? данного описания. Допускается любое число вхождений тэга <text-author>.
Вот пример:
<epigraph> <p>Кажется, знаешь о себе все, так нет. Находятся люди, которые знают о тебе больше.</p> <text-author>В. Андреев</text-author> </epigraph>
Картинки
Картинки вставляются с помощью тэга <image/> (закрывающий тэг не требуется). Он может иметь атрибуты type, href, alt, title, id. Свойство href указывает на адрес картинки. Если адрес картинки начинается с символа # (решетка), то картинка находится внутри документа.
Пример:
<p>Абзац текста до картинки.</p> <image l:href="#picture.jpg"/> <p>Абзац текста после картинки.</p>
В этом примере в текст вставляется картинка picture.jpg, приложенная к документу (на что указывает символ решетки перед именем).
Тэг <image/> может быть вложен в тэги <body>, <section>, и в этом случае он описывает просто картинку. Если же <image/> вложен в <p> или <coverpage>, он обозначает inline-картинку, то есть такую, которая отображается наравне с текстом, внутри его. У Inline-картинок допустимы только атрибуты type, href, alt.
Файл обложки принято называть cover.jpg или cover.png.
Ссылки
Ссылки вставляются с помощью тэга <a>, который может быть вложен в абзацный тэг <p>. Свойство href определяет адрес ссылки. Адреса с символа # (решетка) задают расположение внутри документа.
Пример:
<p>Об этом вы можете прочитать <a l:href="#n1">здесь</a>.</p>
В этом примере текстом ссылки будет ?здесь?, а указывать она будет на элемент с идентификатором n1 внутри документа.
В l:href вместо l может быть и другой идентификатор, подробнее это описано в главе «Раздел FictionBook».
Также тэг <a> может иметь атрибут type, что используется при создании ссылок на примечания и описано в разделе «Примечания» данного описания.
Таблицы
Таблицы оформляются при помощи тэга <table>, который может быть вложен в <cite>, <section> и/или <annotation>.
Этот тэг может иметь свойства id и style. id описывает идентификатор таблицы, который можно использовать в ссылке, а style определяет, какой стиль отображения сопоставлен данной таблице.
Тэг <table> содержит вложенные тэги <tr>…</tr>, каждый <tr> описывает один горизонтальный ряд ячеек таблицы. Этот тэг может иметь атрибут align, которое предписывает программе-просмотрщику использовать определенный тип горизонтального выравнивания для ряда таблицы. Этот атрибут может принимать значения «left» (по левому краю), «right» (по правому краю) или «center» (центрирование). По умолчанию используется значение «left».
Тэг <tr>, в свою очередь, содержит вложенные тэги <th> и <td> (в любом количестве и порядке каждый). <th> описывает ячейку, которая должна быть отображена как заголовок таблицы. <tr> обрамляет простую ячейку таблицы. Эти два тэга могут содержать только текст без всяких тэгов.
Тэги <th> и <td> могут иметь атрибуты id, style, colspan, rowspan и align. Свойство id задает идентификатор, по которому на ячейку можно сослаться. Атрибут style назначает стиль оформления для ячейки (нужно при использовании CSS). Свойства colspan и rowspan определяют количество колонок и рядов, которые занимает ячейка, что позволяет «растягивать» ее по вертикали или горизонтали. Атрибут align описывает тип горизонтального выравнивания, аналогично одноименному свойству тэга <table>.
В примере показано, как оформить таблицей небольшую табличку умножения:
<table> <tr> <th></th> <th>2</th> <th>3</th> <th>4</th> </tr> <tr> <th>5</th> <td>10</td> <td>15</td> <td>20</td> </tr> <tr> <th>6</th> <td>12</td> <td>18</td> <td>24</td> </tr> <tr> <th>7</th> <td>14</td> <td>21</td> <td>28</td> </tr> </table>
2 | 3 | 4 | |
5 | 10 | 15 | 20 |
6 | 12 | 18 | 24 |
7 | 14 | 21 | 28 |
Примечания
Примечания к тексту книги должны находиться в специальном разделе <body>, поименнованном notes, то есть описан он должен быть как <body name=»notes»>, причем именно так — notes — пятью маленькими буквами и не иначе. Каждое примечание должно находиться в отдельном разделе <section> и иметь уникальный id, по которому оно будет доступно в ссылках. Вот типичный пример оформления тела примечаний:
<body name="notes"> <title><p>Примечания</p></title> <section id="note1"> <title> <p>1</p> </title> <p>Известный английский архитектор XVIII века, испытавший в своем творчестве сильное влияние античной архитектуры. (Здесь и далее прим. ред.)</p> </section> <section id="note2"> <title> <p>2</p> </title> <p>Американский просветитель, живший в XVIII веке</p> </section> </body>
Ссылка на примечание должна иметь свойство type, равное значению «note». Соответствующая размещенному выше примеру ссылка на первое примечание будет выглядеть таким образом:
в стиле Роберта Адама <a l:href="#note1" type="note">[1]</a>
Двоичные вложения
К документу FB2 могут быть приложены файлы, например картинки или что-нибудь другое. (Библиотека, правда, не примет файлы с иными вложениями, чем картинки).
Для описания двоичных вложений служит элемент <binary>, который идет в документе вслед за последним элементом <body>. Вот пример вложения:
<binary id="cover.jpg" content-type="image/jpeg"> AQMAEAMDBgkAAA/tAAAe7gAANHz/2wCEAAgGBgYGBggGBggMCAcIDA4KCAgKDhANDQ4NDRAR DA4NDQ4MEQ8SExQTEg8YGBoaGBgjIiIiIycnJycnJycnJycBCQgICQoJCwkJCw4LDQsOEQ4O ... h9x8OJ/B/c+gfbXM/wDQ/qcPZ9HHjqaPi17zZ4+6deEYNxtP+H1v8Opsec//2Q== </binary>
Свойство id описывает идентификатор (имя) двоичного объекта, а свойство content-type — MIME-тип вложения. Содержанием элемента <binary> является файл, закодированный по методу BASE64.
Чтобы библиотека приняла файл, нужно чтобы в документе не было приложенных объектов, на которые нет ссылки, и чтобы не было ссылок, которые указывают на двоичные объекты, не приложенные к файлу.
Из картинок поддерживаются форматы JPG (тип image/jpeg) и PNG (тип image/png). Поддержка формата GIF отсутствует. Файл обложки обычно принято называть cover.jpg.
Символы Unicode
В текст можно вставлять символы по их коду в таблице Unicode. Для этого нужно написать значок &, потом значок #, потом десятичный код символа, потом точку с запятой.
Например для значка ? (не равно) ? десятичный код 8800, надо написать так:
≠
Список возможных жанров
Здесь перечислены значения, которые принимает поле <genre> в заголовке FB2-документа.
sf_history Альтернативная история sf_action Боевая Фантастика sf_epic Эпическая Фантастика sf_heroic Героическая фантастика sf_detective Детективная Фантастика sf_cyberpunk Киберпанк sf_space Космическая Фантастика sf_social Социальная фантастика sf_horror Ужасы и Мистика sf_humor Юмористическая фантастика sf_fantasy Фэнтези sf Научная Фантастика child_sf Детская Фантастика det_classic Классический Детектив det_police Полицейский Детектив det_action Боевики det_irony Иронический Детектив det_history Исторический Детектив det_espionage Шпионский Детектив det_crime Криминальный Детектив det_political Политический Детектив det_maniac Маньяки det_hard Крутой Детектив thriller Триллеры detective Детектив sf_detective Детективная Фантастика child_det Детские Остросюжетные love_detective Остросюжетные Любовные Романы prose Проза prose_classic Классическая Проза prose_history Историческая Проза prose_contemporary Современная Проза prose_counter Контркультура prose_rus_classic Русская Классика prose_su_classics Советская Классика humor_prose Юмористическая Проза child_prose Детская Проза love Любовные романы love_contemporary Современные Любовные Романы love_history Исторические Любовные Романы love_detective Остросюжетные Любовные Романы love_short Короткие Любовные Романы love_erotica Эротика adv_western Вестерны adv_history Исторические Приключения adv_indian Приключения: Индейцы adv_maritime Морские Приключения adv_geo Путешествия и География adv_animal Природа и Животные adventure Приключения: Прочее child_adv Детские Приключения children Детское child_tale Сказки child_verse Детские Стихи child_prose Детская Проза child_sf Детская Фантастика child_det Детские Остросюжетные child_adv Детские Приключения child_education Детская Образовательная литература children Детское: Прочее poetry Поэзия dramaturgy Драматургия humor_verse Юмористические Стихи child_verse Детские Стихи antique_ant Античная Литература antique_european Европейская Старинная Литература antique_russian Древнерусская Литература antique_east Древневосточная Литература antique_myths Мифы. Легенды. Эпос antique Старинная Литература: Прочее sci_history История sci_psychology Психология sci_culture Культурология sci_religion Религиоведение sci_philosophy Философия sci_politics Политика sci_business Деловая литература sci_juris Юриспруденция sci_linguistic Языкознание sci_medicine Медицина sci_phys Физика sci_math Математика sci_chem Химия sci_biology Биология sci_tech Технические science Научно-образовательная: Прочее adv_animal Природа и Животные comp_www Интернет comp_programming Программирование comp_hard Компьютерное Железо comp_soft Программы comp_db Базы Данных comp_osnet ОС и Сети computers Компьютеры: Прочее ref_encyc Энциклопедии ref_dict Словари ref_ref Справочники ref_guide Руководства reference Справочная Литература: Прочее nonf_biography Биографии и Мемуары nonf_publicism Публицистика nonf_criticism Критика nonfiction Документальное: Прочее design Искусство, Дизайн adv_animal Природа и Животные religion Религия religion_rel Религия religion_esoterics Эзотерика religion_self Самосовершенствование religion Религия и духовность: Прочее sci_religion Религиоведение humor_anecdote Анекдоты humor_prose Юмористическая Проза humor_verse Юмористические Стихи humor Юмор: Прочее home_cooking Кулинария home_pets Домашние Животные home_crafts Хобби, Ремесла home_entertain Развлечения home_health Здоровье home_garden Сад и Огород home_diy Сделай Сам home_sport Спорт home_sex Эротика, Секс home Дом и Семья: Прочее
Список возможных языков
Ниже приведены коды языков, которые можно прописывать в тэгах <lang> и <src-lang>.
Здесь приведены только основные кодировки, полный список содержится в стандарте ISO 639:
abk ab Абхазский aze az Азербайджанский alb/sqi sq Албанский eng en Английский arm/hye hy Армянский BA Башкирский bel be Белорусский bul bg Болгарский hun hu Венгерский vie vi Вьетнамский dut/nla nl Голландский ell/gre el Греческий современный (1453-) dan da Данийский grc Древнегреческий (до 1453) heb he Иврит esl/spa es Испанский ita it Итальянский kaz kk Казахский kir ky Киргизский chi/zho zh Китайский kor ko Корейский lat la Латинский lav lv Латвийский lit lt Литовский mac/mak mk Македонийский mol mo Молдавский mon mn Монгольский deu/ger de Немецкий mul Несколько языков und Неопределенный nor no Норвежский fas/per fa Персидский pol pl Польский por pt Португальский rus ru Русский san sa Санскрит slk/slo sk Словакский slv sl Словенский tgk tg Таджикский tat tt Татарский tur tr Турецкий uzb uz Узбекский ukr uk Украинский cym/wel cy Уэльский fin fi Финский fra/fre fr Французский che Чеченский ces/cze cs Чешский hr Хорватский sve/swe sv Шведский epo eo Эсперанто est et Эстонский jpn ja Японский
Одним из самых популярных форматов, в котором распространяются электронные книги, является формат FB2, в этой статье мы с Вами рассмотрим особенности данного формата, Вы узнаете, как создать файл FB2 и как его редактировать, а также я расскажу об основных элементах (тегах), с помощью которых размечается файл FB2.
Содержание
- Описание формата FB2
- Как создать файл FB2?
- Основные теги FB2 (элементы FB2)
- Объявление XML документа
- FictionBook – корневой элемент FB2
- description – описание книги (документа)
- body – тело документа
- binary – двоичные объекты
- Пример разметки электронной книги в формате FB2
FB2 (FictionBook) – специальный формат разметки электронных книг, реализованный на XML.
FB2-файл – это файл в формате XML с расширением FB2, который является электронной книгой.
Формат FB2 создан для обеспечения совместимости электронных книг с любыми устройствами, иными словами, чтобы электронные книжки можно было удобно читать на всех устройствах.
Самым простым форматом, который читается абсолютно на всех устройствах, является TXT, т.е. обычные текстовые файлы, однако эти файлы не содержат никакой разметки (нет форматирования), за счет этого их чтение вызывает затруднение, простыми словами, не удобно, особенно если этот файл — книга. Поэтому и был создан стандарт FB2, который также читается очень легко на всех устройствах, но уже имеет разметку, что делает FB2-файлы удобными для чтения.
Формат FB2 предполагает разметку структуры документа, в нем нет привязки к типу или размеру устройства, на котором будет читаться файл FB2. Именно поэтому книга (FB2 документ) будет отображаться одинаково правильно на всех устройствах независимо от их размеров или аппаратного обеспечения. Отображение структуры FB2 документа будет зависеть только от пользовательских настроек конкретной программы или устройства, на котором будет открыт FB2 документ.
Книги в формате FB2, как уже было отмечено, это обычные XML-документы с расширением FB2, они размечаются с помощью тегов и могут содержать описание книги, обложку и картинки в двоичном формате, разделы и текст, размеченные специальным образом для удобного чтения, цитаты, таблицы и другие нужные элементы книги. Лично мне принцип разметки FB2 напоминает язык HTML, где HTML-документы точно также размечаются тегами.
Официальный сайт FictionBook — http://www.fictionbook.org. На нем Вы найдете самую детальную информацию о данном формате.
Как создать файл FB2?
Для того чтобы создать книгу в формате FB2 (или просто файл), существует очень много программ, например: Fiction Book Designer или Fiction Book Editor, они позволяют создавать книги с нуля, а также редактировать уже существующие. Но чисто в FB2 Вы, конечно же, не будете писать книгу, Вы ее будете писать в удобном текстовом редакторе, а потом переносить в FB2, перечисленные программы позволяют вставлять текст и осуществлять его разметку, в некоторых случаях даже сохраняя исходное форматирование. Они содержат графические инструменты, которые позволяют создавать все элементы формата FB2, при этом технические знания формата FB2 не требуются. Но честно сказать, к этим программам нужно привыкать и лично мне они не приглянулись. Кстати, если Вы знаете очень удобную программу, предназначенную для создания и редактирования файлов FB2, которой Вы лично пользуетесь, и она Вас устраивает, делитесь названием в комментариях, мне и другим посетителям сайта было бы интересно узнать их.
Интересное! Как записать GIF с экрана компьютера.
Существуют также и онлайн конвертеры, которые позволяют сконвертировать файл, например, Word в формат FB2. Однако по опыту могу сказать, что конвертация в FB2 проходит не совсем гладко, т.е. файл FB2 Вы, конечно же, получите, но разметка будет не совсем та, которую Вы ожидаете. Иными словами, итоговое форматирование книги будет не очень удобно для чтения.
В связи с этим сконвертированные файлы FB2 необходимо редактировать или специальными программами (например, теми, которые мы рассмотрели выше), или вручную, если эти программы Вам так же, как и мне не приглянулись.
Чтобы отредактировать файл FB2 вручную, нужно знать принцип разметки FB2, т.е. теги, с помощью которых размечается FB2-документ, но в этом нет ничего сложного, как я уже отмечал, это не сложней, чем разметка с помощью HTML, я бы даже сказал легче.
Файл FB2 можно легко открыть в простом текстовом редакторе, очень удобно пользоваться Notepad++.
Основные теги FB2 (элементы FB2)
Как мы уже выяснили, формат FB2 – это разметка в формате XML. Документ FB2, как и XML, необходимо объявлять, он содержит один корневой элемент, в котором и располагается вся остальная размеченная информация. Практически все элементы (теги) в FB2 открываются и обязательно закрываются, в противном случае отображение книги будет некорректным, есть теги, которые не нужно закрывать (одиночные теги, примеры мы рассмотрим ниже), но это скорей исключение из правил, поэтому запомните, что в FB2 все элементы необходимо закрывать.
Давайте рассмотрим основные элементы формата FB2.
Объявление XML документа
В самом начале любого файла FB2 необходимо объявить XML документ, это делается следующим образом.
<?xml version="1.0" encoding="utf-8"?>
FictionBook – корневой элемент FB2
В FB2 все данные расположены в корневом элементе, он один и называется FictionBook. Открывается в начале сразу после объявления XML, а закрывается в самом конце файла FB2.
Пример
<FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0" xmlns:l="http://www.w3.org/1999/xlink"> Остальная разметка </FictionBook>
Корневой элемент FictionBook содержит несколько вложенных элементов: description, body и binary.
description – описание книги (документа)
description – тег, с помощью которого описывается FB2 документ. Данный элемент обязательно указывается, причем только один раз.
В разделе description можно располагать следующие элементы.
title-info – информация о книге
Элемент содержит информацию о книге. Внутри данного элемента возможно размещение следующей информации:
- genre — жанр книги. Вот несколько доступных значений:
- sf_fantasy – Фэнтези;
- detective – Детектив;
- children – Детское;
- sci_history – История;
- sci_psychology – Психология;
- sci_philosophy – Философия;
- comp_www – Интернет.
- author — автор книги. Возможны вложенные тэги:
- first-name – Имя;
- last-name – Фамилия;
- middle-name – Отчество;
- nickname – Ник;
- email – Адрес электронной почты.
- book-title — название книги;
- annotation — аннотация книги. Возможны вложенные тэги, например, тег p (параграф);
- date — дата написания книги;
- coverpage — обложка книги. Внутри содержит одиночный тэг image, в котором в виде атрибута указывается локальная (#) ссылка на картинку;
- lang — язык книги (после перевода), например, ru – это русский язык;
- src-lang – исходный язык книги (до перевода), например, en – это английский;
- sequence – информация, к каким сериям относится книга.
Интересное! Опрос. Какой операционной системой Вы пользуетесь?
document-info – информация о файле FB2
Элемент содержит информацию о файле (документе) FB2. Возможно размещение следующей информации:
- author — автор документа. Возможны вложенные тэги, например:
- first-name – Имя;
- last-name – Фамилия;
- middle-name – Отчество;
- nickname – Ник;
- email – Адрес электронной почты.
- program-used – программа, в которой создан FB2 документ;
- date – дата создания FB2 документа;
- id – уникальный идентификатор документа FB2;
- version – версия документа, например, 1.0;
- history – история создания и изменения документа.
publish-info – сведения об издании книги
Элемент содержит информацию об издании книги. Возможно размещение следующей информации:
- book-name — название оригинальной (бумажной) книги;
- publisher — название издательства;
- city- город, в котором издана книга;
- year — год издания книги.
custom-info – произвольная информация
Необязательный элемент, может содержать любую произвольную информацию.
body – тело документа
body – тег, в котором мы размещаем все содержимое своего FB2 документа. Обычно в документе один элемент body.
Для разметки текста в книге мы можем использовать следующие теги внутри элемента body (ниже представлены не все теги, а только часто используемые):
- section – раздел или глава книги. Именно с помощью данного тега мы можем разделять книгу на главы. Внутри данного элемента располагаются все данные, относящиеся к конкретной главе;
- title – заголовок;
- epigraph – эпиграф. Содержит форматированный текст (параграфы p), также может содержать имя автора текста в теге text-author;
- p – параграф;
- cite – цитата. Содержит форматированный текст (параграфы p), также может содержать имя автора цитаты в теге text-author;
- strong – выделение текста жирным;
- emphasis – выделение текста курсивом;
- table – таблица, так же, как и в HTML;
- empty-line – одиночный тег, предназначенный для вставки пустой строки.
- a – ссылка.
binary – двоичные объекты
binary – данный тег содержит двоичные объекты, которые включает FB2 документ (например, картинки). Binary имеет следующие атрибуты:
- id – идентификатор (имя) двоичного объекта;
- content-type — MIME-тип объекта.
В FB2 есть поддержка картинок в формате JPG (тип image/jpeg) и PNG (тип image/png). Формат GIF не поддерживается. Файл для обложки обычно называют cover.jpg.
Заметка! Где заказать обложку для книги.
Если Вы заметили, в формате FB2 отсутствуют теги, с помощью которых можно разметить как нумерованные, так и маркированные списки, это является одним из недостатков данного формата. Иными словами, если Вам нужно сделать список, Вы это будете делать вручную в виде текста, никаких специальных элементов в FB2 для этого нет.
Примечание! Если у Вас итоговая книга отображается на устройстве не так, как Вы ожидаете, это означает, что Вы допустили ошибку в разметке, например, не закрыли тег или неправильно его написали. В этих случаях возможно некорректное отображение всей книги, включая обложку, т.е. она может просто не отображаться (только из-за того, что в разметке ошибка, которая даже не связана с обложкой). Поэтому после формирования книги следует проверять ее на предмет наличия ошибок (существуют специальные валидаторы, некоторые программы по созданию FB2 обладают встроенным таким функционалом).
Пример разметки электронной книги в формате FB2
Сейчас я приведу отрывок исходного текста книги, размеченного с помощью формата FB2.
Заметка! В примере отрывок книги «Как стать программистом? 14 советов по достижению поставленной цели», эту книгу написал я, она предназначена для тех, кто хочет стать программистом, в ней представлен последовательный план действий.
<?xml version="1.0" encoding="utf-8"?> <FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0" xmlns:l="http://www.w3.org/1999/xlink"> <description> <title-info> <author> <first-name>Виталий</first-name> <last-name>Трунин</last-name> </author> <book-title>Как стать программистом?</book-title> <annotation> <p>Многие хотят стать программистом, и также многие не знают, как это сделать, не знают, в каком направлении двигаться и что конкретно нужно делать, поэтому я хочу поделиться с Вами своим опытом становления программистом и результатом анализа этой темы. В этой книге представлены универсальные практические советы, рассмотрен конкретный план действий, который поможет Вам стать программистом. В ней рассмотрено всё, что нужно делать для того, чтобы стать полноценным разработчиком программного обеспечения. Книга не научит Вас программированию, но после ее прочтения Вы будете четко знать, как двигаться дальше, если Вы хотите стать программистом.</p> <p>Виталий Трунин – ведущий специалист в области разработки баз данных и программирования на языке T-SQL, основатель, разработчик и администратор сайта Info-Comp.ru.</p> </annotation> <coverpage> <image l:href="#cover.jpg" /> </coverpage> <lang>ru</lang> </title-info> <document-info> <author> <first-name>Виталий</first-name> <last-name>Трунин</last-name> </author> <id>20181105110000</id> <version>1.0</version> </document-info> <publish-info> <book-name>Как стать программистом?</book-name> </publish-info> </description> <body> <section> <title> <p><strong>Предисловие</strong></p> </title> <epigraph> <p>«Избегайте тех, кто пытается подорвать Вашу веру в себя. Эта черта свойственна мелким людям. Великий человек, наоборот, внушает Вам чувство, что и Вы можете стать великим».</p> <text-author>Марк Твен</text-author> </epigraph> <empty-line/> <p>Здравствуй, уважаемый читатель!...</p> </section> </body> <binary id="cover.jpg" content-type="image/jpeg"> Данные файла в формате BASE64 </binary> </FictionBook>
У меня на этом все, надеюсь, статья была Вам интересна, пока!
Любители электронных книг хотя бы раз сталкивались с форматом FB2 и не понимали, как его открыть на компьютере. Для чтения FB2 доступно множество бесплатных программ, которые также отлично подойдут для текстовых файлов книг всех форматов. В нашей статье рассмотрим популярные «читалки» для ПК, планшетов и электронных книг на разных ОС.
Содержание
- Что стоит знать о формате FB2;
- Чем открыть FB2 на компьютере;
- Как читать FB2 онлайн;
- Чем открыть FB2 на Андроид;
- Как открыть FB2 на iPhone.
Описание формата
FB2 – формат, представляющий электронные книги как XML-документ, в котором элементы описаны соответствующими тегами. Его призвание – достижение совместимости содержимого с любыми устройствами. С помощью XML быстро создаются документы. Они уже готовы к использованию, доработке и редактированию — все это делается через программы.
Документы с расширением FB2 помимо текста с присвоенными тегами содержат изображения, вложения и структурную разметку. Проблем с открытием формата на электронных книгах не возникает – соответствующее ПО установлено в них изначально. А вот при чтении с планшета или ПК на ОС Windows придется повозиться.
Просмотр FB2 на ПК
Для Windows разработаны десятки программ, сложнее обстоят дела с macOS и Linux. Чем читать FB2 скачанные на компьютер с данными операционными системами? Отметим популярные бесплатные утилиты и расширения:
- FBReader – универсальная программа для чтения документов формата FB2.
- Calibre – «читалка», открывающая все доступные форматы электронных книг.
Альтернативные решения – использование онлайн-конвертеров, с помощью которых FB2-файлы переводятся в читаемые для macOS и Linux форматы.
Некоторые капризные ридеры могут не запускаться на семерке, поэтому используйте программы, совместимые с вашей операционной системой. Чем открыть FB2 на Windows 7:
- Cool Reader;
- AlReader.
Загрузите и установите одну из программ, после чего нажмите на файл правой кнопкой и выберите пункт меню «Открыть с помощью», далее в списке кликните на соответствующую программу. Обратите внимание: AlReader помимо чтения позволяет редактировать файлы в формате FB2.
Чтобы открыть FB2 на Windows 10, установите расширение из Microsoft Store или используйте отмеченные выше программы. Дальше алгоритм тот же: файл попытается открыться в стандартном редакторе, чтобы этого не произошло необходимо изменить программу для открытия по умолчанию. Для этого щелкните на документ правой кнопкой мыши, выберите пункт меню «Открыть с помощью», после чего кликните на загруженный ридер.
Открыть FB2 онлайн
В интернете достаточно сервисов, способных открыть файл FB2 онлайн, представляем самые удобные из них:
- Omni Reader доступен без регистрации – загрузи книгу и читай;
- Bookmate – удобная онлайн-библиотека, но необходимо зарегистрироваться (это быстро, можно даже через ВКонтакте).
Еще один вариант – установка расширения FB2 Reader в браузер, его поддерживает Google Chrome, Firefox и многие другие. Данное расширение импортирует файл для чтения на отдельной вкладке.
Открыть FB2 на Android
Для тех кто не знает как читать FB2 на Android даём подсказку: «Play Книги» входит в базовый пакет предустановленных приложений системы. Если вы его уже попробовали, и оно вам не подходит, ловите самые популярные «читалки» для смартфонов и планшетов:
- Bookmate
- eBoox
- Moon + Reader
Открыть FB2 на iPhone
На iOS не густо с качественными ридерами, но нам понравилось приложение i2reader. Работает с большим количеством расширений: FB2, EPUB, DOC, DOCX, PDF (текст), RTF, HTML, и plain text. Поддерживает словари, автопрокрутку, автопереносы и многие другие удобства.
Если вы любите читать и ищите интересную вам литературу в интернете, то, безусловно, сталкивались с форматом fb2.
Довольно большое количество электронных книг, доступных в интернете, представлено в этом формате.
Формат fb2 (или FictionBook) изначально создавался именно как формат для представления электронных версий книг и со временем получил заслуженную популярность. Файлы формата fb2 позволяют сохранять форматирование текста и могут содержать изображения, например, обложку или иллюстрации.
Чем открыть fb2
Скачать нужную книгу несложно, но чем открыть файл fb2?
Если вы предпочитаете чтение на специальном портативном устройстве (электронном ридере, см. фото слева), то проблем, скорее всего, не возникнет. Многие современные электронные ридеры по умолчанию умеют работать с форматом fb2.
Но все же иногда возникает необходимость пересохранить электронную книгу в формат, понятный ридеру. Например, довольно популярная электронная читалка Kindle не поддерживает fb2, но замечательно работает с другими популярными форматами.
Файлы fb2 имеют четкую структуру и это позволяет их без труда конвертировать (сохранять) в другие популярные форматы, такие как txt, doc, rtf и т.д.
О том, как конвертировать fb2 в mobi (формат поддерживается читалкой Kindle), в простой текстовый файл txt или документ Word, я расскажу чуть позже.
Сейчас давайте разберемся с тем, чем открыть fb2 на Windows, то есть какая программа для чтения fb2 должна быть установлена на компьютере.
Программа для чтения fb2 на компьютере
Существует довольно много программ для чтения fb2 на компьютере. В свое время я записал видео о программе FBReader и, с моей точки зрения, это неплохая читалка.
Программа поддерживает не только fb2, но и другие популярные форматы электронных книг, такие как epub, mobi, html, и др.
Кроме этого, через программу можно получить доступ к бесплатным и платным каталогам электронных книг. То есть можно искать и скачивать книги прямо из программы.
Это абсолютно бесплатная программа, имеющая версии для разных операционных систем, в том числе и мобильных. Если на вашем телефоне нет приложения для чтения книг в формате fb2, то можете попробовать мобильную версию этой программы.
Как я уже упомянул, некоторое время назад я записал видео о FBReader. Интерфейс программы с тех пор не изменился, поэтому видео еще актуально (смотреть с 3:32)
Как создать fb2
Ну а если хочется не только читать электронные книги, но и создать fb2 книгу самостоятельно? Давайте поговорим о том, как создать fb2 файл или как сохранить свой текстовый документ в fb2.
Для создания электронной книги нужно воспользоваться любым текстовым редактором, например, всем хорошо известным Microsoft Word.
Создайте текстовый документ по всем правилам — с заголовками, форматированием, иллюстрациями и т.д. Затем сохраните его в обычном формате программы Ворд — формат doc или docx.
Ну а теперь нам просто нужно создать fb2 из doc или docx. Для этих целей нам понадобится программа, которая позволит конвертировать файл в fb2.
Конвертируем fb2
Итак, нам нужно создать книгу в формате fb2 из вордовского документа или у нас уже есть книга в fb2 и ее нужно перевести в какой-то другой формат, например, epub, mobi, txt или в формат Word.
Воспользуемся программой-конвертером. Подобных программ существует множество и одна из них — Calibre. Эта программа предназначена для конвертации электронных книг под конкретные устройства, но она поддерживает довольно много форматов и имеет весьма обширный функционал, поэтому подойдет и для простого перевода электронной книги из одного формата в другой.
Программа бесплатна и имеет версии для разных операционных систем. При желании можно скачать даже портативную версию, которая не требует установки.
При запуске программы нам будет предложено выбрать папку, в которую будут помещаться вновь созданные файлы.
Затем откроется мастер, который позволяет адаптировать сконвертированные электронные книги под определенное устройство. Если вы конвертируете книгу именно для электронной читалки или сматрфона, то можно этим воспользоваться, выбрав свое устройство в списке.
Если же вам просто нужно перевести файл из одного формата в другой, то выбираем «Generic».
При необходимости этот мастер вы всегда можете запустить через Параметры.
Ну и теперь добавляем в программу книги, которые хотим конвертировать в другой формат. Продемонстрирую на примере вордовского файла, который я только что создал.
Нажимаем на кнопку «Добавить книги» и находим нужный файл (или файлы) на диске компьютера.
Далее нажимаем на кнопку «Преобразовать книги» и выбираем тот формат, который нам нужен.
Меня интересует fb2, но обратите внимание, что здесь есть не только стандартные форматы электронных книг вроде epub, mobi или PDF.
Если у нас есть книга в формате fb2, то мы можем конвертировать fb2 в Ворд, то есть в формат docx программы Microsoft Word.
Нажимаем ОК и процесс конвертации начинается.
После того, как конвертация будет закончена, мы можем зайти в папку (которую указали в мастере при запуске программы) и обнаружим тут подпапку, в которой будут находиться оригинальный файл и только что сконвертированный файл в формате fb2.
Как конвертировать PDF или DjVu в fb2
Ну и не могу не затронуть вопрос, который довольно часто возникает при рассмотрении формата fb2 — как конвертировать PDF в fb2?
Тут нужно понимать, что PDF — формат универсальный. В него можно сохранить и текст из Word, и картинки с помощью виртуального принтера, и любой другой документ.
Соответственно, отсканированное изображение, которое для вас будет выглядеть как текст, на самом деле будет именно картинкой. Сохранить картинку как текст невозможно, точнее сказать — можно, но не простым конвертированием.
Есть специальные программы, позволяющие распознать текст с отсканированных страниц. Одна из, пожалуй, наиболее известных программ — это Abbyy FineReader.
По этой причине, если вам нужен именно текстовый документ в формате fb2, то придется проделать ряд действий:
- Распознать текст из PDF с помощью программы FineReader или аналогов
- Сохранить текст в Word и доформатировать его (обычно в этом есть необходимость)
- Конвертировать docx в fb2, то есть перевести вордовский файл в нужный формат, например, с помощью программы Calibre.
Это довольно трудоемкое занятие, поэтому, перед тем, как все это затевать, стоит подумать — а есть ли в этом смысл? Может проще работать с PDF?
Правда, если PDF файл был создан из текстового документа, например, был сохранен как PDF в Word, то, скорее всего, можно выделить все содержимое документа, скопировать и вставить в новый вордовский документ. Кроме этого, опять же, есть специальные конверторы PDF в Word, которые могут облегчить эту задачу.
Ну а когда у нас есть вордовский файл, то мы его можем конвертировать в fb2.
Но хочу еще раз подчеркнуть, что успешно перевести PDF в fb2 получится лишь в одном случае — PDF создавался из текстового документа. Если PDF — это отсканированные страницы (программное обеспечение сканеров позволяет сохранять результат сразу в PDF), то вряд ли получится так легко решить эту задачу.
Все тоже самое касается и формата DjVu, который изначально предназначен для хранения отсканировнных документов. Просто так конвертировать DjVu в fb2 не выйдет и придется воспользоваться описанным выше алгоритмом — распознать, сохранить в docx, конвертировать в fb2.
Инструкция для загрузки и чтения электронных книг
Простая инструкция поможет вам загрузить и читать электронные книги на iPhone и Android.
- Установка читалки для электронных книг
- Загружаем и читаем книги на iPhone
- Загружаем и читаем книги на Android
Установка читалки для электронных книг
Выбор читалки для ifone
Мы остановились на бесплатной программе Ebooх. Нет назойливой рекламы, жестко не привязана к платным библиотекам и магазинам. Легко найти в Apple Store. Установка стандартна, как и для все других «яблочных» программ.
Выбор читалки для android
Для андроидов мы выбрали также бесплатную версию Ebooх new. Та же легкодоступная программа, позволяет пользоваться любыми книгами в электронном формате. Установка стандартна.
Выбор формата файла электронной книги
Формат PDF удобен для настольных компьютеров и ноутбуков. Не требует установки специальных читалок. Но явно проигрывает EPUB и FB2 на мобильных устройствах. Читать то читает, да невозможно подогнать страницу под экран.
Формат FB2 хорош для мобильников, но не читает оглавление. Поэтому пробежаться быстро по содержанию не удастся.
Формат EPUB предпочтительнее всех вариантов. Видит оглавление, показывает иллюстрацию главной страницы. Работает, как и в формате FB2, поиск.
Загружаем и читаем книги на iPhone
Загружаем FB2 или EPUB в iBoox через приложение «Почта» на iPhone
Пришел файл в формате fb2 на почту. Открываем почту.
Касаемся значка прикрепленного файла.
Вам откроется сплошная абракадабра:
Найдите в верхнем правом углу вот такой значок
Касаемся его.Появится меню:
Выбираем «Скопировать в «eboox». Все.
Чтобы начать читать, надо закрыть и заново открыть eBoox, если он был ранее открыт.
Загружаем EPUB через Safari на iPhone
Открываем Safari, входим в свою почту.
Касаемся значка прикрепленного файла.
Вам откроется окно с такой надписью:
Не переживаем, касаемся стрелочки вниз.Появится вот такой экран:
Нажимаем на надпись «Открыть в программе eBoox». Все, книга добавлена в вашу библиотеку.
Загружаем и читаем книги на Android
Загружаем FB2 или EPUB
Открываем почту, жмем значок файла книги
Появляется такой экран:
Не смущаемся, нажимаем вверху стрелочку, которая показывает вниз. Появляется меню «Сохранить» с именем файла. Нажимаем ОК. Начинается загрузка, в конце скажет «Загрузка завершена». Затем открываем нашу читалку «eBoox new» и нажимаем кружок с плюсом:
Появляется такой экран. Нажимаем «Добавить книгу».
И видим список всех загруженных книг. Выбираем нужную. Нажимаем ОК и книга у вас в библиотеке.
И пользуемся накопленным для вас богатством образов!
Центра сновидений