ナレッジベース

PDFファイルからのデータ抽出

概要

AdobeのAcrobat製品でPDFファイルを開いてウィンドウに対して[Indicate on Screen]を使用すると、全体が選択されて特定のエレメントのSelectorを取得できないケースがあります。こうしたケースへの対処法を解説します。

 

image2018-10-18_13-0-5

 

UiPathにおけるAcrobat製品で開いたPDFの操作方法

Selectorが取得できない場合、PDFを操作する前の操作が必要になりますが、使用するAcrobat製品やPDFファイルの内容によって操作方法が異なります。

以下の表に記載した通り、3つのパターンが存在します。それぞれのパターンの確認観点や操作方法の詳細について、次に紹介します。

 

パターンごとのSelectorを有効にする方法のまとめ表

 

image2018-10-24_13-27-19 

 

1.どのパターンに該当するか確認する観点

1-1. Acrobat製品を確認します。

1-2. PDFがタグ付きかどうかを確認します。

タグとはPDF内部に付与することで、文書構造を指定できるデータです。

 

2.Acrobat製品について

UiPathで動作の確認を行ったAcrobat製品は以下の2つです。

Adobe Reader 9

Adobe Acrobat Reader DC

 

3.タグ付き・タグなしPDFの確認方法

PDFがタグ付きかどうかはAcrobat製品のプロパティ画面から判断できます。
メニュー [ファイル] - [プロパティ]

 

4.パターンごとのSelectorを有効にする方法

4-1.タグ付きPDF&Adobe Acrobat Reader DCの場合

[環境設定]画面を一度、開いて閉じます。

具体的なフローは次の1~3になります。
1.PDFファイルをAcrobat Readerで開きます。
2.Send hotkeyにて、Ctrl + kを送信して、[環境設定]画面を開きます。
  (この処理がMicrosoft Active Accessibilityを取得するトリガーとなります。)
3.Send hotkeyにて、ESCを送信して、[環境設定]画面を閉じます。

4-2.タグ付きPDF&Adobe Reader 9の場合

通常は必要な操作はありませんが、例外があります(以下の補足を参照)。

4-3.タグなしPDFの場合(Adobe Acrobat Reader DC、Adobe Reader 9共通)

[読み上げ起動]を実行します。

具体的なフローは次の1~3になります。
1.PDFファイルをAcrobat製品で開きます。
2.メニュー [表示] - [読み上げ] - [読み上げを起動] を実行します。
3.[Find Element]Activityで任意のエレメントを抽出します。

 (この処理が[コンテンツ準備の進行状況]を表示するトリガーとなります。この段階ではウィンドウ全体しか選択できませんが、しばらくすると下図のような[コンテンツ準備の進行状況]ウィンドウが表示されます。そのためタイムアウト値は長めにとってください。)

 

補足

上記方法を実行しても特定のエレメントのSelectorを取得できない場合は以下の対応方法があります。(※保護つきのPDFが該当することが確認済みです。)

・Read PDF Textアクティビティ(UiPath.PDF.Activities)を使用してファイル全体を取得し、取得したStringデータを正規表現などにより構造化されたデータに変換します。

・上記の方法でうまくいかない場合、OCR技術を使用します。