こうかの雑記

こうかの雑記

昔の懐かしいこと、ubuntuのこと、その他いろいろ

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という名前のファイルについては圧縮しないことになっています。そこで少し手間が増えますが次の手順を踏んで圧縮することになります。

  1. 圧縮前のEPUBファイルが入っているフォルダーをカレントデイレクトリにします。

  2. ZIPアーカイブを新規に作成して、そこに圧縮しないでmimetypeファイルを入れます。
      $ zip -0Xq my-book.epub mimetype
      これでmy-book.epubという入れ物が作られて、ここに圧縮されていないmimetypeが格納されます。

  3. 残りの部分をすべて圧縮して、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ファイルの解凍

 解凍はとても簡単です。

  1. EPUBファイルの拡張子をepubからzipに書き直します。(これが肝心)
  2. GUIで解凍方法場合
      ファイラーでEPUBファイルを選択して、「ここで展開する」又は「展開先」を選択すれば解凍できます。
  3. コマンドで解凍する場合
      $ unzip 電子書籍名.zip