今回はコマンドラインからEPUB形式に変換してみましょう。EPUB形式は電子書籍で使われている形式です。
・EPUB
https://www.w3.org/ecosystems/publishing/
https://ja.wikipedia.org/wiki/EPUB
EPUBにはいくつかバージョンがありますが、今回はバージョンに関しては問わないものとします(最後のおまけの例のみEPUB3)。特にビューアーなどの関係もあるので変換した結果が期待通りにならない可能性があります。ここらへんはご容赦ください。
それでは、いつものようにコマンドを使ってプレーンテキストをEPUB形式に変換してみましょう。変換するテキストファイルや変換後のEPUBデータなどはデスクトップ上にあるsampleディレクトリを利用します。sampleディレクトリがデスクトップ上にない場合はmkdir ~/Desktop/sampleのようにコマンドラインで作成するか、GUIでフォルダとして作成してください。あとはcd ~/Desktop/sampleのようにコマンドを入力して作成したsampleディレクトリをカレントディレクトリとします。
pandocのインストール(Raspberry PI/Linux)
EPUB形式に変換するためにはツールをインストールする必要があります。ここでは、まずpandocを使ってみます。
https://pandoc.org/
まず、ラズベリーパイにインストールしてみましょう。以下のようにコマンドを入力します。
sudo apt update
sudo apt upgrade -y
アップデートが終わったら、以下のようにコマンドを入力します。
sudo apt install pandoc -y
正常にインストールされたか確認します。以下のようにコマンドを入力します。指定するオプションは--versionでなく-vでも構いません。
pandoc --version
pandocのインストール(macOS)
次にmacOSにpandocをインストールします。macOSの場合、あらかじめbrewをインストールしておきます。
・Homebrew
https://brew.sh/ja/
brewがインストールされていない場合は以下のコマンドを入力します。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brewがインストールされていれば以下のコマンドを入力するとpandocがインストールされます。
brew install pandoc
正常にインストールされたか確認します。以下のようにコマンドを入力します。指定するオプションは--versionでなく-vでも構いません。
pandoc --version
プレーンテキストをEPUBに変換
まず簡単なところでプレーンテキストをEPUBに変換してみましょう。ここでは、この連載の第一回の最初の方のテキストを流用します。なお、以後の画面はmacOSをベースにしていますが、入力するコマンド等は他の環境でも同様です。
https://news.mynavi.jp/techplus/article/natonakucommand-1/
・1.txt
プレーンテキストからEPUBに変換するには以下のようにコマンドを入力します。
pandoc 1.txt -o 1.epub
コマンドを実行するとsampleディレクトリに1.epubというファイルが生成されます。macOSの場合はダブルクリックするとEPUBを閲覧できるアプリ(ブック)が起動し内容が表示されます。
なお、最初のページが真っ白になっていますが、これは表紙を指定していないためです。EPUBなのでPDFとは異なり文字サイズをある程度自由に大きくしたり小さくしたりといった調整ができます。
表紙画像を追加する
表紙が真っ白だと味気ないので、表紙画像を追加してみましょう。連載第一回の画像をsampleディレクトリに用意します。ここでは1.pngというファイル名にしてあります。
表紙画像を追加するには以下のようにepub-cover-imageオプションに追加する画像のファイル名(ファイルパス)を指定します。
pandoc 1.txt -o 2.epub --epub-cover-image=1.png
生成されたEPUBを確認してみましょう。最初のページに画像が追加されているのがわかります。
表紙だけでなく本のタイトルを追加する場合は以下のようにオプションを指定します。
pandoc 1.txt -o 3.epub --epub-cover-image=1.png --metadata title="なんとなくコマンド"
pandoc 1.txt -o 4.epub --epub-cover-image=1.png --metadata title="なんとなくコマンド" --metadata author="仲村次郎"
HTMLファイルから変換する
それでは次にHTMLファイルからEPUBを生成してみましょう。HTMLファイルは以下のようになっています。画像はimagesディレクトリ内に入れてあります。
HTMLファイルからEPUB形式に変換するには以下のようにコマンドを入力します。
pandoc 1.html -o 5.epub
生成されたEPUBファイルを確認すると見出しや画像がそのまま反映されていることがわかります。HTMLに詳しいならHTML形式からEPUB形式に変換した方がよいかもしれません。
HTMLなのでスタイルシート(CSS)を利用するとEPUBでもおおよそ反映されます。ここでは変換するHTMLファイルと同じ階層にbook.cssという名前のスタイルシートファイルを用意しました。このファイルの内容は以下のようになっています。これはh3要素(タグ)の文字を赤色にする設定です。
・book.css
h3 { color:red; }
スタイルシートファイルを反映させるには以下のようにオプションを指定します。
pandoc 1.html -o 6.epub --css=book.css
生成されたEPUBを表示するとh3要素(タグ)の部分の文字の色が赤色になっているのがわかります。
小説など縦書きにしたい場合もあります。EPUBビューアによっては縦書きが反映されませんが、EPUB3に対応していれば縦書きで表示されます。
縦書きにするには以下のようにスタイルシートとpandocのオプションを指定します。
・tate.css
html, body { writing-mode: vertical-rl; }
pandoc 1.html -o 7.epub --css=tate.css --metadata page-progression-direction=rtl
EPUBビューアーで確認すると左綴じで縦書きになっているのが確認できます。
長くなったので今回はここまでにしましょう。では、また次回。
著者 仲村次郎
いろいろな事に手を出してみたものの結局身につかず、とりあえず目的の事ができればいいんじゃないかみたいな感じで生きております。

















































