PDF内の画像からOCR機能でテキストを生成する方法Tech TIPS

PDFファイルで受け取ったファイル内の文字列が選択できず、テキスト化できないことがある。これは、PDFファイル内のデータが画像になっているケースが多い。このような場合、OCR機能を使って、PDFをテキスト化するとよい。その方法を紹介しよう。

» 2023年09月11日 05時00分 公開
[小林章彦デジタルアドバンテージ]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Tech TIPS」のインデックス

連載目次

対象:PDFファイル(Windows 11)


文字がコピーできないPDFファイルをOCR機能でテキストを抽出する 文字がコピーできないPDFファイルをOCR機能でテキストを抽出する
PDFファイルの中身が画像になっていると、PDF内の文字をコピーすることができない。PDFを見ながら、他のアプリケーションにコピーするのは面倒だし、ミスも発生しがちだ。そこで、OCR機能を使って、PDFファイルからテキストを抽出する方法を紹介しよう。

 領収書などをPDFファイルで受け取った際、社内システムに入力したり、集計したりするため、PDF内の金額などの文字列をコピーすることも多いのではないだろうか。ただ、PDFファイルによっては、文字列がコピーできず、PDFを見ながら仕方なく手動で入力していることもあると思う。手動で入力すると、手間がかかるうえに、間違えも発生しやすい。

 また、こうしたPDFファイルは、Tech TIPS「PDFファイルをWord/Excelファイルに変換して編集する方法」でファイルの変換を試しても、変換できないことが多い。

 こうした文字列がコピーできないPDFは、PDFの中身が画像になっていることが多いので、OCR(光学的文字認識)機能を使って画像から文字を読み取らせるとよい。その方法を幾つか紹介しよう。

OneNoteを使ってPDFから文字列を抽出する

 「Microsoft 365」のOffice製品をインストールするなどした際にインストールされる「Microsoft OneNote」のOCR機能を使うことで、PDFやJPEG画像の文字を読み取らせることができる。

 OneNoteには、「Windows 10」に付属していたバージョンの他、複数の入手経路があり、アプリケーションとしてはほぼ同じものでありながらライセンスが異なっている点に注意してほしい。特に商用利用の可否については、下表のように異なっている。Microsoft 365を契約していたり、Office製品を購入していたりする場合は、問題なくOneNoteの商用利用が可能だ。その他のバージョンの商用利用についてはご自身で確認してほしい。本Tech TIPSではMicrosoft 365版のOneNoteを例にOCRを実行する手順を紹介する。

配布形態 備考 商用利用の可否
Windows 10付属 Windows 10からWindows 11にバージョンアップした場合も利用可能 可能
MicrosoftのWebサイトで配布 「OneNote」ページでダウンロード可能 不可
Microsoft Storeで配布 不可
Microsoft 365/Office製品 Officeとともにインストール 可能
OneNoteの配布形態と商用利用の可否
他にWeb版もあるが、Web版にはOCR機能が実装されていない。

 OneNoteのOCR機能は、OneNoteを起動し、ノートブックに新しいセクションを追加したら、そこにテキストを読み取らせたいPDFファイルをドラッグ&ドロップする。[ファイルの挿入]ダイアログが表示されるので、ここで[印刷イメージの挿入]を選択すると、新しいセクションにPDFファイルが読み込まれる。

 読み込まれたPDFファイルを右クリックし、表示されたメニューの[印刷イメージのこのページからテキストをコピー]または複数ページある場合は[印刷イメージの全ページからテキストをコピー]を選択する。

 これで、OCR機能により、PDF内のテキストが読み取られ、クリップボードに保存されるので、「メモ帳」アプリなどを開き、貼り付ければよい。

 PDFファイルの状態にもよるが、比較的高い精度でテキスト化できるはずだ。ただ、完璧ではないので、必ず数字などに誤りがないか確認すること。

OneNoteを使ってPDFから文字列を抽出する(1) OneNoteを使ってPDFから文字列を抽出する(1)
OneNoteを起動し、新しいセッションを追加、セッションにPDFファイルをドラッグ&ドロップする。[ファイルの挿入]ダイアログが表示されたら、[印刷イメージの挿入]を選択する。
OneNoteを使ってPDFから文字列を抽出する(2) OneNoteを使ってPDFから文字列を抽出する(2)
OneNoteにPDFファイルが読み込まれるので、このPDFを右クリックし、表示されたメニューの[印刷イメージのこのページからテキストをコピー]を選択する。OCR機能によってPDFからテキストが抽出され、クリップボードにコピーされる。
OneNoteを使ってPDFから文字列を抽出する(3) OneNoteを使ってPDFから文字列を抽出する(3)
「メモ帳」アプリなどを起動し、クリップボードから貼り付ける。比較的高い精度でPDFファイルのテキストが抽出できていることが分かる。

無料のWebサービスを利用してテキスト化する

 Tech TIPS「PDFファイルをWord/Excelファイルに変換して編集する方法」でも紹介した通り、PDFファイルの編集や変換が可能なWebサービスが複数提供されている。

 ただ、OCR機能については、提供されていなかったり、日本語の読み取りがおこなえなかったりするWebサービスもある。編集部で調べた限り、「DeftPDF(原稿執筆時点はベータ版)」「iLovePDF」「Light PDF」「PDF24 Tools」の4つのWebサービスが、編集部で用意したテスト用の中身が画像になっているPDFファイルのOCRが可能であった。

 どのWebサービスもPDFファイルをドラッグ&ドロップして、文書の言語を指定、OCRの開始ボタンをクリックすれば、PDFファイルのOCRが開始される。「iLovePDF」と「PDF24 Tools」は、オリジナルのPDF(画像)に透明テキストを埋め込んだPDFに変換される。そのため、文字を抽出するためには、PDFビュワーで開いて、文字部分を選択して、コピー&貼り付けする必要がある。

 「DeftPDF」は、抽出したテキストのみが出力される。「Light PDF」は出力先として、Wordファイル(.docxファイル)やプレーンテキスト(.txtファイル)などが選択できる。ただし、ダウンロードにはログインが必要になる(GoogleアカウントやFacebookアカウントも可能)。

 ここでは、編集部で用意したテスト用PDFファイルのOCR結果がもっとも優れており、使い勝手のよかった「Light PDF」を例にPDFファイルのOCR機能を紹介しよう。

 前述の通り、WebブラウザでWebサービスを開き、PDFファイルをドラッグ&ドロップし、「認識モード」で[標準][強化]のいずれかを選び、「言語認識」で[日本語]を選択し、「出力フォーマット」で[Word(.docx)][Excel(.xlsx)][PPT(.pptx)][PDF(.pdf)][プレーンテキスト(.txt)]から出力したいファイルフォーマットを選択する。

 [OCR]ボタンをクリックすると、画面が切り替わり、[ファイルをダウンロード]ボタンが表示された画面になる。ログインした状態で実行した場合、この画面が表示されるのと同時にファイルがダウンロードされる。ログインしていない場合は、ここで[ファイルをダウンロード]ボタンをクリックすると、ログインが求められるので、Googleアカウントなどでログインを行うと、変換したファイルがダウンロードできる。

Light PDFを使ってテキスト化する(1) Light PDFを使ってテキスト化する(1)
Webブラウザで「Light PDF」を開き、PDFファイルをドラッグ&ドロップする。
Light PDFを使ってテキスト化する(2) Light PDFを使ってテキスト化する(2)
「認識モード」や「出力フォーマット」を選択し、[OCR]ボタンをクリックする。ログインしている場合、変換後、自動的にファイルがダウンロードされる。
Light PDFを使ってテキスト化する(3) Light PDFを使ってテキスト化する(3)
ログインしていない場合、[ファイルのダウンロード]ボタンをクリックする。
Light PDFを使ってテキスト化する(4) Light PDFを使ってテキスト化する(4)
[ログイン]ダイアログが表示されるので、Googleアカウントなどでログインを行う。ログインすると、自動的にファイルがダウンロードされる。

 「認識モード」の[標準]と[強化]のそれぞれの出力結果の例を下画面で示す。[標準]でも比較的認識精度が高いものの、[強化]にすると、[標準]では文字化けのようになっていた片仮名の「バ」も正しく認識された。この結果を見ると、「認識モード」は[強化]を選択しておくと、処理時間がかかるものの、文字認識の精度が上がりそうだ。

「認識モード」の[標準]と[強化]の違い(1) 「認識モード」の[標準]と[強化]の違い(1)
[標準]では、一部が文字化けしてしまうことがあった。画面の「引呼」と表示されている部分は押印されていた部分である。
「認識モード」の[標準]と[強化]の違い(2) 「認識モード」の[標準]と[強化]の違い(2)
[強化]を選択すると、[標準]で文字化けしていた部分も正しく認識できた。

 なおLight PDFは、無料で変換できるのが1日3回までとなっている。4回以上のOCRが必要な場合は有償プラン(商用版は年間8390円)への申し込みが必要になる。どうしても無料で制限なくOCRを行いたいのであれば、他のWebサービスも試してみるとよいだろう。

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。