EPUBコンテンツやビューアアプリ開発者の皆様、epubcheckはちゃんと使ってますか?
epubcheckはEPUBファイルの正当性を検証するためのツールで、IDPFのサイトでも採用されるなど最もメジャーなツールです。
EPUB2とEPUB3のチェックに対応していて、自分が制作したEPUBコンテンツがEPUB仕様に則っているかどうか簡単にチェックすることができます。
コマンドラインツール、Javaライブラリ、Webサーバの3つの形態で利用することができますが、一般的にはコマンドラインツールとして使うことが多いと思いますので、その使い方をご紹介します。
準備
JRE 1.6以上を入れて、ダウンロードページからepubcheckをダウンロードして解凍しておきます。
基本の使い方
一番簡単な使い方は、以下のようにチェックしたいファイル名を指定するだけのものです。
$ java -jar epubcheck-3.0.jar mybook.epub
Epubcheck Version 3.0
No errors or warnings detected.
エラーがある場合はstderrに内容が表示され、終了コードが1になります。
OPFファイルだけチェック
EPUBを作っている途中などで、OPFファイルだけチェックすることもできます。
$ java -jar epubcheck-3.0.jar mybook/OPS/content.opf -mode opf -v 3.0
Epubcheck Version 3.0
WARNING: mybook/OPS/standard.opf/: File is validated as a single file of type opf and version 3.0. Only a subset of the available tests is run.
No errors or warnings detected.
modeには他にnav,xhtml,svgなども指定することができます。
作業ディレクトリの状態でチェック
EPUBを作成中、いちいちZIPにしないでそのままチェックすることができます。
$ java -jar epubcheck-3.0.jar mybook/ -mode exp
-save
オプションをつけると、ディレクトリをチェックするついでに、ZIPにしてEPUBファイルを作ってくれます。「mimetypeファイルを先頭に置くためにzipコマンドに-0
オプションをつけて...」などを毎回やらなくてすみます。
※カレントディレクトリにmybook.epubが生成されます。
$ java -jar epubcheck-3.0.jar mybook/ -mode exp -save
EPUBの生成をzipコマンドではなくてこの方法にすることで、うっかり間違ったEPUBファイルを生成してしまうことを予防できますね。
その他
-out
オプションを指定することで、いくつかの情報をXML形式で出力することができます。
$ java -jar epubcheck-3.0.jar mybook.epub -out result.xml
experimentalな機能なのでフォーマットは今後変わる可能性がありそうですが、タイトル・著者名などの基本的なメタデータは一通り取得できるので、簡易的なEPUBパーサーライブラリとしても使うことができそうです。
次回は、実際の運用でやりたくなる、epubcheckのカスタマイズをしてみます。