cancel
Showing results for 
Search instead for 
Did you mean: 

PDFから特定の文字を検索して、その文字があるページ数を取得したい

hajimemiyahira
Level 5
掲題のような処理をさせたいのですが、何かいい方法、DXはあるでしょうか?
ただし以下の条件があります。(条件が厳しすぎて申し訳ないです、、)
1.ロボットを動かす端末がネットワーク制限をかけており、インターネットに出れない。
2.PDF文章が重要機密なので、インターネットには出せない。
3.Adobe Acrobat Pro DCの「高度な検索」から「結果をCSVに保存」の機能がそのまんま欲しい機能なのですが、ライセンス的に利用が難しい。(別途、調整中)


「PDF Text Extraction Google Cloud」のDXが使えそうかな、と思ったのですが、どうやらGoogle Cloudと連携が必要そうなので、1.にひっかかり検討対象から外しました。


BluePrism単体で処理できれば一番楽なのですが。。。
DXかもし参考になりそうなスクリプトなどありましたら、ご紹介いただけますと非常に助かります。



------------------------------
hajime miyahira
株式会社スクウェア・エニックス
------------------------------
5 REPLIES 5

お世話になっております。Blue Prism の生井沢です。

以前、ご要望にマッチする SRI - Utility - PDF と言う VBO が DX サイトからダウンロード可能だったのですが、現在は削除されてしまったようです。そのため、以下のサイトで紹介されている Apache Tika を用いて PDF から文字データを抽出した後に特定の文字が含まれるかご確認いただく案は如何でしょうか?(ページの判断ができるかは試行錯誤が必要そうですが)

・[Blue Prism] PDF からテキストデータを抜き出す(Apache Tika を使って)
 https://qiita.com/muuuuuwa/items/ed629ee20b405d4e7655

また、大変恐縮ではございますが、DX サイトから削除されてしまったため Community Support とかも受けられないと思われるため、自己責任でご利用いただく前提でしたら私が以前入手した SRI - Utility - PDF をご提供することも可能でございますので、必要でしたらご連絡いただけますでしょうか?

以上、よろしくお願いいたします。


------------------------------
Hiromi Namaizawa
Senior Solutions Consultant
Blue Prism
Asia/Tokyo
------------------------------

お世話になっております。SQEX宮平です。

情報ありがとうございます、大変助かります。

Apache Tike、ページ数のデータもありそうなので多分いけそうな気がしますね。ちょっと検証してみます。
あと、SRI - Utility - PDFのご提供をお願いしてもいいでしょうか?自己責任ということは了解しました。

以上、よろしくお願いします。


------------------------------
hajime miyahira
株式会社スクウェア・エニックス
------------------------------

お世話になっております。Blue Prism の生井沢です。

ご連絡ありがとうございました。
先程、宮平様のメールアドレスへ SRI - Utility - PDF を送付させていたきました。

メールでも記載させていただきましたが、PDF 全体のページ数が取得でき、文字を読み取る際に対象ページも指定できるので、
宮平様が想定されている使い方が実現できることを期待しております。

よろしくお願いいたします。


------------------------------
Hiromi Namaizawa
Senior Solutions Consultant
Blue Prism
Asia/Tokyo
------------------------------

生井沢さま

VBO利用できるようになりました、ありがとうございます。
ご提示いただいた「SRI - Utility - PDF::Get Text from Page Range to Collection」を利用して、
ページ毎の文字列、ページ数のコレクションが取得できました。
そのコレクションに対して文字検索すれば、対象文字列があるページ数を取得する、という当初の目的は達成できそうです。

ただ「SRI - Utility - PDF」を使うために必要な「itextsharp.dll」(v5.5.13.1)がAGPLライセンスのようです。
以下参考
iTextのライセンスについて
以下抜粋
ver.5系はAGPLライセンス
AGPL(Affero GPL) は、MPLとは正反対で相当厳しいライセンスなようです。このスライドを見れば、いかに厳しいかがよく分かります。なにせあの GPL(General Public License) よりも厳しいのですから。
ですので、クローズドなアプリ内でiTextを使用する(ソースコードの公開を回避する)ためにはiTextの商用ライセンスの購入が必要となります。

ここからは想像ですが(ライセンスの専門家ではないので見当違いのことを言っていたらすみません)
「itextsharp.dll」が必要だったために、「SRI - Utility - PDF」はDXから削除されてしまったのでは。
同じくPDFを操作する「PDF Management」で必要な「PdfSharp.dll」はMITライセンスなので、DXに残っているのでは。
という推測です。

別途ご提示いただいた「Apache Tika」であればApache License 2.0なので、特に問題なさそうです。
また今日は「Apache Tika」をいじっていたのですが、PDFからHTML contentを取得でき、ページ数取得もできそうでしたので、
「Apache Tika」を採用する方向で進めています。

わざわざご送付いただいたのに大変申し訳ありません。
また諸々ご対応いただきありがとうございました。



しかし、実際どうなんでしょうね。
BluePrismを社内だけで使う場合、AGPLライセンスを混ぜたらどうなるのか。
(GPLライセンス系というだけで震えます)



------------------------------
hajime miyahira
株式会社スクウェア・エニックス
------------------------------

宮平

お世話になっております。Blue Prism の生井沢です。

いろいろとお調べいただきまして有難うございました。
また、製品ベンダーの人間なのに AGPL ライセンスのライブラリを含む VBO をお気軽に提供してしまい大変申し訳ございませんでした。

その後、私もご紹介いただいたリンクや「itextsharp.dll ライセンス」で検索したページを閲覧してみて恐ろしくなりました。
私としても想像でしかないですが、宮平様のおっしゃるように itextsharp.dll を含んでいた SRI - Utility - PDF が削除された可能性が高いと思います。

それでも、Apache Tika を用いることで目的とする処理が実現出来そうとのことで安心いたしました。
実は Apache Tika を紹介しているページは弊社パートナー様のエンジニアさんが投稿されたものだと思われます。このような情報を発信いただけて本当に有り難く思います。

>
しかし、実際どうなんでしょうね。
> Blue Prismを社内だけで使う場合、AGPLライセンスを混ぜたらどうなるのか。
> (GPLライセンス系というだけで震えます)

恐ろしいので、SRI - Utility - PDF のことはお忘れください。☺

以上、今後ともよろしくお願いいたします。



------------------------------
Hiromi Namaizawa
Senior Solutions Consultant
Blue Prism
Asia/Tokyo
------------------------------