Kindleなどの電子書籍はマーカーや付箋を付けることはできますが、自由に書き込みができません。
そこで、MacでPDF化して自由に書き込みができるようにする手順を一通り説明します。
このページは、次の方向けに書いています。
- Kindleなどの電子書籍をPDF化したい人
- 電子書籍のPDF化の作業は、なるべく自動化して手間をかけたくない人
作業の大まかな流れ
以下の3段階の手順を踏んで、電子書籍をPDF化します。
No | 作業概要 | 使用アプリ | 参考サイト |
---|---|---|---|
① | スクショ画像作成 |
| スクリーン連続キャプチャ for OSX – 電書ちょこっとツールズ |
② | 画像トリミング | 複数画像の一括トリミング!XnConverterの使い方 – Webマーケティングブログ | |
③ | PDF作成 |
| – |
① スクリーンショット画像作成
Macには「AppleScript(アップルスクリプト)」という簡易プログラミング言語が標準で搭載されています。
そこで、AppleScriptで次の作業を1セットとして、Kindleのページ数の分だけ自動的に繰り返します。
- フルスクリーンのスクリーンショットを撮影する
- Kindleを1ページずつめくる
注意点としては、プログラムが実行中はMacを使うことが出来ないことです。
終わるまでは、スマホやタブレットを見るなど、適当に時間をつぶしましょう。
AppleScriptの作成・編集・実行は、Mac標準のアプリ「スクリプトエディタ」を使います。
実際のスクリプトについては、次の参考サイトを御覧ください。
アプリ「スクリプト」でKindleのスクショを撮るには、「システム設定(システム環境設定)」の変更が必要です。
以下は、スクリプトで編集する内容を解説しています。
No | 内容 |
---|---|
① | Kindleのトータルのページ数を入れます |
② | Kindleを使う場合は”Kindle”と入れます |
③ | スクショ画像の保存場所を指定します |
④ | 開始ページを入れますが、通常は1です |
⑤ | ページめくりの方向が左なら1、右なら2を入れます |
⑥ | ページめくりしたあとの待機時間を入れますが、 通常は2.0です |
⑦ | あとでトリミングをするので、 この四角の中はそのままにしておきます |
⑧ | 本のページが999ページまで対応できるように、 このように2行を追加します |
以下の動画は、実際にスクリプトが動いているところの様子です。
② 画像トリミング
ここでは、Macの無料アプリ「XnConvert」を使って、①で作ったスクリーンショット画像を一気に読み込んで、Kindleの本の部分だけトリミングをします。
詳しいやり方は、次の参考サイトを御覧ください。
画像トリミングで最も難しいのはトリミングのサイズを決めるところです。
私は、「monosnap」という画像編集アプリのCrop機能を使って、左から何ピクセルか、上から何ピクセルか、などを測っています。
以下の動画は、左から何ピクセルかを測っている様子です。
トリミングのサイズが決まったら、あとは一括してトリミングを実行します。
以下の画面では、トリミングの他に、ファイル容量を減らすために50%リサイズをしています。
③ PDF作成
ここでは、②で作った複数のトリミング画像を1つのPDFファイルに変換します。
これは、MacのFinderの標準機能で可能です。
Finderでトリミングした画像を一括選択して、右クリックメニューを表示します。
「クイックアクション」から「PDFを作成」を選択すると、1つのPDFファイルに変換されます。
変換されたら、本のタイトルなど適当な名前を付けておきます。
作成したPDFの活用ですが、書き込みをするには「GoodNote」、表示だけなら「ComicShare」が使いやすくておすすめです。
GoodNotes 5(Mac/iPad/iPhone)
iCloud経由で各端末で同期ができます。
ComicShare(iPad/iPhone)
各端末で同期はできませんが、きめ細やか設定ができて動作が軽いです。
このページの記事は、ここまでです。
スポンサードリンク
当ページの更新履歴
- 2023/12/2更新
- アプリ「Xnconverter」の画像トリミング方法の記事リンク切れ対応
- 旧:https://irotoridorino.sakura.ne.jp/webm/xnconverte/
- 新:https://www.pressman.ne.jp/archives/14558
- アプリ「Xnconverter」の画像トリミング方法の記事リンク切れ対応
- 2021/1/27
- 最初の公開
コメント
いきなりのご連絡申し訳ございません。
初めまして、いくと申します。
Macのアンチョコサイトをみたものです。
「アップルスクリプトを使用し、Kindleページのスクショ記事」を見させていただきました。
大変わかりやすく、ありがとうございます!!
1点ご質問があり連絡させていただきました。
自動スクショはできるのですが、スクショした画像がどこにも見当たらなくどこにあるかがわかりません。。
指定したフォルダにみも、パソコンの中にも見当たりません。。
下記にコードを貼り付けますので、もしよければアドバイスの方いただければなと思います。
大変お忙しいと思いますが、よろしくお願いいたします。
— ページ数
set pages to 230
— 対象アプリ
set target to “Kindle”
— 保存フォルダ
set savepath to “~/pic/image/”
— 開始ファイル番号
set spage to 1
— めくり方向(1=左 2=右)
set pagedir to 2
— ページめくりウエイト(秒)
set pausetime to 2.0
— 切り抜きサイズ(画面中心から)
set cropx to 0
set cropy to 0
— リサイズ横(切り抜く前のサイズ換算=画面横/切り抜き横*仕上がり横)
set resizew 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 < 100 then
set dp to "0" & i
else if i < 1000 then
set dp to "" & i
end if
set spath to (savepath & "p" & dp & ".png")
do shell script "screencapture " & spath
if cropx is not 0 and cropy is not 0 then
if resizew is not 0 then
do shell script "sips -c " & cropy & " " & cropx & " –resampleWidth " & resizew & " " & spath & " –out " & spath
else
do shell script "sips -c " & cropy & " " & cropx & " " & spath & " –out " & spath
end if
end if
tell application "System Events"
keystroke keychar
end tell
delay pausetime
end repeat
activate
何度も申し訳ございません。。
保存先のフォルダの指定を変更しましたら無事解決いたしました。。
お騒がせして申し訳ございませんでした。
今後とも機会がありましたら、よろしくお願いいたします。
いく
返事のタイミングがずれましたが、質問時に掲載していただいたアップルスクリプトで、こちらでも正常に動作・キャプチャできることが確認できました。
ご連絡ありがとうございました。
非常に有益な情報をありがとうございます。
以下のように設定しましたが、スクショはされるのですが、どこにも画像データが見つからず‥
どこか間違っているでしょうか?
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 < 100 then
set dp to "0" & i
end if
set spath to (savepath & "p" & dp & ".png")
do shell script "screencapture " & spath
if cropx is not 0 and cropy is not 0 then
if resizew is not 0 then
do shell script "sips -c " & cropy & " " & cropx & " –resampleWidth " & resizew & " " & spath & " –out " & spath
else
do shell script "sips -c " & cropy & " " & cropx & " " & spath & " –out " & spath
end if
end if
tell application "System Events"
keystroke keychar
end tell
delay pausetime
end repeat
activate
コピペしていただいた部分よりも前にもスクリプトがありますが、そちらはどうなっていますか?
コピペされていない部分では、targetという変数でファイルの保存場所が指定されています。
以下、コピペされていない部分です。
〜 ここから 〜
— ページ数
set pages to 2
— 対象アプリ
set target to “iBooks”
— 保存フォルダ
set savepath to “~/Pictures/”
— 開始ファイル番号
set spage to 1
— めくり方向(1=左 2=右)
set pagedir to 1
— ページめくりウエイト(秒)
set pausetime to 2.0
— 切り抜きサイズ(画面中心から)
set cropx to 0
set cropy to 0
— リサイズ横(切り抜く前のサイズ換算=画面横/切り抜き横*仕上がり横)
set resizew to 0
〜 ここまで 〜
全く同じ状況です
osはventura
macOSの「システム設定(システム環境設定)」の中の、以下の内容を確認してみてください。
・「プライバシーとセキュリティ」>「画面収録」のアプリ一覧で「スクリプトエディタ」が表示されて、「許可」にスイッチが入っているかどうか
これが「許可」されていないと、Kindleのキャプチャができずに、macOSのデスクトップがスクショされることが、当方のMacで確認できました。
質問失礼します。
上記のプログラムをコピペして動かしてみたのですが、スクショされた画像がデスクトップ画像しか写っておらず困っています。見かけ上はページめくりも上手くいっているのですが対処法が分かる方いらっしゃいますでしょうか?操作環境はBig Sur11.6です。
全く同じ状況です
osはventura
macOSの「システム設定(システム環境設定)」の中の、以下の内容を確認してみてください。
・「プライバシーとセキュリティ」>「画面収録」のアプリ一覧で「スクリプトエディタ」が表示されて、「許可」にスイッチが入っているかどうか
これが「許可」されていないと、Kindleのキャプチャができずに、macOSのデスクトップがスクショされることが、当方のMacで確認できました。
大変参考になる記事ありがとうございます。
一つご質問があります。
ページ数が999ページ以上の場合は、どのようにしたらいいでしょうか。
手元に999ページを超える本がないので検証できないのですが、⑧のあたりのrepeat withからend ifまでを、次のように置き換えたらどうでしょうか?
とても有用な情報とスクリプトをありがとうございます。
1点ご教授ください。
スクリプトを動かし1ページ目のスクリーンショットが撮られた後、
error “System Eventsでエラーが起きました: スクリプトエディタにはキー操作の送信は許可されません ” number 1002
と表示されて止まってしまいます。
どのようにしたら良いかアドバイスいただけませんでしょうか。
どうぞよろしくお願いいたします。
システム設定(または、システム環境設定)にて、スクリプトエディタに実行許可を与えてください。
以下、作業の流れです。
アプリ「システム設定(または、システム環境設定)」 > 項目「プライバシーとセキュリティ」 > 項目「アクセシビリティ」を開く。
↓
コンピュータの制御を許可したアプリ一覧に、「スクリプトエディタ」を追加&スイッチオンにする。
yamafd様
ご回答いただきありがとうございました。
無事解決できました。
とても使い勝手の良いスクリプトをありがとうございました。
今後も活用させていただきます。