Code Monkey home page Code Monkey logo

kindle-translator's Introduction

kindle-translator

非母語で書かれた電子書籍やPDFを母語で書かれたPDFに翻訳するツールです。

特長

一冊50万字あるKindleの洋書を1分で日本語PDFに変換できます。

キーボードの矢印キーでページ送りができるならKindleに限らずあらゆる電子書籍リーダおよびPDFビューワで使え、DeepLが対応している言語であれば英語以外の言語でも翻訳できます(仏→日とか)。

これがこうなる

Kindle for PC - The Ethics of Cybersecurity_ 21 (The International Library of Ethics, Law and Technology) 2022_11_08 23_22_07

Cybersecurity pdf - Adobe Acrobat Reader (64-bit) 2022_11_08 23_36_27

(引用 **The Ethics of Cybersecurity (The International Library of Ethics, Law and Technology Book 21) by by Markus Christen, Bert Gordijn, et al. Feb 10, 2020) (CC: BYです)

必要なライブラリ

pyautogui
img2pdf
Pillow
opencv-python
pyocr
fpdf2

準備

1. pipまたはcondaが使えるPythonの実行環境

本ツールはpythonで書かれています。必要なライブラリをrequirements.txtおよびvenv.yamlに出力してあるので、pipを使う場合はrequirements.txtを、condaを使う場合はvenv.yamlをそれぞれ使用して仮想環境を整えてください。

pipを使ったインストール

pip install -r requirements.txt

condaを使ったインストール

conda <env name> create -f venv.yml

2. DeepL APIの登録

以下からAPI版DeepLに登録してください。(無料版であってもクレジットカードの登録が必要です)

https://www.deepl.com/ja/pro#developer

無料版で構いませんが、その場合はtranslator.pyの48行目のURLをapi.deepl.comからapi-free.deepl.comに変更しておく必要があります。

登録が済んだら、translator.pyの29行目に発行されたAPIキーを入力してください。

3. Tesseractのインストール

以下から自分の環境に合ったインストーラをダウンロードしてください。

https://github.com/UB-Mannheim/tesseract/wiki

インストールが終わったら、ocr.pyの36行目と40行目を自分の環境に適したパスへと変更してください。

4. フォルダパスの設定

画像保存用フォルダとテキストファイル(とできたPDFファイル)を保存するフォルダを準備し、capture.pyの86行目とocr.pyの47行目を適宜変更してください。

使い方

Anaconda Powershell Prompt (Anaconda3) 2022_11_08 23_36_32

このリポジトリをcloneし、

python kindle_translator.py

を実行するだけでOKです。画像の通り、ほとんどの作業がコンソール上で進みます。

その後は電子書籍リーダをクリックしてアクティブにした上で左上にカーソルをあてて10秒待ち、また右下にカーソルをあてて10秒待ちます。

すると座標が取得でき、保存するファイル名・フォルダ名を聞かれるので入力しましょう。拡張子はいりません。

あとは自動でフォルダが作られ、翻訳され、できたPDFがフォルダに格納されます。

注意

  • デフォルトでは、ページ送り方向が【右】になっています。必要に応じて変更してください。(capture.py 104-105行目、118-119行目)
  • 現在のバージョンでは、スクリーンショットの撮影を行うため大量のpngファイルが生成されます。容量に余裕をもって実行してください。
  • 現在のバージョンでは、生成されたpngファイルやtxtファイルは自動で削除されません。必要に応じて手動で消去してください。

制作者

  • 相良スヒト
  • Twitter: @1plus1is__

kindle-translator's People

Contributors

1plus1is3 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.