注目キーワード

【快適!Tools】英語のPDFをブラウザで自動翻訳してみよう(英語資料の翻訳)

すけろく
うーん。
これをコピーして、Google自動翻訳のサイトに張り付けて。。。
ぬうぉぉぉー!! 改行が翻訳の邪魔をしておる~(泣)
げんろく
どうした。
そんなに慌てて。ゆっくり落ち着いてやればできるぞ!
落ち着け!
すけろく
時間がないのだ!
明日までにざっくりとこの英論文の内容を頭に入れないと。。。
しかし、ボリュームがありすぎる~(泣)
げんろく
仕方ないのう。
そんなもの、Pythonを使って組んでしまえばよいではないか。
ほれ、ちょちょいのチョイだ。
英語の苦手な人、寄ってらっしゃい。見てらっしゃい。
最新のセミナー資料や技術論文って、すべて英語。。。ですよね。
そのまま読んでもいいのですが、日本人なので日本語よりも読むのに時間がかかります。。
ざっくりと内容掴んで自分の欲しいものかを判断したいだけなのに。
朗報です。
自分もPDFを翻訳する場合は、文章の一小節をコピーして、改行消して、Google翻訳で翻訳して。とやっていました。
改行コードをなくしたりするツールやサイトはあるものの、劇的に生産性を上げてくれるようなものがないのが現実でした。
インターネット上にある数あるセミナー資料や技術論文を参考にする際に一番重要なのは、「今、自分が欲している情報か」を概要的に掴むことですよね。
概要をつかむのに1時間~数時間かけて翻訳しても、自分の求めているものでなかったら・・・時間がもったいないです。
色々、方法を試しましたが、判読性がそこそこあって、一気に翻訳できる方法を確立したので、実際にツール化してみました。
皆さんにもご紹介したいと思います。

ツールはGitHubにて公開しています。

【合わせて読みたい】、Windows10環境を快適にするための人気記事も、ぜひご覧ください!
関連記事

最近のスマホやカメラは画質が良くなってきたこともあり、すぐにストレージがいっぱいになることも多くなりましたよね。 動画も増えてきて、思い出を編集しよう!ってパソコンで動画編集するとさらに容量が増え、しかも動画編集アプリが遅い!ってこと[…]

 

PDFから翻訳するのって骨が折れる

PDFの文章をコピーして翻訳サイトなどに張り付ける場合、一番めんどくさいのがコピーしたテキストに含まれる「改行」ですよね。
文章の途中で「改行」が入れられているので、翻訳サイトでそのまま翻訳すると変な日本語になることが多いです。
世の中には、テキストに含まれる改行を消してくれるツールやサイトがあり、これまでは重宝してきましたが、PDFから対象範囲をコピペして、翻訳していくのは時間のかかる作業でした。。
一方でブラウザの翻訳機能は向上していて、英語のサイトを見たときも自動翻訳機能を使えば、そこそこ読める内容になり、時間もとられません。
そこで、骨の折れるPDFの翻訳作業を効率化するため、以下の処理を実行するツールを作りました。
処理の内容としては次の通りです。
  1. 英文のPDFから画像やテキスト部分を抜き出す。
  2. ブラウザで見ることができるhtmlかhxmlに変換して保存する

PDFは、ページ上に複数のボックスが配置されていて、ボックスの中に画像やテキストが格納されています。
ボックスには位置情報が属性として与えられていて、PDFとして見た目のよいものに仕上がっています。

ボックスは、変換される際に定義された順番に処理されるので、その順番を含めて、アウトプットできれば、順序性のある文書に変換できます。
(ただし、ボックス変換順序があべこべの場合もあるので、一概には言えません。)

何とか、上記のボックス毎のテキストを抜き出して、ページ単位で変換したものを1つのファイルにまとめるためのPythonライブラリはないかと探しました。そこで見つけたのが「PyMuPDF」です。

かなりリッチなPyMuPDF

今回ご紹介するライブラリは、以下のサイトで公開されています。
使い方のチュートリアルのようなサイトも作られていて非常に親切でした。
PyPI

Python bindings for the PDF toolkit and renderer MuPDF…

Python3.6からPython3.9に対応しているとのことです。
詳しくは、リンクからGitHubページにてReadme.mdをご覧ください
ライブラリのインストールは以下のコマンドで行うことができます。
$ pip3 install PyMuPDF
少し注意が必要なのは、プログラムのインポート時の呼び出し方です。
以下のとおり呼び出します。
$ import fitz
ライブラリ名と異なる名前でインポートする必要があります。注意しましょう

実際にプログラムを組んでみよう

プログラム自体は以下の構成で作りました。
  1. プログラムの実行カレントパス(起動された場所)を検出する
  2. ログファイルを格納するフォルダをカレントパス配下に「Log」として作成する
  3. 実行環境の取得と判定(今回はWindows10のみで実行するように制限)
  4. 実行時に指定されたPDFを開く
  5. 画像やテキストをPDFからxhmlとして抽出する
  6. 実行カレントフォルダの配下に「result_file」フォルダを作成し、抽出結果を「output.html」ファイルとして保存
    (※ファイル出力は追記モードで出力する。出力ファイルをそのままに他のPDFも実行するとファイルに追記される)

 

ツールはGitHubにて公開しています。

 

ツールの使い方

ツールは、Anacondaで以下の環境を作り、追加ライブラリをインストールした状態で動作確認しています。
カテゴリ 環境
Python Python 3.8.10(conda)
OS
Microsoft Windows 10 Home

追加ライブラリは以下を入れています。

追加ライブラリ名 URL
PyMuPDF

https://github.com/pymupdf/PyMuPDF
https://pymupdf.readthedocs.io/en/latest/

ツールの実行方法

ツールの実行方法について、ご紹介します。


1

ツール格納用のフォルダをWindows10上に作成します。(例はC:\ドライブにToolsフォルダを作成)

C:\User\User> mkdir Tools
C:\User\User> cd Tools

ブラウザで以下のGitHubにアクセスします。


「Code」ボタンを押して、「Download zip」を押します。


ダウンロードされたファイルを1で作ったフォルダに格納して展開します。


ツール格納用フォルダに変換するPDFをコピーします。


コマンドラインで、Pythonの実行環境を起動します。
*Windows10にインストールしたPythonの環境起動方法にしたがってください。
*Anaconda の場合、一般的に以下のコマンドでPythonの環境を起動できます。

C:\User\User\Tools> conda activate "PythonEnvName"
(PythonEnvName)C:\User\User\Tools>

前提となるライブラリをインストールします。

(PythonEnvName)C:\User\User\Tools> pip3 install PyMuPDF

ツールを実行します。
(実行例:変換するPDF [ target.pdf ] 出力先ファイル名 [ output.html )

(PythonEnvName)C:\User\User\Tools> python HtmlConv4PDF.py -f target.pdf -o output.html

実行後、以下のフォルダが作成され、処理結果が格納されます。

Log     →実行結果ログが格納されます。 
result_files →実行結果(返還後のHtml)が格納されます。

編集後記

いかがだったでしょうか。
意外とめんどくさいPDF文書の日本語翻訳も、このツールならブラウザの自動翻訳機能を使って概要を読むことができます。
プログラムや電子工作をしていると文書はほとんど英語で、まあまあ読むことはできるのですが、日本語変換して確認する場合に比べやはり効率的ではありません。
Windows10で動くPythonプログラムの第1弾ということで、オフィスでも使える内容になっているのではないでしょうか。
皆さんもぜひ使ってみてください。
【合わせて読みたい】、Windows10環境を快適にするための人気記事も、ぜひご覧ください!
関連記事

最近のスマホやカメラは画質が良くなってきたこともあり、すぐにストレージがいっぱいになることも多くなりましたよね。 動画も増えてきて、思い出を編集しよう!ってパソコンで動画編集するとさらに容量が増え、しかも動画編集アプリが遅い!ってこと[…]