広告を利用しています

当サイトは広告を掲載しています。消費者庁が2023年10月1日から施行した景品表示法の規制対象(通称:ステマ規制)にならないよう配慮して記事を作成しています(記事はこちら、消す方法はこちら

【PowerToys】「Text Extractor」OCRで英語を優先させる方法

豆知識系

「Microsoft PowerToys」のアイコン画像

この記事では、Windowsで使える便利機能を詰め込んだソフト「Microsoft PowerToys」の「Text Extractor」機能で、日本語ではなく英語を優先させる方法を書きます。

手動で英語のOCRファイルを入手する必要があります。

【PowerToys】「Text Extractor」OCRで英語を優先させる方法

「PowerToys」の「Text Extractor」機能はデフォルトで日本語が優先されるようになっています。日本語テキストを取得する時には便利ですが、英語テキストだと不便です。

「PowerToys」の「Text Extractor」スクリーンショット

試しに日本語を優先した状態で「Microsoft PowerToys」というテキストを読み取ってみました。結果は以下のようになりました。

<!--「Microsoft PowerToys」というテキストを日本語優先で読み取った結果-->
Mic 「 0S0負 PowerToys

「Mic」と「PowerToys」の部分は読み取れましたが他は正しくありませんでした。

テキストコピーできないソフトや画像上のテキストをクリップボードにコピーできる便利な機能ですが、優先言語以外の取得は精度が悪いです。

優先言語を日本語にした状態で「Microsoft PowerToys」英語テキストを取得した画像

僕は日本語テキストの場合キー入力したほうが早い時があります。OCRソフトを活用する場面は英語テキストをコピーする時です。

そんな僕からしたら日本語優先だと困るので英語優先にしてみます。「PowerShellパワーシェル」を使って英語用の言語パックをインストールします。

優先言語を「英語」にすることで逆に日本語のテキストが認識できなくなります。いちお切り替えることは可能ですが、本記事は主に英語テキストを取得するユーザー向けです。英語以外の言語にすることも可能です。

「Text Extractor」用の英語のOCR言語パックを入手する方法

「PowerShell」を管理者権限で起動する

Windowsに標準搭載されている「Windows PowerShell」を管理者として実行します。コマンドプロンプトや通常権限の「PowerShell」だとダメなので注意です。

Windows11のスタートメニューで「Windows PowerShell」と検索した画像
追記

読者の方より「Get-WindowsCapability: クラスが登録されていません」とエラーがでる…と連絡いただきました。調べてみるとどうやらPowerShell 7.〇を使っていると発生するようです。

もし同様のエラーがでた場合はWindows11にインストールされているもう一つのPowerShell(5.〇系)で試してみてください。

Windows11のスタートメニューに表示されている2つの「PowerShell」画像

言語パックをダウンロードする

起動できたら以下のコマンドをコピペしてEnterで実行します。「en-US」が英語の言語パックです。

PowerShell
$Capability = Get-WindowsCapability -Online | Where-Object { $_.Name -Like 'Language.OCR*en-US*' }
「PowerShell」を使って「PowerToys」用の英語OCR言語パックをインストールする手順画像1

恐らく1つ目のコマンドは特に成功メッセージなどないと思います。勝手に2行目が表示されます。続いて以下のコマンドを実行します。

PowerShell
$Capability | Add-WindowsCapability -Online
「PowerShell」を使って「PowerToys」用の英語OCR言語パックをインストールする手順画像2

「Operation Running(動作確認中)」というメッセージが表示されます。

その下に「〇」の進行状況が表示されるので満タンになるまで待ちます。使っているテーマなどによっては「〇」ではなくプログレスバー(進行状況バー)かもしれません。

「PowerShell」を使って「PowerToys」用の英語OCR言語パックをインストールする手順画像3

下記画像のように徐々に「〇」の数が増えていきます。

僕の環境だと数分程度かかりました。辛抱強く待ちます。いくら待っても変わらない場合Enterを押します。場合によっては画面(進行具合)が更新されるかもしれません。

「PowerShell」を使って「PowerToys」用の英語OCR言語パックをインストールする手順画像4

僕は素人なので分かりませんが、恐らく1つ目のコマンドで英語のOCR言語パックを選択、2つ目のコマンドでローカル(PC)内にダウンロードしているんだと思います。

ダウンロードが完了すると自動的に青色背景のメッセージが消えて下記画像のように表示されます。

Path :
Online : True
RestartNeeded : False

英語のOCR言語パックを「PowerShell」経由で入手した後のメッセージ

メッセージは理解できませんが成功ってことです。

「PowerShell」を使って「PowerToys」用の英語OCR言語パックをインストールする手順画像5

実際にインストールされているか確認する

「Microsoft PowerToys」を起動して「Text Extractor」ページを開きます。

「優先する言語」のドロップダウンリストを開くと、日本語だけでなくインストールした「English (United States)」も表示されます。選択することで優先言語を「英語」に変えられます。

「English (United States)」を追加した後の「PowerToys」の「Text Extractor」スクリーンショット

エクスプローラーの以下の場所を開くことで実際にダウンロードされているか確認できます。

C:\Windows\OCR

インストール前は「ja-jp」だけでしたが、インストール後は「en-us」フォルダーもあります。

英語のOCR言語パックをダウンロードした「C:\Windows\OCR」画像

ダウンロードしたけど「en-us」フォルダーがない場合、別のドライブの「OCR」フォルダーにダウンロードされていないかチェックしましょう。配置する場所は「C:\Windows\OCR」です。Dドライブなどではありません。

実際にOCR精度をチェックする

優先言語を「英語」にした上で冒頭で試した「Microsoft PowerToys」というテキストを再度取得してみます。以下のようになりました。

<!--「Microsoft PowerToys」というテキストを英語優先で読み取った結果-->
Microsoft Power Toys

「PowerToys」の間に余計な半角空白が入ってしまいましたが、つづり自体は正常に取得できています。やはり自分が取得したい言語を優先にしたほうが便利です。

優先言語を英語にした状態で「Microsoft PowerToys」英語テキストを取得した画像

逆に「ナポリタン寿司」という日本語テキストで試してみましたが、そもそも取得できませんでした。いくら範囲選択しても画面が元に戻らず、クリップボードを見てもコピーされていませんでした。

日本語を取得したい場合「Text Extractor」機能を発動した後、文字を選択する前に画面上の好きな場所を右クリックします。

インストールしている言語パックの切り替え右クリックメニューが表示されるので「日本語」をチェックします。これで一時的に優先言語が日本語に切り替わるので取得したい文章を範囲選択します。

「PowerToys」の「Text Extractor」で右クリックから一時的に優先言語を切り替える手順画像

次回は再び優先言語に設定した言語になります。頻繁に使う言語を優先にしてそれ以外は右クリックから切り替えるようにするといいかなと思います。

英語のOCR言語パックをアンインストールする方法

英語のOCR言語パックが不要になった場合、同じように「Windows PowerShell」を管理者で起動して削除コマンドを実行します。

インストールする時と同様2つのコマンドが必要です。まず1つ目は以下のコマンドです。

PowerShell
$Capability = Get-WindowsCapability -Online | Where-Object { $_.Name -Like 'Language.OCR*en-US*' }
「PowerShell」を使って「PowerToys」用の英語のOCR言語パックをアンインストールする手順画像1

2行目が表示されたら2つ目のコマンドを実行します。

PowerShell
$Capability | Remove-WindowsCapability -Online
「PowerShell」を使って「PowerToys」用の英語のOCR言語パックをアンインストールする手順画像2

青色背景のメッセージが表示されるので「〇」がいっぱいになるまで待ちます。すぐに終わります。インストール時と同様3行くらいのメッセージが表示されればOKです。

「PowerShell」を使って「PowerToys」用の英語のOCR言語パックをアンインストールする手順画像3

C:\Windows\OCR」から「en-us」フォルダーが消えます。「Text Extractor(PowerToys)」アプリ画面からも「English (United States)」がなくなります。

英語のOCR言語パックを削除した「C:\Windows\OCR」画像

英語以外のOCR言語パックを入手する方法

「PowerShell」で以下のコマンドを実行することで入手可能なOCR言語パックが一覧表示されます。

PowerShell
Get-WindowsCapability -Online | Where-Object { $_.Name -Like 'Language.OCR*' }
「Get-WindowsCapability -Online | Where-Object { $_.Name -Like 'Language.OCR*' }」コマンドを実行した「PowerShell」画像

例えば、「Language.OCR~~~ja-JP」は日本語です。「ja-JP」という部分で判別できます。ISO言語コードと国名コードの組み合わせになっています。こちらのサイト様で調べられます。

2025年2月時点で調べた一覧を貼っておきます。今後変わる可能性もあるのであんまり信用しないでください。

PowerShell
Language.OCR~~~ar-SA~0.0.1.0
Language.OCR~~~bg-BG~0.0.1.0
Language.OCR~~~bs-LATN-BA~0.0.1.0
Language.OCR~~~cs-CZ~0.0.1.0
Language.OCR~~~da-DK~0.0.1.0
Language.OCR~~~de-DE~0.0.1.0
Language.OCR~~~el-GR~0.0.1.0
Language.OCR~~~en-GB~0.0.1.0
Language.OCR~~~en-US~0.0.1.0
Language.OCR~~~es-ES~0.0.1.0
Language.OCR~~~es-MX~0.0.1.0
Language.OCR~~~fi-FI~0.0.1.0
Language.OCR~~~fr-CA~0.0.1.0
Language.OCR~~~fr-FR~0.0.1.0
Language.OCR~~~hr-HR~0.0.1.0
Language.OCR~~~hu-HU~0.0.1.0
Language.OCR~~~it-IT~0.0.1.0
Language.OCR~~~ja-JP~0.0.1.0
Language.OCR~~~ko-KR~0.0.1.0
Language.OCR~~~nb-NO~0.0.1.0
Language.OCR~~~nl-NL~0.0.1.0
Language.OCR~~~pl-PL~0.0.1.0
Language.OCR~~~pt-BR~0.0.1.0
Language.OCR~~~pt-PT~0.0.1.0
Language.OCR~~~ro-RO~0.0.1.0
Language.OCR~~~ru-RU~0.0.1.0
Language.OCR~~~sk-SK~0.0.1.0
Language.OCR~~~sl-SI~0.0.1.0
Language.OCR~~~sr-CYRL-RS~0.0.1.0
Language.OCR~~~sr-LATN-RS~0.0.1.0
Language.OCR~~~sv-SE~0.0.1.0
Language.OCR~~~tr-TR~0.0.1.0
Language.OCR~~~zh-CN~0.0.1.0
Language.OCR~~~zh-HK~0.0.1.0
Language.OCR~~~zh-TW~0.0.1.0

各項目2行目の「State」がインストール状態を表しています。「Installed」がインストールされていて「NotPresent」が未インストール状態です。デフォルトでは日本語だけ「Installed」になっています。

上記リストを参考にして入手したい言語に置き換えたインストールコマンドを実行します。

下記コマンドが「フランス語のOCR言語パック」の1つ目コマンドですが、この中の「fr-FR」という部分をご自身が欲しい言語パックに置き換えます。英語なら「en-US」にします。

PowerShell
$Capability = Get-WindowsCapability -Online | Where-Object { $_.Name -Like 'Language.OCR*fr-FR*' }

次に2つ目コマンドを実行します。2つ目のコマンドはどの言語でも共通しています。アンインストールするコマンドと間違えないよう注意です。

PowerShell
$Capability | Add-WindowsCapability -Online
「PowerShell」を使って「PowerToys」用のフランス語OCR言語パックをインストールする手順画像1

上記画像は新しい「PowerShell」なので若干UIが異なります。

フランス語を入手できました。

「PowerShell」を使って「PowerToys」用のフランス語OCR言語パックをインストールする手順画像2

中国語の場合は以下になります。2つ目のコマンドは共通なので省略します。

PowerShell
$Capability = Get-WindowsCapability -Online | Where-Object { $_.Name -Like 'Language.OCR*zh-CN*' }

感想

以上、「Microsoft PowerToysマイクロソフト・パワートイズ」の「Text Extractorテキストエクストラクター」機能に日本語以外の言語パックを追加する手順でした。

本記事は以下のMicrosoftの公式ドキュメントを参考にさせていただきました。「PowerToys」かなり便利です。

参考:PowerToysWindows 用の Text Extractor ユーティリティ | Microsoft Learn

2023年1月12日豆知識系

Posted by ナポリタン寿司