Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
7
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

epub 3のファイルフォーマットその1

この記事はePub Advent Calendar 2015の2日目です。

epub3の中身

電子書籍(epub)ファイルはzip形式でOCF ZIP コンテナと呼びます。

どのepubファイルも
1. mimetype
2. META-INF/container.xml
の二つはファイルエントリに含まれます。

サンプル.PNG

mimetype

mimetype
application/epub+zip

メディアタイプを書きます。type/mediaTypeName[+suffix]
typeがapplication
mediaTypeNameがepub
suffixがzip

META-INF/container.xml

META-INF/container.xml
<?xml version="1.0"?>
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
   <rootfiles>
      <rootfile full-path="opfファイル" media-type="application/oebps-package+xml"/>
   </rootfiles>
</container>

OCF 抽象コンテナ(META-INFディレクトリ)にcontainer.xmlが入っています。
rootfileタグのfull-path属性にOCF ZIP コンテナからopfファイルへのフルパスを書きます。

ここから先の追加ファイルはOCF 抽象コンテナ(META-INFディレクトリ)以外で作る人の好きな所にファイルを設置できます。

IDPFのサンプルではOPSディレクトリにpackage.opfを設置しているので

META-INF/container.xml
<?xml version="1.0" encoding="UTF-8"?>
<container xmlns="urn:oasis:names:tc:opendocument:xmlns:container" version="1.0">
  <rootfiles>
    <rootfile full-path="OPS/package.opf" media-type="application/oebps-package+xml"/>
  </rootfiles>
</container>

full-path属性はOPS/package.opfになります。
以上、epubファイルの中身に必ずある2個のファイルでした

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
7
Help us understand the problem. What are the problem?