【UiPath応用】第3回:PDF操作~請求書の金額を「見たまま」読み取ろう~

こんにちは!UiPath メンターです。

紙の請求書がPDF(電子ファイル)に変わるにつれて、RPAの出番は急増しています。
しかし、PDFはExcelと違って「セル」がないため、ロボットにとっては少し読み取りにくい相手です。

「どうやって金額の場所を教えればいいの?」
「画像として読み取るの?文字として読み取るの?」

今回は、目的に合わせて2つの武器を使い分ける方法を伝授します。

  • 方法①(今回のメイン): PDFを画面で開いて、Webのように読み取る(特定の項目が欲しい時)
  • 方法②(プロ向け): 裏側で文字データを一気に引き抜く(全文が欲しい時)

1. 方法①:画面操作で「金額」をピンポイントで抜く

これが最もモダンデザインらしい、直感的な方法です。
PDFをAdobe Acrobat Readerや、Google Chrome(ブラウザ)で開き、それを「Webサイトと同じように」扱います。

メリット: 設定が簡単。「アンカー(目印)」が使えるのでズレに強い。
デメリット: PDFを開く画面動作が入るため、少しだけ時間がかかる。

手順

  1. 対象のPDFファイルを、Adobe ReaderやChromeなどで開いておきます。
  2. Studioで [アプリケーション/ブラウザを使用] を配置し、開いたPDF画面を指定します。
  3. その中に [テキストを取得 (Get Text)] を配置します。

アンカーの出番!

第5回で学んだテクニックがここでも火を噴きます。

  • ターゲット(緑): 実際の金額(例:¥10,800
  • アンカー(青): その横にある「ご請求金額」というラベル

こう設定しておけば、他のページの金額と間違えることなく、確実に「請求金額」だけを抜き取れます。
Webサイトと全く同じ感覚でPDFを攻略できるのです!

2. 方法②:パッケージを使って「全文」を抜く

次は、PDFファイルを開かずに、裏側でデータだけを高速に抜き出す方法です。
こちらは標準機能ではないため、専用のパッケージを入れます。

準備:パッケージのインストール

  1. リボンの [パッケージを管理] を開きます。
  2. [オフィシャル] から UiPath.PDF.Activities を検索してインストールします。

テキストを一括取得する

インストールが完了すると、アクティビティパネルに「PDF」カテゴリが増えます。

  1. [PDF のテキストを読み込み (Read PDF Text)] を配置します。
  2. [ファイル名] にPDFのパスを指定します。
  3. [出力] プロパティで変数(例:str_AllText)を作成して保存します。

これを実行してメッセージボックスで表示すると、PDFに書かれている全ての文字がズラズラと表示されます。
「特定のキーワードが含まれているかチェックしたい」場合や、「全文をメモ帳に保存したい」場合はこの方法が最強です。

💡 メンターからのアドバイス:どっちを使えばいい?

特定のデータ(金額や日付)が欲しいなら「方法①(画面操作)」が圧倒的に楽です。
方法②で金額だけ抜き出すには、取得した大量のテキストの中から「¥マークの後ろの数字を探す」という複雑な加工(文字列操作)が必要になるからです。

3. PDFが「画像」の場合(OCR)

もしPDFが「紙をスキャンしただけの画像データ」だった場合、上記の方法では文字を選択できません。
その時は、OCR(光学文字認識)の力を借ります。

  • 方法①の場合:[アプリケーション/ブラウザを使用] の中で、[画像からテキストを取得 (Get Text from Image)] を使います。
  • 方法②の場合:[OCR を使用して PDF のテキストを読み込み (Read PDF With OCR)] を使います。

どちらも「画像をAIが読み取って文字にする」機能です。
精度は100%ではありませんが、手入力よりは遥かに効率的です。

今回のまとめ

  • 特定の項目(金額など)が欲しいなら、[アプリケーション/ブラウザを使用][テキストを取得] がおすすめ。
  • アンカーを使えば、レイアウトが多少ズレても正しく読み取れる。
  • 全文が欲しいなら UiPath.PDF.Activities パッケージの [PDF のテキストを読み込み] を使う。

⚠️ つまづきポイント:ChromeでPDFが開かない?

ChromeでPDFを開こうとしてもダウンロードされてしまう場合は、Chromeの設定で「PDF を Chrome で開く」ように変更するか、Adobe Acrobat Readerなどの専用アプリを使いましょう。
専用アプリの方が、UiPathの認識精度(セレクターの安定性)は高い傾向にあります。

さて、PDFからデータを読み取ることはできましたが、取得したデータが
"合計:¥10,800 (税込)"
のように、余計な文字を含んでいることはありませんか?

次回からは第2章「データを自在に操る」編。
この "合計:¥10,800 (税込)" から、数字の 10800 だけを綺麗に取り出す「文字列操作」や、日付の計算テクニックを学びます。
実務レベルのロボットには必須のスキルです!

タイトルとURLをコピーしました