目的
ショートカットキーを使って簡単に改行無しの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")