【calibre】EPUBを正しくPDFに変換する方法

【calibre】EPUBを正しくPDFに変換する方法

スズキ

蔵書管理ソフトcalibreで、EPUBなどテキスト形式のファイルをPDF化する際、文字が見切れるなどしてうまく出力できないことがあります。その対策です。

見切れたPDF

calibreではEPUB→PDFの変換で、文字の見切れなどレイアウトが崩れることがよくあります。

それを解決した方法をここにまとめました。

注意事項

前提として、本記事の方法の限界点を述べておきます。

目次が引き継げない

目次に即アクセスできるのは電子書籍のメリットですが、この目次情報が失われます
(他に手段がない以上、今のところ許容しています。)

レイアウトは整わないことがある

レイアウトが整わないことがあります。

文字は読めますし、大抵はそれなりの品質のレイアウトになります。

しかしEPUBの段階で文章構造そのものが崩壊している書籍の場合、一律の設定によって適切なレイアウトを組むことは不可能です。レイアウトを整えるためには、Html/CSSの知識が若干必要になります。

使用するツール

  • calibre
  • Google Chrome
  • CubePDF Utility

EPUBをPDF化する手順

calibreでHTMLZ出力

HTMLZに変換します。
CSSは後で書き換えるため、追加CSS等の設定は不要です。

HTMLZをZIPに変更して解凍

HTMLZファイルの実態はZIPファイルです。
拡張子を.zipに変更し、解凍します。

HTMLZ解凍後

試しに、この状態で ChromeでPDF出力 の方法で印刷プレビューを表示してみます。

元のindex.html

このように、レイアウトが崩れています。
このレイアウトを整えるために、次の手順に進みます。

style.cssを置換

style.cssの内容を以下に書き換えます。

body {
  height: 200mm;
  width: 287mm;
}

h1 {
  margin: 8em 0 4em;

  /* 大見出しで改ページしたい場合は
  こちらの設定を有効化する */
  /* break-before: page; */
}

h2 {
  margin: 4em 0 2em;
}

img, image {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}

/* フォントサイズを変更したい場合は、以下のような設定を追加する */
/* p {
  font-size: 3em;
} */

この設定にこだわるほど、見栄えは良くなります。
とりあえず最低限の設定のみしてあります。(随時更新)

適用後、以下のように読める状態になりました。

正常な印刷プレビュー

なお、この設定は、縦書き対応していません。

縦書きに利があるのは、紙の本のように横に長い領域がある場合です。
多くのWebページがそうであるように、縦長の端末読む場合、横書きが自然なはずです。 日本語の本だからといって、縦書きにすればいいというものではないと考えています。

ChromeでPDF出力

Chrome(またはChromium系ブラウザ)でindex.htmlを開きます。

そして、Ctrl + Pで印刷プレビューを表示し、プリンタをPDFに保存として印刷します。
(仮想プリンタなので、「印刷」の意味は通常と異なります。)

CubePDF Utilityでカバー画像を挿入

カバー画像がうまく設定されるかどうかはEPUBファイルの設定次第ですが、見栄えが悪いことが多いです。
その都度CSSを設定してもよいのですが、ここでは別の方法で実現してみます。

CubePDF Utilityは、PDFファイルの簡単な編集ができるソフトです。

以下の手順で、カバー画像を設定していきます。



CubePDF UtilityでPDFを開き、挿入先頭に挿入とします。

CubePDF1

HTMLZ解凍後のフォルダ直下にあるcover.jpgを選択します。

CubePDF2

上書き保存します。 (Loading...のままで問題ないです。)

CubePDF3

PDFファイルの完成です。

PDF完成

リーダに送信

私は、PDFの書籍はiPadで読みます。
そもそも手書き目的でPDFにしているので、その場合、現状はiPad + ApplePencilしか選択肢がないと思います。

Documentsで読み、書き込み、必要に応じてGoodNoteでノートを取るスタイルが気に入っています。

GoodNoteやMarginNote、LiquidTextなどで書籍を読むのは推奨しません。
PDFファイルそのものは編集できないないためです。 PDFファイルが読み込めるノートアプリでなく、あくまで「PDFリーダー」を利用すべきと考えます。
(その理由は、いずれ別記事に書こうと思います。)

ちなみに、Androidの場合はMoon+ Readerがおすすめです。
Androidの場合、私は手書きしないのでPDF化する必要すらありません。
EPUBのまま取り込めばそれでいいです。
有料版(買い切り)にすることで、音声読み上げもできます。

さいごに

この方法は、とりあえず及第点ではあるのではないかと思っています。 しかしEPUBをPDF化する方法として、今のところ完璧な方法は見つかっていません。

他にいい方法があれば、コメントなどでご一報いただけると嬉しいです。

また、calibreの変換機能はあまり頼りになりませんが、蔵書管理ソフトとしてはかなり優秀です。
このあたりの話もいずれしたいと思っています。