メンヘラテクノロジーの高桑蘭佳です。今回は何か特別な背景があるわけではなく、ただただ純粋に自分自身の作業効率を上げるためのツールを作成してみました。その様子を紹介できればと思います!
強いて言うならば、私自身はちょっとした作業を自動化することが日常的にあり、最近RPA(ロボティック・プロセス・オートメーション)のような文脈の中で社内・チーム内で頻繁に繰り返す単純作業を自動化した際に、自分以外でも使えるように環境を整えることは意外と大事なことだと感じました。
私たちはスタートアップでリソースもまったくない状態ではあるので、社内ツールの開発をリッチにできる余裕など存在しません。しかし、今回初めてPySimpleGUIを使ってみたところ、単純に自分の作業環境を改善するくらいの実装コストで、良い感じのGUIツールが作成できたので、今後も積極的に使っていきたいと思いました。
今回作成したのはタイトルの通り、英語のPDFファイルを日本語に翻訳するGUIツールです。もともとPDFファイルからテキストを抽出し、翻訳ツールを使って日本語に翻訳するところまでは自動化していました。しかし、PDFのファイルのパスを都度指定して、吐き出された日本語のテキストファイルを開きにいく……ということすら面倒くさくなってしまい、GUI化できたらとても楽そう〜! と思い、作ってみることにしました。
英語のPDFファイルを日本語に翻訳する
英語のPDFファイルを日本語に翻訳する部分については軽く紹介できればと思います。今回、PDFファイルからのテキスト抽出には「pdfminer.six」というライブラリ、翻訳には「DeepL API」(クライアントライブラリ「deepl」)を使用しました。
DeepL APIについてはアカウントを作成し、クレジットカード情報を登録した後、事前準備として認証キーを発行します。
DeepLの認証キーは「dotenv」というライブラリを使用して.envファイルで管理します。作成した.envファイルはメインのプログラムと同じディレクトリに保存します。
# .env
DeepL_API_KEY = ‘(認証キー)’
以下、PDFファイルからテキストを抽出する関数です。
# guitool.py
from pdfminer.high_level import extract_text
def pdf_to_text(pdf_path): #引数:PDFファイルのパス
docs = extract_text(pdf_path) #pdfファイルからテキストを抽出
en_docs = docs.replace('\n', '') #テキストから改行コードを削除
return en_docs
以下、DeepL APIを使用して、英語のテキストを日本語に翻訳する関数です。
# guitool.py
import deepl
from dotenv import load_dotenv
import os
def translate(en_docs):
load_dotenv('.env') #.envファイルの値を環境変数に追加
API_KEY = os.environ.get('DeepL_API_KEY') #認証キーの読み込み
translator = deepl.Translator(API_KEY) #認証キーを設定
jp_docs = translator.translate_text(en_docs, source_lang='EN', target_lang='JA') #翻訳の実行
return jp_docs
この連載の記事
- 第319回 歌声合成ソフト「UTAU」でオリジナルキャラを歌わせてみた
- 第318回 DTM勢がAIで作曲したら、AIの得意分野と苦手分野が見えてきた
- 第317回 ものづくり版コミケ「Makerフェア」2024年は面白かった。出展者の世代交代もなされているように見えた
- 第315回 0歳児、いつから保育園に? 女性の働き方、とことん考えてみました
- 第315回 推しの細胞がついた指輪を作ってもらった
- 第314回 おしゃれすぎるファン付きウェアを買って重要な問題に気付いた
- 第313回 0歳児がいながら、働く。ベストなやり方は?
- 第312回 パートナーの反対で転職できない問題
- 第311回 YouTubeの再生を止めないために画面を自動でタップする機械を作った
- 第310回 地方に移住したいが、東京にとどまるべきか
- この連載の一覧へ