どうにかPDFファイル内のテキストを検索できるようにしたかった!

きっかけ

わけがあって、PDF内に書かれているテキストを検索したい状況が出てきました。

私はmacbookairを使っていて、PDFファイルを開いた際に、右上に検索欄があったのでそこに検索したい文字列を入れてみても、全くヒットしません(PDF内にその文字列はあるにも関わらず)

あれ・・・?できないのか?と思い、PDF内のテキストをドラッグして選択をして、コピーアンドペーストをしてみたところ、わけがわからん文字列が表示されました。ので、多分PDF内にあるであろう文字列の情報がうまく保存されていないんでしょうね。(適当です、PDFの構造など全く知りません)

そこでどうしたものか・・・と考えていたところ、OCRmyPDFというソフトウェアを見つけました。どうやらPDFファイルにOCR情報を付属できるものみたいです。OCRというのは画像などに含まれている文字を認識する技術ですね(多分・・・)

つまりOCR処理をPDFファイルに施すことによって、PDFファイル内に書かれている文字情報を抽出することができるようです。そうすることで文字列検索できるようになるというツールですね。

OCRmyPDFを使ってみる

パソコン苦手苦手マンなので色々頑張て調べながらOCRmyPDFを使ってみたのですが、あんまりうまく行かない・・・

色々調べてみるとocrmypdfを使うコツのようなものがあるらしく、うまく使えば結構いい感じに動くっぽいです!!けど自分には時間がないし、難しそう!!

(OCRmyPDFを使うにあたって参考にしたサイトは記事の最期にまとめておきますね)

さすがGoogle様・・・

と思っていたタイミングで、どうやらgoogle driveを利用することでもOCR処理を施すことができるということを知りました!!(OCRmyPDFと違うところは、pdfファイルに抽出した文字情報を追加するわけではないので検索ができるようになるわけではない)

しかも無料で使えるみたいなので使ってみたところ・・・かなり精度が良さそうな感じ!!!!

諸事上により、どのようにうまく抽出することができたのかを見せることはできませんが、OCRmyPDFを使うよりもかなりうまく動いているように見えました!!(もちろん"完璧"ではありませんけどね!)

もちろんocrmypdfはローカル環境で実行することができる強みはあるので一概にどっちが良いとは言えませんが!!

・・・技術の進歩を感じますね!

使い方の簡単な説明

やり方は簡単で、PDFファイルをgoogle driveにアップロードして、PDFファイル上で右クリック→アプリで開く→google ドキュメントを選択すればOKです!!

するとgoogleドキュメントが開かれ、そこにOCR処理をすることで抽出できた文字列が表示されているようでした!

基本的には上記の方法でうまく行くと思いますが、自分の場合はうまくいきませんでした。おそらくはじめからPDF内に検索用の情報?みたいのが入っていた(コピーアンドペーストをすると謎の文字列がたくさん出てきたのでそう考えました)ことが原因なのか、うまくOCR処理をかけることができませんでした。

解決策として、一度PDFファイルを開いて保存をする際に、印刷ボタンを押して、“画像として保存する"というオプションにチェックを入れて保存したPDFファイルに対して上記の方法を適用したところ、問題なくOCR処理をかけることができました!!

私は20個くらいファイルがあって上記の作業を全部手作業で行っていました・・・(君、よく仕事が下手って言われない?)

そして、結局、作成されたgoogleドキュメントファイルをmacbookに保存して、spotlightなりを利用して検索することにしました・・・

科学の力ってすげー!!

今の時代AIとかがすごいって言われているし、OCR処理なんてフリーで使えて、ローカルで動かせるものがどうせ見つかるだろうと思っていました・・・すみません・・・

というか、OCR処理ってとても大切な、有用な技術だと強く実感しました!検索できる素晴らしさ!!!

それ関連で、ローカルの画像とかもキャプション生成などをすることで、文字列で検索ができるような時代が来るとうれしいなと思いました。

最近の技術の進歩を見ているとそんな未来も遠くはないと思わせてくれますよね!

参考にしたサイト

OCRmyPDF

gs_init.psが見つからない時の対応方法メモ

OCRmyPDFを使用している際に、同じようなエラーが出ました

ubuntuでocrmypdfを使ってPDFをOCRする

OCRmyPDF:Installing on macOS

簡単に利用できる PDF 文字認識 OCR 比較まとめ ~ AI OCR の頭抜けた実力

cloud vision apiなんてものもあるんですね

プレゼン形式の動画からスライドのpdfを自動作成する+OCRをつける

UbuntuとOCRmyPDFでスキャンした内容に対して自動的にOCRを実行する

OCRmyPDFの精度を上げるためのオプションなどを参考にしました