DITAからEPUBを生成する

今流行のEPUBを試してみました。
DITA-OTのプラグイン「dita4publishers」を使うと、DITAドキュメントから簡単にEPUBを出力できます。2年ほど前、このプラグインが出たばかりの頃に試したら、全然ダメだったのを記憶しています。あまり期待せずに試してみたら、結構イケルではありませんか。正直、驚きました。

生成環境は下記のとおりです。
・DITA-OT1.5.3 M5
・dita4publishers 0.9.16

参考までに、生成したEPUBのファイルをアップしておきます。
dita_ot_tips.epub 直

このEPUBの出力は、DITA-OTとdita4publishersのどちらにも、まったく手を加えていない状態で生成しました。図のキャプションが文字化けしていたり、レイアウトが若干おかしくなっていたりと、要調整箇所がいくつか見受けられますが、この程度の問題であればすぐに修正できそうです。

EPUBを生成するためのAntビルドファイルはこんな感じになります。

<?xml version="1.0" encoding="UTF-8" ?>
<project name="dita2epub_j" default="dita2epub_j">
    <property environment="env" />
    <property name="path_to_dit_dir" value="${env.DITA-OT}" />
    <import file="${path_to_dit_dir}conductor.xml"/>
    <property name="outdir" value="${basedir}${file.separator}out"/>
    <property name="content.frame" value="contentwin"/>
    
    <target name="dita2epub_j" depends="use-init">
    <echo>dita2epub_j:  temp:${dita.temp.dir}
    </echo>
        <antcall target="dita2epub">
            <param name="transtype"         value="epub"/>
            <!-- @@@ args.inputに入力ファイルを指定する -->
            <param name="args.input"        value="${basedir}${file.separator}dita_ot_tips.ditamap"/>
            <param name="clean.temp"        value="yes"/>
            <param name="dita.extname"      value="dita"/>
            <param name="output.dir"        value="${basedir}${file.separator}out${file.separator}epub"/>
            <param name="dita.temp.dir"     value="${dita.temp.dir}"/>
        </antcall>
    </target>

    <target name="epub_clean" description="clean epub output">
        <delete dir="${basedir}${file.separator}out${file.separator}epub"/>
    </target>

</project>