DeepLでまるごと自動翻訳してKindle版原書を読む方法
会社の推薦図書にインサイドWindows第7版上・下があったものの、高っか!!なので英語の勉強も兼ねて原書を購入し、普段は素早く読むためにDeepL翻訳を駆使する方法をググった時の備忘録。実行環境はM2 MBAです。
(経緯)紙の値段は原書の4割UP、Kindleの値段は原書2倍以上なんだよね。なので原書のKindle版を買うのが一番安いから、この方法を探すに至った。
邦訳版
原書
規約的に大丈夫?
基本的に私的使用のための複製なら問題なしなので、個人利用だけにとどめよう。
それよりもPDF化したものをDeepLやオンラインHTML変換ツールにアップロードした場合の規約のほうが個人的には気になる。(ネットになさそう。)
必要なもの
DeepL(Starterプランだと丸ごと、無料プランだと数十ページ)
XnConvert
Monosnap
PDF2HTMLツール(オンラインやAdobe Acrobatなど)
手順ダイジェスト
やることはKindleをスクショして、画像をPDF化、翻訳する工程。Kindleに挿入されている画像も残したいのであればHTML化も考えよう。
AppleScriptの作成と設定
Kindleを表示
スクリプト実行
XnConvertで一括画像トリミング(+リサイズ)
画像ファイルをPDF化
DeepL翻訳
PDFファイルをHTML化(模索中)
手順
1.AppleScriptの作成と設定
はじめにKindleページを進めつつ、フルスクリーンのスクリーンショットする操作を行います。手作業だとめんどくせぇので、Macに標準実装されている簡易プログラミング言語であるAppleScriptを使い、操作を自動化します。
フルスクリーンのスクリーンショットを撮影する
Kindleを1ページずつめくる
適当なところに保存する
AppleScriptの作成・編集・実行はユーティティフォルダ下にあるスクリプトエディタ.appを使います。
スクリプトでKindleのスクショを撮るには「システム環境設定」のプライバシーとセキュリティにある「画面収録」と「アクセシビリティ」で「スクリプトエディタ」をそれぞれ許可にします。(表示されない場合は追加でスクリプトエディタ.appを選択する。)
スクリプトはこちらからダウンロード。コピー&ペーストしたい方は次をコピペしてください。
-- ページ数
set pages to 92
-- 対象アプリ
--Kindleの場合。楽天koboでも可能。
set target to "Kindle"
--保存フォルダ
--保存したいフォルダをあらかじめ作成して入力
set savepath to "~/Pictures/KindlePicturing/"
--開始ページ番号
set spage to 1
--めくり方向(1=左、2=右)
set pagedir to 2
--ページめくりウェイト(sec)
set pausetime to 2.0
--切り抜きサイズ(中心から)
--次の工程で一括トリミング・リサイズするので0のままでOK
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
-- 9999ページまで対応
if i < 10 then
set dp to "000" & i
else if i < 100 then
set dp to "00" & i
else if i < 1000 then
set dp to "0" & i
else if i < 10000 then
set dp to "" & i
end if
-- スクショした画像名の設定
set spath to (savepath & "p" & dp & ".png")
-- "screencapture "の空白はshell実行にするのに必要
do shell script "screencapture " & spath
if cropx is not 0 and cropy is not 0 then
if resize 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.Kindleを表示
次のような配置でKindleとスクリプトを表示させます。
3.スクリプト実行
フルスクリーンのスクリーンショットを撮影している関係で、実行中はMacの操作をしてはいけません。画像トリミング作業で一括トリミングができなくなります。終わるまで待機しましょう。
4.XnConvertで一括画像トリミング(+リサイズ)
XnConvertで一括画像トリミング(+リサイズ)を行います。
Monosnapはトリミング位置を測るための補助ツールです。command + Shit + 4でも同じことができるので、使いやすい方でトリミング位置をXnConvertに設定、実行しましょう。
5.画像ファイルをPDF化
画像ファイルをすべて選択し、右クリックor二本指でタップ
クイックアクションから「PDFを作成」をクリックして作成する
プレビューのプリントからPDFに保存で作ったPDFは余白があるので、クイックアクションから「PDFを作成」を使う方がよさげ。
6.DeepL翻訳
DeepLのアプリからアップロードします。文字を抽出して、翻訳されて返ってきます。
X.PDFファイルをHTML化
※1-6で得たPDFを以下の方法でHTML化すると、元が画像ファイルなのでテキスト抽出されず、画像だけのページが返ってくる。1-6とXの間に別工程が必要。
これに記載している通り、HTML化して無制限翻訳すればペーパーバックも怖くなくなると思うんですね。しかしKindleを私的複製したものを変換のためにアップロードしてもいいのか?が不明なので、可能なかぎりオフラインでできる方法をググってみたのでまとめる。
結論から言えば、Appleシリコン搭載Macユーザーはシェアウェアを使うかオンラインツールを使うのが良さそう。Intel系MacやWindowsが使える方や実機でUbuntu(などのDebian系OS)がある方は手元でできるかも?
利用するのはpdf2htmlEXで、これの現状は次のとおり。
■homebrewからインストール不可。リポジトリから削除されている。pdf2htmlEXの公式にある通り実行するとエラーがでる。
% brew install pdf2htmlex
Running `brew update --auto-update`...
==> Auto-updated Homebrew!
Updated 2 taps (homebrew/core and homebrew/cask).
==> New Formulae
check-jsonschema
Error: pdf2htmlex has been disabled because it has an archived upstream repository!
■dockerイメージはダウンロードできない。
% docker pull pdf2htmlex/pdf2htmlex
Using default tag: latest
Error response from daemon: manifest for pdf2htmlex/pdf2htmlex:latest not found: manifest unknown: manifest unknown
■debianイメージはamd64のCPUでないとインストール不可。(docker上のUbuntuイメージから実行)
# dpkg -i pdf2htmlEX-0.18.8.rc1-master-20200630-Ubuntu-bionic-x86_64.deb
dpkg: error processing archive pdf2htmlEX-0.18.8.rc1-master-20200630-Ubuntu-bionic-x86_64.deb (--install):
package architecture (amd64) does not match system (arm64)
Errors were encountered while processing:
pdf2htmlEX-0.18.8.rc1-master-20200630-Ubuntu-bionic-x86_64.deb
なので、Appleシリコン搭載Macは現状これを使えない。方法がわかったら後述したい。
参考サイト
この記事が気に入ったらサポートをしてみませんか?