Notebook LM に本を突っ込むとポッドキャストを生成してくれる機能を愛用しています。
生成されたマインドマップを見ながらポッドキャストを聞き、深堀りしたい部分を実際に読んだり、他の記事などもソースに突っ込んで分析するなど読書体験が令和になりました。
o'reilly ebook は PDF もあるため、それを突っ込めばいいのですが、 Kindle 本はそうもいきません。
いくつか検索した結果、ソリューションとして、
- KIndle をスクショする
- スクショした画像を PDF 化する
- PDF を Notebook LM にアップロードする
という方式がよさそうです。
最近 NotebookLM が画像アップロード機能が実装されたようですが、1ノートブックに対して50ファイルが上限となると、厚い本はつらそうです。
というわけで今回は 2 までを自動化するプログラムを AntiGravity に実装してもらいました。
特筆すべき点があるとすると以下です。
- 1ファイル200MBの制限があるため、PDFを分割する機能がある点
- 本の右送り、左送りに対応している点
実際に作成された PDF を突っ込んで使ってみて、 OCR していなくてもかなり理解してくれていると実感できます。
以下 README.md です。
Kindle for PC to PDF Converter
Windows 版 Kindle for PC の書籍をキャプチャして PDF に変換するツールです。
前提条件
インストール
- このフォルダを Windows 上の適当な場所に配置します。
- 依存ライブラリをインストールします:
powershell pip install pyautogui img2pdf※Pillowも必要ですがimg2pdfの依存で入るはずです。もしエラーが出たらpip install Pillowしてください。
実行方法
コマンドプロンプトまたは PowerShell でこのフォルダを開きます。
スクリプトを実行します:
python main.py --output my_book.pdf
ページ数を指定したい場合は --pages オプションを使います:
python main.py --output my_book.pdf --pages 100
ページ送り方向を指定したい場合は --direction オプションを使います:
# 左送り(右縦書きなど)
python main.py --output my_book.pdf --direction rtl
# 右送り(左横書きなど、デフォルト)
python main.py --output my_book.pdf --direction ltr
PDFのサイズ上限を指定したい場合は --max-size オプションを使います(デフォルト: 180MB):
python main.py --output my_book.pdf --max-size 50MB