今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

EclipseでePub3の電子書籍を作る方法

電子書籍を作ろうと思ったので、以下のサイトを参考にしつつやってみた。
http://www.kobu.com/docbook/index.htm

まずは上記サイトの最初にある docbooksample.zip をダウンロードして解凍。これを Eclipse のプロジェクトとしてインポートする。

以下のライブラリが必要なので、ダウンロードして適当な場所に解凍しとく。
Amazon.com Message
Apache(tm) FOP Version 1.0
DocBook - Browse Files at SourceForge.net
http://info.jepa.or.jp/document/epubcheckj

適当なところってことで、自分のホームの下に lib ディレクトリを作って、そこに置いた。

$ ls -la lib
total 0
drwxr-xr-x   7 satoshi  staff   238  6 15 11:25 .
drwxr-xr-x  84 satoshi  staff  2856  6 10 12:21 ..
drwx------@ 13 satoshi  staff   442  6 15 11:24 KindleGen_Mac_i386_v2_9
drwxr-xr-x@  3 satoshi  staff   102  6 15 11:22 docbook-xsl-1.78.1
d---------   9 satoshi  staff  306  9 23  2013 epubcheck-3.0-ja
drwxr-xr-x@ 17 satoshi  staff   578 10 16  2012 fop-1.1

なんか、パーミッションが謎なので、変更しとく。

$ chmod -R 755 *

ant.xml を編集する。元の docbooksample.zip を解凍したものは Windows 環境で作られてて、ドライブ名を含む絶対パスで書かれてる。それをローカル環境に合わせる。
Macにhhcはないから削除。

	<!-- local setup necessary for windows and eclipse -->
	<property name="home" value="/Users/satoshis/"/>
	<property name="fop.home" value="${home}/lib/fop-1.1"/>
	<property name="docbook-xsl.home" value="${home}/lib/docbook-xsl-1.78.1"/>
	<property name="kindlegen" value="${home}/lib/KindleGen_Mac_i386_v2_9/kindlegen"/>
	<property name="epubcheck.jar" value="${home}/lib/epubcheck-3.0-ja/epubcheck-3.0-ja.jar"/>

build.xml は、default="doc2pdf" になってるので、そこを epub を出力するようにで修正。

<project name="doc2pdf" default="zip-epub" basedir=".">

Eclipse の設定で変更してもいい。

build.xml を右クリックして Ant build を実行してみるとエラーが出る。最終的には BUILD SUCCESFUL にはなるんだけど。

xsl/docbook-epub.xsl 内に、Windows絶対パスを記述子してあるけど、それに相当するファイルが見つからないので、xsl:import はコメントアウトしてみた。

それでビルドしてみたら、BUILD SUCCESSFUL になったのでとりあえずOK。

sample.epub をダブルクリックすると iBook が起動したけど、カバーをクリックしても本を開けなかったけど、App Store から Kindle をインストールしてみたらきちんと読めた。

あとは xml/sample.xml を編集すればいいのかな。

Amazonは、mobiだったか。。。