この記事は🎄GMOペパボ エンジニア Advent Calendar 2024 - Adventarの3日目の記事です。
サマリー
以下の3ステップでできます
- Kindleのページをキャプチャする
- キャプチャした画像データからPDFデータを作成する
- NotebookLMにPDFをアップロードする
1. Kindleのページをキャプチャする
-- 対象アプリ set target to "Kindle" -- 保存フォルダ set savepath to "~/Desktop/Test/" -- 2回以上実行する場合はmkdir行をコメントアウトしないとエラーになります -- applescriptでディレクトリの存在チェックやると数行書く必要がありここは手を抜いてます do shell script "mkdir " & savepath -- 開始ファイル番号 set spage to 1 -- ページ数 -- 最初は1〜2くらいの値で実行してキャプチャしてみて -- 画像を確認し問題なければ100とか200に増やすと良い set pages to 5 -- めくり方向(1=左 2=右) set pagedir to 2 -- ページめくりウエイト(秒) set pausetime to 1.0 -- 切り抜きサイズ(中心から) set cropx to 0 set cropy to 0 if pagedir = 1 then set keychar to (ASCII character 28) else set keychar to (ASCII character 29) end if if target is not "" then tell application target activate end tell end if delay pausetime repeat with i from spage to pages if i < 10 then set dp to "00" & i else if i < 10000000 then set dp to "0" & i end if set spath to (savepath & "p" & dp & ".png") do shell script "screencapture -x " & spath if cropx is not 0 and cropy is not 0 then do shell script "sips -c " & cropy & " " & cropx & " " & spath & " --out " & spath end if tell application "System Events" keystroke keychar end tell delay pausetime end repeat activate
2. キャプチャした画像データからPDFデータを作成する
- Finderにてキャプチャ画像を全選択する
- 右クリックメニューから「クイックアクション > PDFを作成」を実行する
3. NotebookLMにPDFをアップロードする
- NotebookLMにPDFをアップロードする
Tips
- キャプチャした画像の切り取りなどを詳細に設定したい場合は以下レポジトリのコードを参考にしてください
- NotebookLMのOCR精度が気になるならKindleのレイアウトの列は1列にしておくと良いかもしれない
参考
- Kindle本を爆速でテキスト化してNotebookLMで使う方法(Mac限定)|いすむ
- 前半のスクリプトエディタのコードをほぼそのまま利用
- https://youtu.be/0IssOQk7IbU?si=l3c6M2Ow4BVUDIaH
- NotebookLMに登録するPDFの画像データがちょい前からOCRされるようになったとのこと