この記事では、MicrosoftのRPAツール「Power Automate Desktop」を使い、PDFからデータを抽出する方法を初心者向けに詳しく解説します。具体的には、OCR(光学文字認識)機能を活用して、紙媒体をスキャンしたPDFから数字や日本語のデータを正確に抽出する手順を学びます。今回は、以下の2つのケースを想定します:
- まっすぐにスキャンされたPDF
- 斜めにスキャンされたPDF
さらに、日本語データを正確に読み取るために必要な準備として、Tesseract OCRの日本語言語パックのインストール方法も詳しく説明します。これを読むことで、誰でもPDFから必要なデータを抽出できるスキルを身に付けることができます。
手順1:Tesseract OCRの日本語言語パックをインストールする
Power Automate Desktopで日本語を含むデータを正確にOCR処理するためには、Tesseract OCRの日本語言語パックをインストールする必要があります。
インストール手順
- Tesseract OCRの公式ページからインストールファイルをダウンロードします。公式リンク:Tesseract OCR GitHub
- インストール時の「Language data(言語データ)」の選択画面で、他の不要な言語データを除外し、「Japanese(日本語)」のみを選択します。
- インストールが完了したら、Power Automate Desktopを再起動して、日本語OCRが使える状態になったことを確認します。
注意: インストール中に、保存先フォルダのパスを控えておきましょう(後でOCRエンジンの設定に必要です)。
手順2:Power Automate Desktopで新しいフローを作成する
1. 新しいフローの作成
- Power Automate Desktopを開き、「新しいフロー」を作成します。
- フローに名前を付けます(例:「PDFからデータ抽出」)。
2. PDFファイルを開くアクションを追加
- 左のアクションパネルから「ファイル」セクションを開き、「ファイルを開く」をフローに追加します。
- PDFファイルのパスを指定します。
- 入力例:
C:\Documents\sample.pdf
- 入力例:
3. OCRによるテキスト抽出の設定
- 左のアクションパネルで「OCR」を検索し、「OCRテキストを抽出」をフローに追加します。
- 「OCRテキストを抽出」アクションの詳細設定を以下のように入力します:
- OCRエンジン: Tesseract OCR
- OCR言語:
Japanese(日本語) - 読み取り範囲: デスクトップレコーダーで範囲を選択
- PDFビューアを開き、デスクトップレコーダーを起動して、読み取る範囲を指定します。
- 例: 数値データのみを読み取る範囲を選択。
4. アンカー領域を設定する
斜めにスキャンされたPDFの場合、データ抽出の精度を高めるためにアンカー(基準点)を設定します。
- OCRアクションの「アンカー領域」を指定します。
- アンカー領域には、文書内で固定された位置にあるテキスト(例: 見出しやラベル)を選択します。
- アンカーを基準に、相対的な位置からテキストを抽出する設定を行います。
5. 抽出したデータを加工して表示
抽出したテキストデータを整形して、メッセージボックスに表示します。
- 左のアクションパネルから「テキスト操作」を検索し、「テキストをトリム」をフローに追加します。
- 不要な改行や空白を削除する設定を行います。
- 「メッセージボックスを表示」アクションを追加し、整形済みのデータを表示するように設定します。
手順3:日本語データの抽出
日本語テキストを正確に抽出するために、Tesseract OCRの日本語言語パックを指定する設定を行います。
- OCRアクションの「OCR言語」を
Japaneseに設定します。 - PDFから抽出した日本語データが正確に表示されるか確認します。
ポイント: 日本語のフォントによっては、OCR精度が異なる場合があります。日本語専用のOCRエンジンを使うことで、精度を向上させることが可能です。
動作確認
ここまでで作成したフローを実行し、PDFから抽出したデータが正しく表示されるか確認します。具体的には、以下の点をチェックしてください:
- 数字データと日本語データが正確に抽出されているか
- 不要な改行や空白が削除されているか
- 斜めにスキャンされたPDFでも正確に抽出できているか
よくある質問(FAQ)
Q1: Tesseract OCRの日本語データがインストールできない場合はどうすればいいですか?
A: 日本語言語パックのダウンロードが失敗する場合、以下を試してください:
- インターネット接続を確認する。
- 手動で日本語データをダウンロードし、Tesseract OCRのインストールフォルダにコピーする。
Q2: OCRで日本語の精度が低い場合の対策は?
A: 次の方法を試してください:
- PDFを高解像度でスキャンし直す。
- フォントを変更する(例: メイリオやゴシック体)。
- OCRエンジンの設定で「文字サイズ」や「解像度」を最適化する。
Q3: Power Automate DesktopでPDF全体を自動的にスキャンすることはできますか?
A: 現在、Power Automate Desktopには「全ページを自動でOCR処理する」オプションはありませんが、複数のページをループ処理で順に抽出することが可能です。
