【PDFからデータが取得できません】help!!

※過去のPDF関連の質問は確認しました
※Adobe Acrobat Reader DCでもダメでした。
※Adobe Acrobat 2017をインストールしてもダメでした。

添付したPDFを「Get Text」しても全体が選択されてしまい、
各要素を個別に取得できません。

何か良い方法がありましたら、ご教授下さい。
宜しくお願いします。

test.pdf (143.7 KB)

まず、Acrobat Reader DCの場合ですが、メニューの
編集 > 環境設定 画面で、
「セキュリティ(拡張)」の中にある「起動時に保護モードを有効にする」をオフにしてみてください。
一応これで、Get Visible Text等で読めるようになると思います(ただ、日本語のPDFは文字の間にスペースが入る等は割とよくあるので、加工が大変だと思いますが)
※上記はセキュリティ的には本当は好ましくない設定でもあるので、必要であればセキュリティ管理者と相談した上で設定してください

或いは、Package Managerから、UiPath.PDF.Activitiesをダウンロードして、
App Integration > PDF > Read PDF Text
を試してみてください。こちらはString型で文字だけをごっそり拾ってくるので、文章構造は無視されますが、とりあえず「文字を読むだけ」なら、そこそこ高精度でできます。

表などから値を取得するのであれば、前者で文字位置を特定した上でアンカー等を使って探す、ことになると思いますが・・・。とりあえず、要件・目的にあわせてどちらかを選ぶ感じになると思います。

1 Like

Honokaさん

御教授頂き、ありがとうございます。
早速、試してみます!

Honokaさん

御教授頂いた方法を試行した結果、文字データを取得できましたが
必要項目の抽出が難しい内容となってしまいました。

■代替案
Proの下記メニューでExcelへ出力してから、必要項目を抜き出す処理にしようと思います。
【Adobe Acrobat Pro 2017】/ファイル/書き出し形式/スプレッドシート/Microsoft Excelブック

■試行結果
[1] セキュリティ設定を変更して Get Visible Text
⇒文字が密集している所が個別の要素として認識できず、断念しました。

[2] Read PDF Text を使う
⇒ごっそり所得できましたが、PDF上に記載されている文章構成ではなく、
記述順序がバラバラになってしまいました。
必要項目の抽出が困難なので、断念しました。

以上です。

お世話になります。

ちょうど同様の問題で解決方法を探しておりましたので
横から質問を失礼します。

[現象]
PDF文書の特定の項目のテキストをGet Text で取得したいのですが、
ドキュメント領域全体が1つのエレメントとして認識されてしまい、
PDF文書の一部を選択してテキストを取得することができません。

UI Explorer で見ると、‘client APPageView’ というエレメントで構成されており、子エレメントが存在しないようです。

[環境]
OS: Windows 7 Professional
APP: Adobe Acrobat Reader DC 2018.011.20040

Acrobat Reader DCで
メニュー>編集>アクセシビリティ>設定アシスタント を実行し、
推奨設定を選択すると可能になるのですが、
(初回ロボット実行時に確認のポップアップが表示される)
Acrobat Readerを再起動すると設定がリセットされてしまうようで、
起動するたびに アクセシビリティの設定を変更する必要があるようです。
※ Honoka様のご回答にありますように、
「起動時に保護モードを有効にする」をオフにしても同様でした。

可能であれば Acrobat Readerを起動して
PDFファイルを開くところから
UIPathで自動化したいと考えていますが
いい方法はございますでしょうか。

設定の変更も含めて自動化すればできなくはなさそうですが・・・

アクセシビリティの設定もなのですが、Acrobat Readerのバグでアクセシビリティが起動直後は使えないそうです。
ある意味、バッドノウハウなのですが、とりあえず「Acrobat ReaderにSend HotkeyでCtrl+K→設定画面を閉じる」を行うと、セレクタで引けるようになる(ことがある)そうです。

#という話を昨日、大手町で聞いてきました・・・

@nk_tecroom さん
変換ができるのであれば変換してしまうのが確実だと思います。
Read PDF Textは文章であれば兎も角、いわゆる帳票だと取得した後に「かなり頑張って」処理をしないといけないので、あまり役に立たないのが難しいところで・・・。特定の部分「だけ」を抜き出す、というなら文字列操作で頑張るという手もあるのですが。

アプリケーションのバグなんですね・・・・・
早急になおしてもらいたいものですがどうなんでしょう^^;

とりあえず 私の環境では 以下のようなFlowChartを組むことで
テキストを取得できましたので ご報告させていただきます。

1.Open Application( Acrobat Reader ArgumentでPDFファイルを指定
2.アクセシビリティの設定
2-1 Click: メニューの[編集]
2-1 Send Hotkey: Y (アクセシビリティ)
2-2 Send Hotkey: S (設定アシスタント)
2-3 Send Hotkey: U (推奨設定)

3 テキスト取得( Try-Catch-Finally)
3-1 Try
Get Text (タイムアウト:1000ms)
※ ポップアップが表示される。
3-2 Catch
3-2-1 Attach Window( 表示されたポップアップ )
3-2-2 Send Hotkey ALT+A (今後表示しない のチェックボックス)
3-2-3 Send Hotkey ALT+S (開始)

3-3 Finally
3-3-1 もう一度Get Text
※ Catch の最後 3-2-3 でもいいかも

Honokaさん

「かなり頑張る」のを諦めて、PDFをダウンロード後、Excelへ変換する手法をとります。
ありがとうございました。