📙
PyMuPDF (PDFtoText) メモ
参考記事の PyMuPDF
[1] というツールを利用して、テキスト抽出した時のメモです。
1. PDFのツリー構造
このツールはPDFをこのようなツリー構造[2]に変換し、データ抽出可能がです。
<page>
<text block>
<line>
<span>
<char>
<image block>
<img>
2. PDFの種類による構造の違い
PDF構造の理解を深めるためにこちらのコード(Google Colab)を準備しました。
folder_path
のパスの変更、ダウンロードしたPDFを指定のフォルダに格納して実行してみてください。
PDF の種類により実行結果が異なることが分かります。
特に論文3 は画像ファイル等からPDF化していると考えられます。
論文1: block が1行毎になっている
論文2: block が段落毎になっている
論文3: PyMuPDF ではテキストデータを抽出できない
3. PDFの構造を取得できたら
get_text("text")
、get_text("blocks")
などでテキストがどのような形で保存されているかを確認します。
例えば、ヘッダーに学会誌名や論文タイトル、フッターにはページ番号などが記述されています。
これらを取り除くには、get_text("blocks")
を利用して、最初と最後のblock を読み飛ばす方法があります。
しかし、学会誌によってこれらの書式は若干異なるので注意が必要です。
4. 参考論文
論文1 - 産業・労働分野に求められるマインドフルネスプログラムの検討
論文2 - 国立科学博物館所蔵ヤマイヌ剥製標本はニホンオオカミ Canis lupus hodophilax か?
論文3 - 2眼立体視型網膜投影ディスプレイ
Discussion