MacでもKindleのスクリーンショットを自動化したい!【RPA】

こんばんは、わいまつです。

今日は、MacでKindleのスクリーンショットを自動化する方法を紹介したいと思います。

私は現在Kindle Unlimitedでよく本を読んでいます。

Kindle Unlimitedは有用な本(Mac Fanとか雑誌もあって素晴らしい)が沢山並んでいて、月額980円なのでかなりお得だと思います。 こちらから現在30日間無料体験できます。この機会に是非チェックしてみてください。

 

ですが、このKindle Unlimited。以前は無料で読めたのに、対象外になり読めなくなることや、10冊までしかダウンロードできないというデメリットもあります。

誰しも、「スクリーンショットを撮って端末に保存したい。」と思ったことでしょう。

しかし、それをすべて手作業でやるとなると考えただけで嫌になりますよね。

この記事では、ApplescriptとAutomatorを使ってKindleアプリからスクリーンショットを自動化する方法を紹介します!

特にインストールするものはありません!Macに標準で備わっているものです。

Applescriptとか、Automatorを使ったことがない人でも大丈夫!丁寧に紹介するので最後までお付き合いください。

本記事はMacユーザーを対象としていますので、Windowsユーザーは以下のリンクを参考にしてみてください。

 

また、撮ったスクリーンショットをGoogleフォトで管理する記事も投稿しています。合わせてご覧ください。

撮ったスクリーンショットをGoogleフォトで管理する方法はこちら

 

ちなみに、電子書籍のスクショは合法ですが、アップロード、悪用は厳禁です!!

[参考]https://www.itmedia.co.jp/news/articles/1902/15/news064.html

Kindleユーザー必見!
スクリーンショット自動化

 

【準備】使うツールの確認と処理の流れについて

まず、方法を紹介する前に簡単に処理の流れと使うツールの紹介をしておきます。

処理の流れ

  1. Kindleアプリのダウンロード

  2. 「スクリプトエディタ」で表示しているウィンドウのスクリーンショットを撮る

  3. 「Automator」でスクリーンショットのトリミングをする

です。

1.Kindleアプリのダウンロード

https://www.amazon.co.jp/kindle-dbs/fd/kcp

ダウンロードしたら、Applicationフォルダにドラッグ&ドロップしてください。

2.「スクリプトエディタ」とは

Launch Padの検索で「スクリプト」と検索すると出てくると思います。

AppleScriptとは → https://ja.wikipedia.org/wiki/AppleScript

マクロのようなもので、プログラムからアプリケーションの操作等が出来る

3.「Automator」とは

Launch Padの検索で「Auto」と検索すると出てくると思います。

Automatorとは → https://ferret-plus.com/9963

Macの操作を自動化出来る、AppleScriptより出来ることは少ないが、プリセットが用意されており便利。今回はこのプリセットを使用する。

【本番】Kindleのスクショを自動化する方法

まずは、Kindleアプリを起動しましょう。

今回は前回の記事で使ったこちらの本を例に紹介していきます。

こちらをまず、Window全画面表示にします。

全画面の仕方は、ウィンドウ左上の緑のボタンを押せば全画面になります。

※全画面にしないと左右の余白の大きさが均等にならなくなり、きれいなスクリーンショットを作ることができなくなってしまいます。

その次に、デスクトップに「Kindle_screen」という名称でフォルダを作成してください。

次に「スクリプトエディタ.app」を起動して、以下のコードを貼り付けてください。

delay 5
repeat with p from 1 to 5
	set pstr to p
	set pstr to text -3 thru -1 of ("00" & pstr)
	set kp_file to "img_" & (getT() as string) & ".png"
	tell application "Kindle"
		activate
		tell application "System Events"
			delay 1
			do shell script "screencapture ~/Desktop/Kindle_screen/" & kp_file
			key code 124 --右に進む本なら124 左に進む本なら123
			-- ページ送り (カーソルキー)
		end tell
	end tell
end repeat

on getT()
	set localdate to (current date)
	set y to year of localdate as number
	set m to month of localdate as number
	set d to day of localdate as number
	set h to hours of localdate as number
	set mi to minutes of localdate as number
	set ss to seconds of localdate as number
	if m < 10 then
		set m to "0" & (m as string)
	end if
	if d < 10 then
		set d to "0" & (d as string)
	end if
	if h < 10 then
		set h to "0" & (h as string)
	end if
	if mi < 10 then
		set mi to "0" & (mi as string)
	end if
	if ss < 10 then
		set ss to "0" & (ss as string)
	end if
	set msg to y & m & d & h & mi & ss
end getT

まずはテストで5ページ分のスクリーンショットを撮ることにします。

保存して、実行します。実行ボタンを押した後は、全画面表示したKindleアプリが表示されるようにしておいてください。以下の動画のようにしてみてください。

実行ボタンを押した5秒後にスクリーンショットを撮り始めます。

Finderで、「Kindle_screen」フォルダを確認してみてください。

画像がいくつかできていたらOKです。

次は、Automatorを使って、画像のトリミングをしましょう。

「ワークフロー」を選びます。

左側列から「写真」→「イメージを切り取る」と選んでいきます。

ダブルクリックまたは、ドラッグすると以下の画像のようになります。「追加」を選びます。

「Finder項目をコピー」の保存先でその他を選び、自分がトリミングしたスクリーンショットを保存したいフォルダを選びます。

次に、「ファイルとフォルダ」から、「指定されたFinder項目を取得」を選んで一番上にドラッグします。

「追加」ボタンから、トリミングしたい画像を選びます。

【重要!】イメージを切り取るの幅、高さを変更します。

私のMacbookProの環境では、幅:700 高さ:975がちょうど良かったです(人によって違うかも)

ここまでできたら、右上の実行ボタンを押すだけで、トリミングされた画像が保存されます!

画像の確認をしてください。うまくいっていそうであれば、後はAppleScriptの以下の部分を変更すして同じことをするだけで完成です!

delay 5
repeat with p from 1 to 5 --ここの 5 を本のページ数に変更
	set pstr to p
	set pstr to text -3 thru -1 of ("00" & pstr)
	set kp_file to "img_" & (getT() as string) & ".png"
	tell application "Kindle"
		activate
		tell application "System Events"
			delay 1
			do shell script "screencapture ~/Desktop/Kindle_screen/" & kp_file
			key code 124
			-- ページ送り (カーソルキー)
		end tell
	end tell
end repeat

on getT()
	set localdate to (current date)
	set y to year of localdate as number
	set m to month of localdate as number
	set d to day of localdate as number
	set h to hours of localdate as number
	set mi to minutes of localdate as number
	set ss to seconds of localdate as number
	if m < 10 then
		set m to "0" & (m as string)
	end if
	if d < 10 then
		set d to "0" & (d as string)
	end if
	if h < 10 then
		set h to "0" & (h as string)
	end if
	if mi < 10 then
		set mi to "0" & (mi as string)
	end if
	if ss < 10 then
		set ss to "0" & (ss as string)
	end if
	set msg to y & m & d & h & mi & ss
end getT

完成した画像を確認してみてください!

まとめ

今回はMacでKindleのスクリーンショットを自動化する方法を紹介しました。ぜひ参考にしてみてください。上記通りにやってもうまく行かない場合は、コメントやTwitter等でご連絡ください。

 

撮ったスクリーンショットをGoogleフォトで管理する方法はこちら

 

Kindle Unlimitedは現在30日間無料体験できます。この方法を使えば。。?30日間で必要な本を手に入れられますね。

  Twitterでは日々の気づき等もつぶやいているのでぜひご登録ください。よければコメント、記事のシェア等してくれたら嬉しいです。ではまた。

「MacでもKindleのスクリーンショットを自動化したい!【RPA】」への2件のフィードバック

コメントする