アップルスクリプトを使ってMac版Kindleで電子書籍の自炊

本とフォルダー
更新日:2021年04月17日
この記事は約6分で読めます。

Kindleなどの電子書籍はマーカーや付箋を付けることはできますが、自由に書き込みができません。

そこで、MacでPDF化して自由に書き込みができるようにする手順を一通り説明します。

 

このページは、次の方向けに書いています。

  • Kindleなどの電子書籍をPDF化したい人
  • 電子書籍のPDF化の作業は、なるべく自動化して手間をかけたくない人
  • 電子書籍のPDF化は、自分で買ったものを個人使用するだけにとどめておいて下さい
  • PDF化した電子書籍を他人が閲覧できる状態に公開したり、それをダウンロードした場合は、著作権法第30条(私的使用による複製)および第119条により、2年以下の懲役若しくは200万円以下の罰金、又はこれら両方により罰せられます

 

作業の大まかな流れ

以下の3段階の手順を踏んで、電子書籍をPDF化します。

作業概要 使用アプリ 参考サイト
スクショ画像作成
  • Kindle
  • スクリプトエディタ
スクリーン連続キャプチャ for OSX – 電書ちょこっとツールズ
画像トリミング 複数画像の一括トリミング!XnConverterの使い方 – Webマーケティングブログ
PDF作成
  • Finder

① スクリーンショット画像作成

Macには「AppleScript(アップルスクリプト)」という簡易プログラミング言語が標準で搭載されています。

そこで、AppleScriptで次の作業を1セットとして、Kindleのページ数の分だけ自動的に繰り返します。

  • フルスクリーンのスクリーンショットを撮影する
  • Kindleを1ページずつめくる

注意点としては、プログラムが実行中はMacを使うことが出来ないことです。

終わるまでは、スマホやタブレットを見るなど、適当に時間をつぶしましょう。

 

AppleScriptの作成・編集・実行は、Mac標準のアプリ「スクリプトエディタ」を使います。

Macの「スクリプトエディタ」のアイコン

「スクリプトエディタ」のアイコン

実際のスクリプトについては、次の参考サイトを御覧ください。

電書ちょこっとツールズ

以下は、スクリプトで編集する内容を解説しています。

No 内容
Kindleのトータルのページ数を入れます
Kindleを使う場合は”Kindle”と入れます
スクショ画像の保存場所を指定します
開始ページを入れますが、通常は1です
ページめくりの方向が左なら1、右なら2を入れます
ページめくりしたあとの待機時間を入れますが、通常は2.0です
あとでトリミングをするので、この四角の中はそのままにしておきます
本のページが999ページまで対応できるように、このように2行を追加します

Macの画面をスキャンするAppleScript

 

以下の動画は、実際にスクリプトが動いているところの様子です。

 

② 画像トリミング

‎XnConvert
‎XnConvert is a batch image-converter and resizer with a powerful and ease of use experience. All common picture and graphics formats are supported (i.e. JPG, P...

ここでは、Macの無料アプリ「XnConvert」を使って、①で作ったスクリーンショット画像を一気に読み込んで、Kindleの本の部分だけトリミングをします。

詳しいやり方は、次の参考サイトを御覧ください。

複数画像の一括トリミング!XnConverterの使い方 - Webマーケティングブログ
「長方形の元画像を、正方形にトリミングして切り出したい。」 「しかも処理したい画像が大量にある。」 そんな時ありませんか? 先回は「リサイズ」ツールをご紹介しましたが、今回は「トリミング」が出来るツー ...

 

画像トリミングで最も難しいのはトリミングのサイズを決めるところです。

私は、「monosnap」という画像編集アプリのCrop機能を使って、左から何ピクセルか、上から何ピクセルか、などを測っています。

‎Monosnap - screenshot editor
‎Capture and edit screenshots, upload files, record video and .GIFs! Share a visual explanation with your clients and colleagues. Free version features: • Non-...

以下の動画は、左から何ピクセルかを測っている様子です。

 

トリミングのサイズが決まったら、あとは一括してトリミングを実行します。

以下の画面では、トリミングの他に、ファイル容量を減らすために50%リサイズをしています。

XnConvertの設定

 

③ PDF作成

ここでは、②で作った複数のトリミング画像を1つのPDFファイルに変換します。

これは、MacのFinderの標準機能で可能です。

Finderでトリミングした画像を一括選択して、右クリックメニューを表示します。

「クイックアクション」から「PDFを作成」を選択すると、1つのPDFファイルに変換されます。

変換されたら、本のタイトルなど適当な名前を付けておきます。

MacのFinderでPDF作成

 

作成したPDFの活用ですが、書き込みをするには「GoodNote」、表示だけなら「ComicShare」が使いやすくておすすめです。

GoodNotes 5(Mac/iPad/iPhone)

iCloud経由で各端末で同期ができます。

‎GoodNotes 5
‎Macを小型のデジタルペーパーとパワフルな書類管理システムに変えましょう。 GoodNotesのiPadバージョンと同じ機能をMacで使用して、いつでもどこでもあなたの好きな時間や場所で書類に作業ができます。 Macで書類を作成、読み込み、および編集 * キーボードを使ってデジタルノートの作成やテキストを入力したり...

ComicShare(iPad/iPhone)

各端末で同期はできませんが、きめ細やか設定ができて動作が軽いです。

‎ComicShare -(コミック/電子書籍リーダー)
‎ComicShareは高機能かつ高速なコミックリーダーです。自炊コミック、PDF、青空文庫、TXTなど快適に読書できます。SMB/FTP/GoogleDrive/Dropbox/OneDrive(Business)/Box/webDAV/SFTP/Web(HTTP)に対応しています。ZIP(CBZ)/RAR(CBR)...

このページの記事は、ここまでです。

created by Rinker
Apple(アップル)
¥87,780 (2021/09/24 00:46:48時点 Amazon調べ-詳細)
created by Rinker
Apple(アップル)
¥50,380 (2021/09/24 17:45:23時点 Amazon調べ-詳細)

コメント

  1. いく より:

    いきなりのご連絡申し訳ございません。
    初めまして、いくと申します。
    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

  2. いく より:

    何度も申し訳ございません。。

    保存先のフォルダの指定を変更しましたら無事解決いたしました。。
    お騒がせして申し訳ございませんでした。
    今後とも機会がありましたら、よろしくお願いいたします。

    いく

  3. yamafd より:

    返事のタイミングがずれましたが、質問時に掲載していただいたアップルスクリプトで、こちらでも正常に動作・キャプチャできることが確認できました。

    ご連絡ありがとうございました。

タイトルとURLをコピーしました