tsuda [学外公開] http://edu.tsuda.ac.jp/~mizutani/ home水谷 正大 Masahiro Mizutani

EPUBパッケージ方法

実際のEPUB書籍を調べてみよう。 東北大学の『生態適応科学』から[epub版ダウンロード]から入手する。 zipファイルを展開して seitaitekiou.epub が得られる。 [ePub版電子書籍を読む方法]では、iBookstoreや日経BPストアからダウンロードすることも紹介しているが、パソコンでダウンロードしたファイルをモバイル端末に転送してもよい(どれも同じファイルである) EPUB書籍の閲覧リーダによって書籍として読むことができる。

EPUBファイルはZip圧縮ファイルである

EPUBファイルの拡張子を .epub から .zip に変更してみよう。 .zip は、複数のファイルを1つにまとめてアーカイブ(archive)したり、さらにそれを可逆圧縮するZIPファイルフォーマットに付けられるファイル拡張子である。

演習
「生態適応科学」のEPUBファイルサイズは約12.5MB(正確には 12,538,537バイト)であることを確かめ、拡張子を .epub から .zip に変更してZIP展開しなさい(展開後は、再び拡張子を元の .epub に戻しておく)。 得られるフォルダ seitaitekiou のサイズ を調べてみなさい。

EPUBパッケージ化方法

EPUBファイルへのアーカイブ方法はOCF_2.0.1_draft.doc(EPUB 2.01)やOEBPS Container Format (OCF) 1.0(日本語訳)、または EPUB Open Container Format (OCF)(3.3 OCF ZIP Container Media Type Identification)に定義されている。 これをEPUBパッケージと呼ぼう。

EPUB書籍に必要なファイル群をフォルダ ebook 内に格納してあるとする。 これを拡張子 .epub が付いたEPUBファイル ebok.epub にするためのコマンド手順を紹介しよう。 以下、用語とディレクトリ(directory)をフォルダ(forder)と同じ意味で利用する。

  1. 作業ディレクトリをディレクトリ ebook 内に移動する。
  2. ファイル mimetype を非圧縮で ファイル名 ebook にZipアーカイブする
  3. それ以外の全てのフォルダ・ファイルを ZIPコンテナ ebook にZIP圧縮する

以上の操作をEPUBファイル群を格納したフォルダ ebook で実施するコマンドは以下のようになる。 コマンドをプロンプトを $ とし、これはコマンド入力には含めない。 2)の zip のオプションにある -) は「ハイフン+ゼロ」、 -X は「ハイフン+大文字X」、また 3)の -x は「ハイフン+小文字x」である。

$ cd ディレクトリebookへのディレクトリパス
$ zip -0 -X ../ebook.epub mimetype
$ zip -r ../ebook.epub * -x mimetype
$ cd ..

このコマンドの流れは次の意味がある。

  1. EPUBパッケージに必要なファイル群を収めたフォルダ ebook 内へ作業ディレクトリを移動する。
  2. ファイル mimetype を一つ上の階層(フォルダ ebook の外側)に、 -0 で圧縮せず、-X でZIPヘッダにはextra fieldを付かない(ファイル属性を付けない)で ZIPコンテナ ebook.epub として保存する。
  3. 一つ上の階層(フォルダ ebook の外側)に、-x でファイル mimetype を除外した、全てのファイルを -r で再帰的に(フォルダ内も含めて)ZIPコンテナ ebook.epub として圧縮保管する。
  4. 作業ディレクトリを目的フォルダの外側に移動して処理を終える。
演習
「生態適応科学」のEPUBファイルを展開して得られたフォルダ seitaitekiou をebook に名称変更したうえで、その中にあるファイル群を精査しなさい。 これを上の手順でEPUBパッケージ化して、EPUBファイル ebook.epub を作成し、これをEPUBリーダで閲覧してみなさい。

EPUBパッケージ化アプリケーション

EPUBパッケージ化をGUIで行うアプリケーションもある。

MacOS
ePub Packager(有料400円)
ePub Zip/Unzip(無料)
Windows
ePubPack(無料)