gitbookでPDF/epub出力できるようにする(calibre)
前回の記事によりmarkdownファイルをgitbookでHTML化できるようになったわけですが、せっかくなのでPDFでも出力できるようにします。
gitbookからPDF化するにはCalibreを使う
gitbookのgithubページには、eBookへの出力について次のように書いてあります。
eBook: You need to have ebook-convert installed. You can specify the eBook filename as the second argument, otherwise book will be used.
gitbookではコンバートに「Calibre」というツールに含まれる「ebook-convert
」コマンドを使うとのこと。CalibreはGUIを持った高機能な電子書籍管理アプリで、コンバート機能は補助的なもののようです。
calibre is a free and open source e-book library management application developed by users of e-books for users of e-books. It has a cornucopia of features divided into the following main categories:
参考までにWikipediaからも引用。
Calibreとはフリー・アンド・オープンソースの電子書籍ソフトウェアであり、電子書籍を保存や管理を行うことが可能で、多数のフォーマットに対応している。またDRMのかかった電子書籍を他のフォーマットへ変換でき、数種類の主な電子ブックリーダーと同期することができる。
Calibreのインストール
ということで、Calibreをインストールします。ダウンロードページからOS X版のインストーラが入ったdmgファイルをダウンロードします。バージョンは2.49.0でした(2016/01/20時点)。dmgの中には.appファイルが入っているので(ちゃんと署名されていました)、/Applicationsにコピーするだけです。
Calibreの初回起動時は管理ディレクトリやcontent serverの起動を尋ねられますが、今回はコンバートにだけ利用する予定なので、何もさせないよう適当な値を入れつつインストールしました。ただしそれだけだと目的のebook-convert
コマンドが使えないので、calibre.app下にパスを通しておきます。
export PATH=/Applications/calibre.app/Contents/MacOS:$PATH
あ、公式ドキュメントの「2.3 ebook-convert」にもパスの通し方について記載がありました。こちらはebook-convert
コマンドだけをシンボリックリンクで外に出していますね。
Download the Calibre app. After moving the calibre.app to your Applications folder create a symbolic link to the ebook-convert tool:
$ sudo ln -s ~/Applications/calibre.app/Contents/MacOS/ebook-convert /usr/bin
You can replace /usr/bin with any directory that is in your $PATH.
どちらでも好きな方でよいと思います。 以上で準備完了です。
PDFへのコンバート
コンバートするには、gitbook
コマンドに「pdf
」オプションを付けるだけです。htmlのときのbuild
オプションの代わりに指定します。
% gitbook help build [book] [output] build a book --format Format to build to (Default is website; Values are website, json, ebook) --log Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled) pdf [book] [output] build a book to pdf ←PDF化はこちらを使う --log Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled)
簡単に試してみました。
$ mkdir ~/mybook && cd ~/mybook $ gitbook init # 初期化(README.mdとSUMMARY.mdの作成) $ gitbook pdf # PDF化 $ ls README.md SUMMARY.md book.pdf
book.pdfが出来上がっていることを確認できました。
追加調査とまとめ
簡単な文章で試したところ、日本語はおおむね大丈夫でしたが絵文字「😄」はHTMLと異なり空白で表示されるだけでした。
しかし簡単な作業でそこそこ整ったPDFができるので、これは便利そうです。