カワハラの、雑多な記録。

【DRM解除不要】kindle等あらゆる種類の電子書籍をPDFに変換(自炊)する方法

   

Kindleなどの電子書籍をPDFに変換、いわゆる「自炊」するにはCalibreなどのソフトを使ってDRM解除する方法が主流っぽいです。
DRM解除とかよくわかんないので、DRMを解除せずにPDF化する方法を編み出したので紹介したいと思います。
仕組み的にはKindle以外のどんな電子書籍でも可能です。

DRM解除せずにPDF変換する作業の全体像

まずは今回する作業の全体像を見ておきましょう。

一言で言ってしまうとDRM解除せずにPDF化する方法とは「Kindleアプリで書籍を表示させ、1ページずつスクリーンショットを撮って画像として保存し、最終的にPDFにする」と言う方法。
Windowsで説明しますが、Macでも似たようなことは出来ると思います。

具体的な手順としてはこんな感じです。

  1. PCのKindleアプリで書籍を表示する
  2. ページをめくってスクリーンショットを撮る(ソフトで自動化)
  3. 保存されたスクショ画像をトリミング
  4. トリミングした画像をPDFに変換
  5. 完成!

1ページずつ手作業でスクショを撮ってたら日が暮れるのである程度自動化しますが、かなりの力技には違いないです。
DRM解除してPDF化するスマートな方法を、銀行にハッキングして口座のお金を盗む方法だとしたら、今回の方法はコピー機でお札を印刷しちゃうようなもんでしょうか。

今回採用する方法をとりあえず便宜的に「スクショで自炊方」と呼ぶことにします。

PDFに変換するメリット

そもそもKindleアプリを使えばスマホでもPCでも、Kindle端末でも読めるのにPDF化する必要があるのでしょうか?
次のような理由が考えられます。

  • 同じ体裁で繰り返し読める
  • 何ページ目かが分かる
  • 端末を問わずに読める

同じ体裁で繰り返し読める

漫画などの固定レイアウトの書籍は関係ないですが、一般的なKindle書籍は「本」というより「Webサイト」に近い感じです。
文字サイズや行間等変更可能で、PCの場合はアプリのウィンドウサイズを変えるとレイアウトが変わります。
つまり、表示されているページの行数、1行の文字数などが動的に変わるんですね。

人によってはこれを好まない場合があります。
読むたびにレイアウトが違うと、内容を覚えにくいと言う人もいるようです。

PDF化すると毎回同じレイアウトになるため、この問題は解決します。

何ページ目かが分かる

Kindleで書籍を読んだときに最初に面食らうのが、今何ページ目を読んでいるのかが分からないという点。
「位置No.」や「~%」といった感じで現在位置を教えてくれますが、そもそも「ページ」の概念がありません。
文字サイズ、行間、ウィンドウサイズにより全体で何ページになるかは変わってくるので。
(漫画とかの固定レイアウトだったら位置No. = ページとなります)

せめて、今の文字サイズ、ウィンドウサイズの条件での全体のページ数と現在のページを表示してくれたりしたら分かりやすいんですけどね。

PDFかしたら、何ページ目かというのが一目瞭然になります。

端末を問わずに読める

KindleもPC向け、スマホ向けアプリを提供していて、Kindle Papar Whiteなどの電子書籍端末もあり、あらゆる環境で読むことはできます。
しかしPDFにしたらKobo等の他社製電子書籍リーダーでも読めるし、PCやスマホにKindleアプリを入れる必要もなく、Amazonのアカウントでログインする必要もなくなります。

例えばプライム特典のprime readingやKindle Unlimitedで入手した書籍をPDF化すると、解約してた後も読めることになります。
調べてないけど、利用規約上多分アウトなので注意が必要。
悪用厳禁でお願いします。

ちなみにKindle Unlimitedは30日間無料体験できます。

スクショで自炊方のメリット

PDFに変換するメリットは分かりましたが、今回採用する方法、DRM解除ではなくスクリーンショットを撮る「スクショで自炊方」にはどんなメリットがあるのでしょうか。

  • PCに表示さえできれば、Kindle以外のどんな電子書籍でもPDF化出来る
  • DRM解除とか小難しいことをしなくても大丈夫
  • Calibreなどの特殊なソフトをインストールしなくて済む

PCに表示さえできれば、Kindle以外のどんな電子書籍でもPDF化出来る

PCに表示した内容をスクリーンショットするので、原理上は表示さえできればどんな種類の電子書籍でもPDF化できます。

また、Kindleのバージョンが上がったらDRM解除できなくなった!みたいな話もききますが、そもそもDRM解除する必要がないのでその手の問題とは無縁です。

DRM解除のためにCalibreなどの特殊なソフトをインストールしなくて済む

DRMを解除してPDF変換する方法では、Calibreと言うソフトを使うのが主流みたいです。
無闇にPCにソフトをインストールしたくない場合も今回の方法は有効です。

スクショで自炊方も、いくつかのソフトを補助的に使いますが、どれもインストール不要で、ダウンロードしたzipを展開するだけで使えます。
不要になったらゴミ箱にポイでOK。

スクショで自炊方デメリット

スクショで自炊方にもデメリットがもちろんあります。
主にKindleの形式から画像のPDF形式にしたことによるデメリットとなります。

  • テキストデータではなく画像となるので、検索やハイライトを入れたりできない
  • 文字サイズの変更が出来ない
  • (kindle端末で試した限り)ページ送りが超もっさり
  • ファイルサイズが大きい
  • やっぱりそれなりに手間がかかる

テキストデータではなく画像となるので、検索やハイライトを入れたりできない

スクショで自炊方はスクリーンショットを撮る方法なので、結局は「画像」です。
最終的にPDF形式にしますが、中身はテキストデータではなく画像なため、検索したりが出来ません。
Kindle端末やアプリで重要と思った箇所にハイライトを入れたり出来ますが、それも出来ません。

PDFに注記を入れたり出来るソフトを使えば、出来るかもしれませんがKindleと同様の使い勝手は望めません。

文字サイズの変更が出来ない

Kindleアプリでは文字サイズや行間、フォントなど変更することが出来ます。
でもスクショで自炊方は画像として保存されたPDFなので、もちろん変更できません。

(kindle端末で試した限り)ページ送りが超もっさり

作成したPDFをPCで読む分には特に不便を感じず快適です。
ページ送りもスムーズで、スライドバーで一気にページを飛ばすことも出来ますし。

でも、Kindle Paper White等のkindle端末で読むのは少々ストレスを感じます。
と言っても1ページずつ順に読む分には問題ないんですよ。
ところが、パラパラめくって目的のページを探す場合は絶望的な気分になります。

私の持っているKindle Paper Whiteで普通のKindle書籍を読む場合、ページめくりには次の選択肢があります。

  • 画面端をタップで1ページずつめくる
  • Page Flip(画面下から上にスワイプしてスライドバーで移動)
  • 本の目次、ぺージNo.、位置No.を指定して移動
  • 自分で追加したブックマークへ移動
  • 高速ページ送り(漫画など対応タイトルのみ)

kindle書籍によってどのオプションが対応しているかが違っていて戸惑うんですが、PDFで使えるのは次のもののみです。

  • 画面端をタップで1ページずつめくる
  • ぺージNo.を指定して移動
  • 自分で追加したブックマークへ移動

自分でブックマークを追加するのは手間がかかるので置いておくとして、一気にページを移動したいときはページNo.を数字を入力して指定するしかありません。
スライダーとかで直感的に移動できないのが致命的ですね。

しかも、ページ送りも時間がかかってイライラします。
タップしてから次のページが表示されるまで2秒位かかります。

1ぺーじずつじっくり読む小説とかだったら大丈夫そうですが、人によっては我慢できないかもしれません。

ファイルサイズが大きい

約300ページの小説で60MBくらいになります。
活字がメインのKindle書籍はほとんどテキストデータだと思うので、1MB以下のものが多いそうです。
漫画は全て画像なので、ファイルサイズが40~60MBと跳ね上がります。

スクショで自炊方も全て画像化するので、活字が中心の本でもKindle漫画と同じくらいのファイルサイズになるってわけですね。

私が持ってるKindleは容量が32GBと大きいので大丈夫ですが、容量が少ないKindle端末ではたくさん入れるのはためらわれます。

やっぱりそれなりに手間がかかる

スクショで自炊方でKindle書籍をPDF化するのは、やっぱりそれなりに手間がかかります。
スクショを撮るだけで1冊あたり5~10分ほどかかります。
とはいえ、ずっとPCの前にいる必要はなく、この間は放置でOKです。

その後画像をトリミングしたり、PDFに変換したり、ファイル名をつけたり、Kindle端末にコピーしたりとなにかと手間はかかります。

もろもろ考えると、わざわざPDFに変換せずにKindle形式のままKindle端末で読んだほうが幸せだと思えてきますね。

「スクショで自炊方」具体的な作業手順

では、具体的な作業の手順を説明したいと思います。
作業を支援するソフトをいくつか使いますが、同じ機能を持ったものは紹介したもの以外にもあると思いますので、お好みのものを使ってください。

PC(Windows10)の設定 -ディスプレイ設定の変更-

スクショで自炊方では画面に表示された内容をキャプチャするので、解像度の低いディスプレイを使っていたら出来上がる画像も低解像度になってしまいます。
私が持っているKindle Paper Whiteの画面解像度は横1072×縦1448pxだそうなので、これに合わせて画像を作成したいと思います。。

でも最も普及しているフルHDのディスプレイ解像度は横1920×縦1080pxです。
縦1448px欲しいところですが、足りません。
ではどうするか?

Windowsの設定で画面を縦位置にしてしまいましょう。
そうすると横1080×縦1920のディスプレイとなり、いい感じの解像度の画像が得られそうです。
ディスプレイのスタンドが回転に対応してなかったら激しく操作しにくくなりますが、我慢しましょう。

また、4K(横3840×縦2160px)等の高解像度ディスプレイの場合は、横位置のままでOKです。
WQHD(横2560×縦1440px)でもちょっと足りませんが、OKでしょう。

PCに複数ディスプレイを接続している場合

PCに複数のディスプレイを接続していたら、スクリーンショットを撮ったときに全部合わせた領域が1枚の画像になります。
これを利用する方法もあります。

デスクトップを右クリックして「ディスプレイ設定」
ディスプレイの並びを変更できるので、縦並びにしてやります。
すると、一方のディスプレイの画面上と、もう一方の画面下がつながる格好になります。

スクリーンショットを撮ってみると、フルHDディスプレイの場合横1920×縦2160pxの画像が得られ、必要十分です。
私の場合は1280×1024pxと言う前時代的なディスプレイ2台の体制ですが(だって壊れないんだもの!)、この方法を採用しました。

ちなみに上側のディスプレイのタスクバー非表示にしてください。

設定上は画面が縦並びですが、現実のディスプレイの配置はそのままで構いません。
ちょっと操作しにくいですが。

Kindleアプリを起動してウィンドウサイズを調整

ディスプレイの設定ができたら、Kindleアプリを立ち上げて、読みたい本を開きます。
kindleアプリのウィンドウのサイズを良い感じに調整してからスクリーンショットを撮るんですが、最終的にほしい画像は次の画像の赤点線で囲った部分です。

このコンテンツ部の領域がだいたい横1072×縦1448pxの大きさになるようにKindleアプリのウィンドウサイズを調整するわけですが、ここで「ScreenRuler」と言うフリーソフトを使います。
ダウンロードはこちら。
https://www.vector.co.jp/soft/winnt/util/se502234.html?_ga=2.159914173.1238226050.1567468305-1471613593.1567468305

インストールは不要で、zipを展開したらすぐ使えます。

そして、上の画像はScreenRulerを実際に使っている様子ですが、要するに画面上のピクセル数を測れる定規のようなものですね。
こんな感じでコンテンツ部(本文部)が横1072×縦1448pxくらいになるようにKindleアプリのウィンドウサイズを調整します。

ScreenRulerを右クリックしてオプションで「常に前面」にチェックを入れると、Kindleアプリに隠れなくなるので調整しやすいです。

ウィンドウサイズ変更支援ソフト「Sizer」を利用すると便利

「スクショで自炊方」を一回だけする場合は上のScreenRulerでウィンドウサイズを調整すればいいですが、繰り返し何度も行う場合は毎回のセットアップが面倒です。
そこで、ウィンドウサイズの変更を支援するソフト「Sizer」を紹介します。

Sizerは指定したアプリのウィンドウサイズを、決めたサイズに変更するだけのソフトですが、Kindleアプリをワンタッチで同じ位置、ウィンドウサイズに出来るので、作業がはかどります。

ダウンロードはこちら。もちろんインストール不要でzip展開してすぐ使えます。
http://www.brianapps.net/sizer/C

Sizerを起動するとタスクバー右側に「+」型の矢印みたいなSizerのアイコンが出ます。
右クリックして「Configure Sizer」を選びます。

上のようなSizerの設定画面が出るので、「Add」ボタンを押して新しい設定を作ります。
上の例では適当に「Kindle Jisui 1155×1605」と言う名前をつけていますが、自分でわかりやすい名前にしてください。

「Width」と「Height」でウィンドウの幅と高さを指定、「Move to:」で配置する位置を指定します。
この例では幅1155px、高さ1605px、画面の左上にウィンドウを配置する設定です。
私の場合はこの設定で、Kindleアプリのコンテンツ部がだいたい横1072×縦1448pxになりました。

実際にKindleアプリのウィンドウサイズを変更するには、タイトルバーを右クリックすると「Resize/reposition」と言う項目があるので先程作成した設定を選べばOKです。

一度設定したら何度でも定位置に配置出来るので、PDF変換の作業をする際ののセットアップ時間を劇的に短縮できて便利です。

Kindleアプリの文字サイズ、行間を設定

ウィンドウサイズを設定出来たら、次はKindleアプリに表示されている書籍の文字サイズや行間を調整します。
あまりにも小さい文字でスクリーンショットを撮ってしまうと、PDFにしたときに非常に読みにくくなってしまいますから。

どれくらいのサイズにするかの目安ですが、文庫本の標準はだいたい次の数字みたいです。

1ページ 17行
1行 42文字


Kindleアプリの「Aa」ってとこを押すと設定画面が開きフォントサイズや行間、ページ幅の設定ができます。

ページ幅は、Maxに設定してウィンドウいっぱいに広げます。
フォントサイズ、行間は文庫本を基準に1ページ17行、1行42文字くらいになるようにしておけば無難かと思いますが、好みで調整すればいいでしょう。

一度設定したら、どんな本でも同じ設定でほぼOKでした。

HiMacroExでスクリーンショットとページ送りを自動化する

さて、いよいよスクリーンショットを撮る時がやってきました。
Windows10では「Winキー + PrintScreen」でスクショの撮影&保存が出来るので、これを利用します。
Kindleアプリは↓キーで次のページにめくれます。
つまり、Win+PrintScreenと↓を自動的に押し続けさせることができれば、全ページを画像にすることが可能です。

そこで「HiMacroEx」と言うソフトを使用します。
マウスやキーボードの操作を記録して再生するソフトで、類似ソフトは多数あると思うので、お好きなソフトをお使いください。

HiMacroExのダウンロードはこちら
https://www.vector.co.jp/soft/winnt/util/se427963.html

zipを展開してHiMacroExを起動し、このようなマクロを入力し、ループ300回を指定。

600
LWin Down
25
PrintScreen
25
LWin Up
1300
↓

意味は

  • 0.6秒待つ
  • Winキー+PrintScreenキー(スクリーンショットを保存)
  • 1.3秒待つ
  • 下キーで次のページへ
  • 以降繰り返し(この例では300回)

これにより自動的ページが送られ、にスクリーンショットフォルダ(標準ではユーザーフォルダのピクチャ内)に保存されます。
600とか1300の数字は待ち時間をミリ秒で表したもので、短くすると早く処理が終わりますが、ページが抜けてしまったりというトラブルが増えます。
PCの性能によっても最適な数値が変わってくると思いますが、ゆっくりめにした方が安全です。

上の例では1ページに2秒ほどかかるので、300ページの本だと10分かかる計算になります。
処理中にウィンドウを動かしたりするとそのままキャプチャされてしまうので、PCに触らず他のことをして待ちましょう。

Irfanviewでトリミング

無事にスクリーンショットは撮れたでしょうか?
全画面領域がキャプチャされているので、必要なところだけトリミング(切り抜き)する必要があります。

私が愛用している高機能画像ビュワーIrfanviewで説明します。

Irfanviewのダウンロードはこちら
https://www.irfanview.net/64bit.htm

Irfanview本体と、プラグインも使うのでダウンロードします。
もちろん、同じことが出来る他のソフトを使ってもOKです。

キャプチャした画像1冊分を適当なフォルダに移します

Irfanviewで画像を開き、切り抜く範囲を左ドラッグで選択。
上の画像はちょっとわかりにくいですが、黒い細線の箇所が選択した範囲。
選択箇所のサイズや座標はIrfanviewのタイトルバーに表示されます。

「T」キーでサムネイル表示。
上の画像は説明用なので2枚しかないですが、実際は本のページ数分の画像があると思ってください。
枚数が多いと、読み込むのに少し時間がかかります。

Ctrl + Aで全選択後、「B」キーでバッチ処理のダイアログを表示
画像フォーマットをpngにして、「Advanced(詳細設定)」をクリック。

出現した詳細設定のダイアログの「CROP(切り抜き)」にチェックを入れ、「Get current sel.(現在の選択範囲)」ボタンをクリック。
さっき画像で矩形選択した範囲が数値に反映されます。
「Width(幅)」と「Height(高さ)」が最終的な画像サイズになります。
画像サイズが高さ1448×幅1072になるようにします。
ちょっとくらい違っていても問題はないです。
「OK」ボタンを押して詳細設定ダイアログを閉じます。

「Brouse(参照)」を押して画像を保存するフォルダを指定します。
ちなみに隣の「Use current (‘look in’) directory」をクリックすると、現在のフォルダが指定されます。

「Start Batch(実行)」をクリックすると、切り抜きのバッチ処理を開始します。

処理が終わったら上のような画面が出てお知らせしてくれます。
ErrorsやWarningsが0なら問題ないです。
トリミング前の画像は不要なので削除してもかまいません。

IrfanviewでPDF化

トリミングできたら、後はPDFにするだけです。

トリミングした画像をIrfanviewで開き「T」でサムネイル表示
Ctrl + Aで全選択後、メニュー「Start Multipage-PDF dialog with selected files… (選択したファイルでマルチページのPDFを作成する)」をクリック。

表示されたダイアログの「Browse」をクリックして、PDFを保存する場所をしてい。
「Compression」をクリックして、圧縮の設定をします。

表示されたダイアログの下の方の「Color images」を「Flate (lossless)」にします。
「OK」を押して圧縮設定のダイアログを閉じ、「Create PDF image」をクリックするとPDFに変換する処理が始まります。

しばらく待つと完成です。
分かりやすいファイル名に変更すれば、後はkindle端末に転送するなり、スマホやPCで読むなり自由にできます。
お疲れさまでした。

まとめ

この方法を使えばどんな電子書籍でもPDF化が可能です。
くれぐれも悪用厳禁でお願いします。

でも結局は、Kindle Unlimitedに加入して普通に読むのが一番楽ですけどね。
こんな面倒なことをしてる時間があったら、本を読んだほうが有益かもしれません。

Kindle Unlimitedは30日間の無料体験もできます。
とりあえず試しても損はしません。

 - PC, ガジェット