よく電子書籍の内容をスクショし、Googleドライブで文字認識させた上でノートアプリにコピペしているのですが、これが中々に面倒くさい…
楽な方法はないかと調べた結果、スクショ部分を自動化することに成功しました。
本記事では以下を解説しています。
- AppleScriptを使用してKindleのスクリーンショットを自動化
- Xnconvertを使ってトリミング
- macの標準機能でPDF化
- Adobe Acrobat のOCR機能でスキャン ⇦ここだけ有料
プログラミングの知識はなくてOK!
※スクショしたファイルを無断で配布すると著作権違反になる可能性があるので、個人の利用の範囲を超えないようご注意ください。
1. AppleScriptによるKindleの自動スクリーンショット手順
まずはじめにAppleScriptを使ってKindleを自動でスクショしていきます。
Apple ScriptはMacに標準搭載されている簡易スクリプト言語です。知識は一切不要です。
スクリプトエディタの許可設定
スクリプトエディタによるPCの制御を許可します。
| 1. システム環境設定
「画面左上のりんごマーク – システム環境設定 – セキュリティとプライバシー」の順に開いていきます。
| 2. スクリプトエディタによる制御を許可
まずは左下の鍵マークをクリックしてパスワードを入力し、鍵が開いている状態にします。
その後、①の「アクセシビリティ」をクリックして②のプラスをクリック。以下のようにスクリプトエディタを検索して、「スクリプトエディタ.app」をダブルクリックします。
③の状態になればOKです。また、④の「画面収録」にも同じ手順を行います。
スクリプトエディタの起動
スクリプトエディタを起動していきます。
| 1. スクリプトエディタの起動
Spotlight(以下赤矢印)をクリックして「スクリプトエディタ」と入力してクリックします。
※あるいはFinderの検索マーク🔎に「スクリプトエディタ」と入力しても出てきます。
| 2. スクリプトの作成
起動したら「新規書類」をクリックします
AppleScriptの設定とフォルダ作成
AppleScriptとスクショを保管するフォルダを作成していきます。
| 1. コードをコピペ
前項の「新規書類」をクリックした後の画面に、以下のコードをそのままコピペします。
-- ページ数
set pages to 1000
-- 対象アプリ
set target to "Kindle"
-- 保存フォルダ
set savepath to "~/Desktop/自動スクショ/"
-- 開始ファイル番号
set spage to 1
-- めくり方向(1=左 2=右)
set pagedir to 1
-- ページめくりウエイト(秒)
set pausetime to 1.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 < 10000000 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
| 2. 調整
スクショを撮りたい電子書籍に合わせて以下を調整します。
- — ページ数:たとえば700ページの書籍だったら「set pages to 700」のように修正。ページ数が分からなければ、一旦1000ページとかでもOK
- — めくり方向(1=左 2=右):書籍をめくる方向によって「set pagedir to」に続く数値を1か2に修正
| 3. フォルダ作成
スクショを保管するフォルダ「自動スクショ」をデスクトップに作成します。
Apple Scriptの保存と実行
Apple Script の保存から実行までを行います。
| 1. 保存
Apple Script をキーボードの Command ⌘ + S を押して保存します。
※ スクリプト名は拡張子「.scpt」が付いていれば何でもOKです。ここでは「自動スクショ.scpt」とします。
| 2. Kindleを開いて画面全体化
Kindle を開いて書籍の表紙を表示し、Kindleの画面を全体に広げます(緑色のボタンをクリック)。
| 3. Apple Scriptの実行
以下矢印の実行ボタンをクリックします(全ページが自動でスクショされます)。
以下2点だけ注意してください。
- スクショ中はKindleの画面から変えないでください。変えてしまうと変えた画面をスクショしてしまいます。スクショ中は一切操作しない方が無難です。
- たとえば700ページの書籍をページ数が分からず「set pages to 1000」のように多めに指定した場合、書籍の最終ページを300回スクショするまで止まりません。
その場合は、Apple Scriptの停止ボタンをクリックすると止まります。
2. スクショをXnconvertでトリミング
次に、撮影したスクショをXnconvertでトリミングします。
Xnconvertをインストール
Xnconvertの公式からダウンロードしてインストールします。リンクが切れていたらXnconvertとググると出てきます。
Xnconvertにスクショを取り込む
インストールできたら、Xnconvertでスクショを取り込みます。
| 1. 起動
Xnconvertを起動します。
| 2. スクショを取り込む
スクショを保管しているフォルダ「自動スクショ」を開き、Command ⌘ + A でスクショを全選択し、Xnconvertにドラッグドロップします。
| 3. 動作をクリック
以下の画面になったら矢印の「動作」をクリックします。
トリミング
ここからは実際に全スクショを一気にトリミングしていきます。
| 1. トリミングを選択
以下の画面になったら「動作を追加」をクリックし、以下を参考にトリミングをクリックします。
| 2. トリミングの実行
まず①の右矢印をクリックして、文章が記載されているメインのページを表示させます。(著作権の都合上、👆の写真では表紙のままにしています。)
②で任意の数値を入れてトリミングの範囲を決めていきます。環境によって入れる数値は変わるので、👆の写真の数値は参考までに留めてください。
トリミングの位置が決まったら、③をクリックします。
| 3. ファイルの確認
「自動スクショ」フォルダの中に、変換された後の「result.png」というファイルが作成されたか確認します。
| 4. 「自動スクショ」フォルダの整理
フォルダ内のファイルのない場所で「右クリック – 整理順序 – 作成日」で並び順を変えて、result.pngが付いていない方のスクショを全削除。同じ手順で「右クリック – 整理順序 – 名前」をクリックします。
3. Macの標準機能でPDF化
変換した複数のスクショを1つのPDFにします。
| 1. 全選択
「自動スクショ」の中のファイルをCommand ⌘ + A で全選択します。
| 2. PDFを作成
「右クリック – クイックアクション – PDFを作成」の順にクリックします。
これにより、トリミングされた画像が1つのPDFに統合されます。
以下のように変な位置に重なって作られたりするので注意してください。
4. Adobe Acrobat Proでスキャン
有料ツール「Adobe Acrobat Pro」でスキャンします。月額登録が必要なので注意してください。
※ Adobe Acrobatの登録とインストールについては割愛します。
| 1. Adobe Acrobatの起動
先ほどPDF化したファイルをAdobe Acrobat で開きます。
| 2. OCRを実行
「変換タブ – スキャンとOCR – このファイル – テキストを認識」の順にクリックします(しばらく待ちます)。
| 3.PDFを保存
Command ⌘ + S でPDFを保存。
PDFの文章を左クリックしながらドラッグし、コピーしたりペーストできたら成功です。
まとめ
以上で、Kindleの自動スクリーンショットからPDF化、そしてスキャンまでの一連の手順が完了しました。
ノートアプリにまとめる等、ITの学習と非常に相性が良いのでぜひ活用してみてください。
コメント
コメント失礼いたします🙇
3. Macの標準機能でPDF化は無事機完了し、4. Adobe Acrobat Proでスキャンを実施し、コピペしてみたところ、日本語が全て文字化けしておりました。。
(英語は問題なし)
日本語の文字化けに関しては何か対策されていますでしょうか?
>ぱんだ様
回答遅れてしまい申し訳ありません🙇
スキャンする際の設定ですが、「このファイル」→「すべてのページ」→「日本語」にして頂いた後に、「テキストを認識」をクリックされてますでしょうか?
ここで「日本語」に設定すれば、私の環境だとうまくいくようです。
ただ、精度100%とはいかず、まれに文字化けする箇所もあります。
確証はなくあくまで予想なのですが、最初にスクショ撮る際のKindleの文字サイズ設定が小さすぎて、スキャンしづらくなっている、という可能性はないでしょうか?
お手数ですがご確認の程、お願いいたします。
初めまして。
記載の内容に挑戦しているのですが、いまいちうまく進行せず困っています。
スクリプトを実行した際
「Kindleはどこにありますか?」とアプリケーションを選択させる画面が出てきます。Kindleアプリを選択しようとしても、アプリが白塗りになって選択できない状態です。
何かの設定が間違えているのでしょうか?調べても解決法が分からず、こちらにコメントさせていただきました。
お分かりになるようでしたら、解決法をご教授お願いいたします。
すみません、回答が遅くなりました🙇
環境等の情報が分からないため一般的な回答しかできませんが、以下もご検討ください。
・Kindleをあらかじめ起動してから実施
・(Kindle側に問題があれば)一度アンインストール⇨再インストールしてから実施
・(Kindle側に問題があれば)Amazonのカスタマーセンターに問い合わせる
スクショした際、 Kindleではなくホーム画面がスクショされます
分かれば教えてください
コメントありがとうございます🙇
スクショ中はKindleの画面以外を表示させてしまうと、その表示している画面のスクショが撮られてしまいます。
そのため、Kindleの画面を全体化してからスクリプトを実行をクリック頂いた後は、そのまま撮り終わるまでPCの操作は一切できないことになりますのでご注意ください。