EPUB電子書籍の圧縮・解凍
昔(まだWindowsを使っていた2013年頃)にEPUB編集ツールのsigilを使って自炊したEPUB2ファイルが幾つかあります。(sigilはEPUB3に対応してなかったので、今は使っていません。自作ソフトを使っています。)
EPUB2の電子書籍から中身を取り出してEPUB3で作り直したくなったのですが、そのためにはEPUB2ファイルを解凍してテキストを取り出さなくてはなりません。
ところが、EPUBファイルの圧縮・解凍の方法についてすっかり忘れてしまっていました。
そこで、今後のこともあるのでソフトを使わないでEPUBファイルの圧縮・解凍する方法を備忘録として記事に残すことにします。
(ubuntuを前提にしています)
EPUBファイルの圧縮
EPUBファイルは次の様な構造になっています。
book フォルダー mimetype META-INF フォルダー container.xml item フォルダー standard.opf navigation-documents.xhtml image フォルダー stype フォルダー xhtml フォルダー
上記構造のままbookフォルダーをzipで圧縮したものがEPUBファイルになります。但し単純に圧縮したものではなく、上記の中のmimetypeという名前のファイルについては圧縮しないことになっています。そこで少し手間が増えますが次の手順を踏んで圧縮することになります。
圧縮前のEPUBファイルが入っているフォルダーをカレントデイレクトリにします。
ZIPアーカイブを新規に作成して、そこに圧縮しないでmimetypeファイルを入れます。
$ zip -0Xq my-book.epub mimetype
これでmy-book.epubという入れ物が作られて、ここに圧縮されていないmimetypeが格納されます。- 残りの部分をすべて圧縮して、ZIPアーカイブに入れます。
$ zip -Xr9Dq my-book.epub *
以上でmy-book.epubという名前のEPUB電子書籍が出来ます。
参考:上記zipコマンドのオプションの意味は以下の通りです。
-0 store only -X eXclude eXtra file attributes -q quiet operation -r recurse into directories -9 compress better -D do not add directory entries
EPUBファイルの解凍
解凍はとても簡単です。