今回も前回に引き続いてEPUBのネタです。前回はpandocを使ってプレーンテキストとHTML形式をEPUB形式に変換しました。今回はワードファイルやマークダウン形式のファイルをEPUB形式に変換してみます。

前回と同様に変換するテキストファイルや変換後のEPUBデータなどはデスクトップ上にあるsampleディレクトリを利用します。sampleディレクトリがデスクトップ上にない場合はmkdir ~/Desktop/sampleのようにコマンドラインで作成するか、GUIでフォルダとして作成してください。あとはcd ~/Desktop/sampleのようにコマンドを入力して作成したsampleディレクトリをカレントディレクトリとします。

今回も画面はmacOSをベースにしていますが、入力するコマンド等は他の環境でも同様です。

マイクロソフトワード形式から変換

 マイクロソフトワードは多くの場面で使われているため慣れている人も多いでしょう。UNIX系であればOpenOffice, LibreOfficeなどを使用している人もいるかもしれません。
 ここでは、この連載の第一回の最初の方のテキストと図をマイクロソフトワードで用意しました。前回扱ったHTML形式のh1,h2,h3は、見出し1、2、3のように設定されています。

マイクロソフトワード形式からEPUB形式に変換するには以下のようにコマンドを入力します。

pandoc 1.docx -o 1.epub

変換が終わったらEPUBビューアーで確認してみましょう。

確認するとテキストは反映されていますが、画像が1つもありません。これはワードファイルで画像がリンクされている場合に発生する現象です。これを修正するには画像を埋め込み形式にします
。 埋め込み画像かどうかを確認するにはmacOSならOptionキー+F9キー、WindowsならAltキー+F9キーを押します。画像が埋め込まれている場合、画像には何も変化はありません。

画像がリンクされている場合は以下のようにリンクパスが表示されます。

画像をすべて埋め込んでから変換すると以下のようになります。

pandoc 2.docx -o 2.epub

EPUBビューアーで確認すると今度は図も反映されています。

なお、文字の装飾などは、そのままでは変換されません。ここらへんは一旦HTMLに変換して処理した方がよいかもしれません。

マークダウン形式からEPUB形式に変換

 次にマークダウン形式(拡張子は.md)のファイルを用意しEPUB形式に変換してみます。前回用意したプレーンテキスト(1.txt)を複製し1.mdというファイル名にします。

マークダウン形式ではHTMLの見出しを#の数で示します。#だけなら見出し1(<h1>)、##なら見出し2(<h2>)、###なら見出し3(<h3>)のようになります。1.mdの先頭の見出しを指定すると以下のようになります。なお#の後には半角空白を入れないと見出しとして認識されず#がそのまま変換されてしまいます。

# 第1回 なんとなくコマンド
## コマンドを入力するターミナル

### ●はじめに

 次に画像の部分です。画像を指定するには![]()を使います。[]の中には代替テキストを指定します。代替テキストがない場合は何も書く必要はありません。()内には画像がある場所(ファイルパス)を指定します。ファイルパスはマークダウンファイルがあるディレクトリからの相対パスで指定します。(他にも絶対パス等の指定ができます)
 以下のようにするとimagesディレクトリ内にある1.pngファイルの画像を示すことになります。

![](images/1.png)

 これを踏まえて画像の部分を指定すると以下のようになります。

今回はシンプルなので、これで準備完了です。マークダウン形式のファイルをEPUB形式に変換するには以下のようにコマンドを入力します。

pandoc 1.md -o 3.epub

問題なく変換されたらEPUBビューアーで確認します。

もし期待通りの結果になっていない場合はマークダウン形式が間違っていないか確認し再度変換してください。

HTML形式からマークダウン形式に変換

 マークダウン形式をいちいち入力するのは面倒だと思う人がいるかもしれません。また、新たにマークダウン形式を覚えるのが面倒もしくは時間が取れない人がいるかもしれません。そんな時はpandocでHTML形式からマークダウン形式に変換することができます。

 以下のようにコマンドを入力すると1.htmlファイルを2.mdのマークダウン形式のファイルに変換します。

pandoc 1.html -f html -t markdown -o 2.md

変換したファイルをテキストエディタで開いてみましょう。期待通りのマークダウン形式になっている場合は良いのですが、そうでない場合はやはり手作業で修正することになります。今回の場合はシンプルな構成なので手書きのマークダウン形式とほぼ同じ結果になっています。

calibreでEPUB形式に変換する(macOS)

 ここまではpandocを使ってEPUB形式に変換しましたが、EPUB形式に変換できるものは他にもいくつかあります。ここではcalibreをインストールして使ってみましょう。
 まず、以下のようにコマンドを入力します。

brew install --cask calibre

無事にインストールが終わったらHTML形式からEPUB形式に変換します。以下のようにコマンドを入力します。

ebook-convert 1.html 4.epub

無事に生成されたらEPUBビューアーで確認します。pandocでの変換とは若干の違いがあります。

本のカバーを指定する場合は以下のようにオプションを指定します。EPUBビューアーで確認すると表紙画像が表示されています。

ebook-convert 1.html 5.epub --cover 1.png

著者名を追加する場合は以下のようになります。

ebook-convert 1.html 6.epub --authors "仲村 次郎"

EPUB形式のチェック

 EPUB形式のチェックを行うにはEPUBCheckをインストールして使います。macOSの場合は以下のようにしてインストールできます。

brew install epubcheck

インストールできたら以下のようにしてコマンドの後にチェックしたいEPUBファイルを指定します。

epubcheck 1.epub

今回はここまでです。EPUB形式でなくてPDFでもよいのではないかと思う人がいるかもしれません。EPUB、PDFそれぞれ良いところと悪いところがあります。電子書籍でも作成する本の種類に応じて使い分けるのが良いのではないかと思います。

それでは、また次回。

著者 仲村次郎
いろいろな事に手を出してみたものの結局身につかず、とりあえず目的の事ができればいいんじゃないかみたいな感じで生きております。