1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Pythonを使ってPDFの改行無しの翻訳をDeepLで実行する

Posted at

目的

ショートカットキーを使って簡単に改行無しのPDFの翻訳を行う。

環境

windows 10
python 3.10

コード

パッケージのインストール

今回使うパッケージをインストールします。

pip install keyboard pyautogui pyperclip
# keyboard: ショートカットキーの受け取りに使う
# pyautogui: 画面の操作に使う
# pyperclip: クリップボードの取得に使う

パッケージのインポート

必要なパッケージをインポートします。

import keyboard
import pyautogui
import pyperclip
import re # 改行の削除
import time
import os # DeepLを開く

メイン

def main():
    #  現在選択されているテキストをコピーする
    pyautogui.hotkey("ctrl", "c")
    #  DeepLを開く
    os.system("DeepL.exeのパス")

    #  コピーされたテキストを取得し改行を削除したテキストをクリップボードに保存する。
    text = pyperclip.paste()
    text = " " + text
    text = re.sub(r"\r\n|\r|\n", " ", text).replace("  ", " ")
    pyperclip.copy(text)

    # 0.075秒待つ。DeepLが開いてDeepLに移動するまで少し時間がかかるため少し待つ
    time.sleep(0.075)

    # DeepLの入力欄をクリックし以前のテキストをすべて選択し、上書きペーストする
    pyautogui.leftClick(x=121, y=185)
    pyautogui.hotkey("ctrl", "a")
    pyautogui.hotkey("ctrl", "v")

実行

if __name__ == "__main__":
    #ショートカットキーを押すとmain関数を実行する
    keyboard.add_hotkey("ショートカットキー", main)
    # escを押すとプログラムが終了する
    keyboard.wait("esc")

ファイル全体

このスクリプトを保存しファイルを実行すれば終了するまでショートカットキーを押せば改行無しで翻訳をすることができる。

import keyboard
import pyautogui
import pyperclip
import re # 改行の削除
import time
import os # DeepLを開く

def main():
    #  現在選択されているテキストをコピーする
    pyautogui.hotkey("ctrl", "c")
    #  DeepLを開く
    os.system("DeepL.exeのパス")

    #  コピーされたテキストを取得し改行を削除したテキストをクリップボードに保存する。
    text = pyperclip.paste()
    text = " " + text
    text = re.sub(r"\r\n|\r|\n", " ", text).replace("  ", " ")
    pyperclip.copy(text)

    # 0.075秒待つ。DeepLが開いてDeepLに移動するまで少し時間がかかるため少し待つ
    time.sleep(0.075)

    # DeepLの入力欄をクリックし以前のテキストをすべて選択し、上書きペーストする
    pyautogui.leftClick(x=121, y=185)
    pyautogui.hotkey("ctrl", "a")
    pyautogui.hotkey("ctrl", "v")

if __name__ == "__main__":
    #ショートカットキーを押すとmain関数を実行する
    keyboard.add_hotkey("ショートカットキー", main)
    # escを押すとプログラムが終了する
    keyboard.wait("esc")
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?