При поддержке Bookmate

Для гиков

EPUB изнутри

На самом деле EPUB — это ZIP-файл, сжатый особым образом. В этом легко убедиться: измените расширение любого файла .epub на .zip и разархивируйте его любым архиватором. Внутри этого архива вы обнаружите файлы содержимого книги (в формате XHTML), дополнительные файлы иллюстраций, шрифтов и т. д. и обязательные вспомогательные файлы, которые стандарт EPUB требует для описания книги.

Минимальный набор файлов, который входит в EPUB (речь о EPUB 2, пока самом распространённом, который с большей или меньшей гарантией будет прочитан любой программой или устройством, поддерживающим EPUB), должен быть следующим:

  • файл mimetype, единственный из файлов EPUB, который остаётся несжатым в составе архива, с одной единственной строчкой application/epub+zip
  • папка META-INF с файлом container.xml, который указывает, где хранится содержимое книги,
  • папка OEBPS, в которой должны быть:
    • файл с метаданными книги, списком всех файлов, которые нужны для ее содержимого, описанием последовательности чтения файлов и путеводителем по ключевым файлам (обычно он называется content.opf ),
    • файл toc.ncx, содержащий оглавление книги в том виде, в котором оно будет прочитано программой для чтения,
    • файл stylesheet.css с описанием стилей оформления текста,
    • собственно файлы содержимого,
    • папка с иллюстрациями и, возможно, папка со шрифтами.

EPUB для продвинутых пользователей

Программисту и гику разобраться в том, что такое EPUB, будет совсем несложно. Достаточно ознакомиться со спецификацией формата на сайте International Digital Publishing Forum. Советуем, однако, прочитать краткие руководства, написанные известным специалистом по EPUB Лайзой Дейли о формате EPUB 2 «Build a digital book with EPUB» и EPUB 3 «Create rich-layout publications in EPUB 3 with HTML5, CSS3, and MathML». Руководства предназначены в первую очередь для тех, кто знает, что такое XHTML и CSS и как ими пользоваться. Они будут полезны и тем, кто не хочет разбираться в тонкостях XML, но может столкнуться, к примеру, с проблемами при конвертации файлов верстки в EPUB. Если же информации вам недостаточно, то рекомендуем вам книги Джарета Бьюза «EPUB From the Ground Up: A Hands-On Guide to EPUB 2 and EPUB 3», Лизы Кастро «EPUB: Straight to the Point», «From InDesign CS 5.5 to EPUB and Kindle» и Пэрайи Бёрка «ePublishing with InDesign».

Теперь, если вы смогли дочитать это руководство до конца, то вы и в самом деле можете открыть текстовый редактор, создать все эти файлы, например, в директории MY-EBOOK. Имейте в виду, что размер каждого текстового файла в EPUB 2 не должен превышать 260 Кб. (Этого ограничения уже нет в EPUB 3, однако свои ограничения накладывают платформы для дистрибуции.) Вся книга может быть практически любого размера, но состоять она должна из отдельных частей.

Теперь осталось упаковать файлы таким образом, чтобы файл mimetype оказался в архиве первым и несжатым, а все остальные файлы сохранили структуру папки. Для этого надо перейти в папку с файлами для EPUB и выполнить две команды:

$ zip -0Xq my-book.epub mimetype

$ zip -Xr9Dq my-book.epub *

На выходе у вас получится файл электронной книги my-book.epub. Не забудьте проверить его — с помощью утилиты epubcheck или воспользовавшись онлайновым валидатором IDPF. Кроме того, вы можете воспользоваться онлановым сервисом FlightDeck, чтобы узнать, как можно улучшить вашу книгу (с технической точки зрения, естественно).

Готово!

Для тех, кто всё это смог сделать, рекомендуем, чтобы не мучиться с обычными текстовыми редакторами, использовать для производства EPUB-файлов специализированные редакторы: Sigil, BlueGriffon EPUB Edition или oXygen XML Author.

Sigil — не слишком сложный редактор, позволяющий с нуля сделать EPUB 2 или отредактировать его; при этом изменения файлов контента (добавление или удаление текстовых файлов, файлов шрифтов и т. д.) программа автоматически внесёт в content.opf и toc.ncx.

Они все не идеальны. Sigil не слишком устойчив в работе, не всегда корректно отображает шрифты и т. д. Кроме того, разработчик Sigil прекратил его разработку и посоветовал следить за тем, как развивается calibre. BlueGriffon EPUB Edition, разработанный на основе HTML-редактора BlueGriffon, несмотря на многие удобные функции (вёрстка формул, расширенный редактор CSS, создание файлов в формате EPUB 3 и др.), не позволяет проверять и редактировать служебные файлы EPUB. Редактор oXygen XML Author — вариант программы oXygen XML Editor, мощного XML-редактора, предназначенного для работы со структурированными данными индустриальных масштабов. Это и его минус — для вёрстки электронных книг его функции избыточны, а в настройках легко разберется только профессионал в XML.