【calibre】EPUBを正しくPDFに変換する方法
スズキ
calibreではEPUB→PDFの変換で、文字の見切れなどレイアウトが崩れることがよくあります。
それを解決した方法をここにまとめました。
注意事項
前提として、本記事の方法の限界点を述べておきます。
目次が引き継げない
目次に即アクセスできるのは電子書籍のメリットですが、この目次情報が失われます。
(他に手段がない以上、今のところ許容しています。)
レイアウトは整わないことがある
レイアウトが整わないことがあります。
文字は読めますし、大抵はそれなりの品質のレイアウトになります。
しかしEPUBの段階で文章構造そのものが崩壊している書籍の場合、一律の設定によって適切なレイアウトを組むことは不可能です。レイアウトを整えるためには、Html/CSSの知識が若干必要になります。
使用するツール
- calibre
- Google Chrome
- CubePDF Utility
EPUBをPDF化する手順
calibreでHTMLZ出力
HTMLZに変換します。
CSSは後で書き換えるため、追加CSS等の設定は不要です。
HTMLZをZIPに変更して解凍
HTMLZファイルの実態はZIPファイルです。
拡張子を.zipに変更し、解凍します。
試しに、この状態で ChromeでPDF出力 の方法で印刷プレビューを表示してみます。
このように、レイアウトが崩れています。
このレイアウトを整えるために、次の手順に進みます。
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を開き、挿入
→先頭に挿入
とします。
HTMLZ解凍後のフォルダ直下にあるcover.jpg
を選択します。
上書き保存します。
(Loading...
のままで問題ないです。)
PDFファイルの完成です。
リーダに送信
私は、PDFの書籍はiPadで読みます。
そもそも手書き目的でPDFにしているので、その場合、現状はiPad + ApplePencilしか選択肢がないと思います。
Documentsで読み、書き込み、必要に応じてGoodNoteでノートを取るスタイルが気に入っています。
GoodNoteやMarginNote、LiquidTextなどで書籍を読むのは推奨しません。
PDFファイルそのものは編集できないないためです。
PDFファイルが読み込めるノートアプリでなく、あくまで「PDFリーダー」を利用すべきと考えます。
(その理由は、いずれ別記事に書こうと思います。)
ちなみに、Androidの場合はMoon+ Readerがおすすめです。
Androidの場合、私は手書きしないのでPDF化する必要すらありません。
EPUBのまま取り込めばそれでいいです。
有料版(買い切り)にすることで、音声読み上げもできます。
さいごに
この方法は、とりあえず及第点ではあるのではないかと思っています。 しかしEPUBをPDF化する方法として、今のところ完璧な方法は見つかっていません。
他にいい方法があれば、コメントなどでご一報いただけると嬉しいです。
また、calibreの変換機能はあまり頼りになりませんが、蔵書管理ソフトとしてはかなり優秀です。
このあたりの話もいずれしたいと思っています。
蔵書管理ソフトcalibreで、EPUBなどテキスト形式のファイルをPDF化する際、文字が見切れるなどしてうまく出力できないことがあります。その対策です。