1. ホーム
  2. pdf

[解決済み] PDFファイルの構造を把握したままデータを抽出するには?

2022-03-07 05:53:20

質問

PDFファイルの構造を解析しながら、テキストと画像を抽出することが目的です。構造を解析する範囲は、網羅的ではなく、見出しと段落を識別できればよいのです。

いろいろと試してみたのですが、どれもあまりうまくいきませんでした。

  • PDFをテキストに変換する。画像やドキュメントの構造が失われるため、私にはうまくいきません。
  • PDFをHTMLに変換する。これを助けてくれるツールをいくつか見つけたのですが、今のところ一番いいのはpdftohtmlです。このツールはプレゼンテーション的にはとても良いのですが、HTMLをうまくパースできていません。
  • PDFからXMLに変換する。上記と同じです。

どなたか、この問題に取り組む方法をご存じですか?

どのように解決するのですか?

PDFは構造にあまり興味がないため、基本的に簡単にカット&ペーストできる解決策はありません。このサイトには、もっと詳しく説明している回答がたくさんありますが、この回答が主なポイントになるでしょう。

PDF文書内のテキスト構造を識別するのがそれほど難しいのなら、PDFリーダーはどうしてそんなにうまくできるのですか?

PDF自体でこれを行う場合(このプロセスに対するコントロールの大部分を持つことになる)、ページ上のすべてのテキストをループして、そのテキストのプロパティ(使用されているフォント、ページ上の他のテキストに対するサイズなど)を見てヘッダーを識別しなければならないでしょう。

さらに、テキストの断片の位置、ページ上の空白、特定の文字、単語、行の近さなどを調べて段落を識別する必要があります...。PDF自体には、quot;word"はもちろん、quot;line"やquot;paragraphs"という概念すらないのですから。

さらに物事を複雑にするのは、テキストがページに描かれる方法(したがってPDFファイル自体に表示される順序)は、正しい読み順(あるいは私たち人間が考える正しい読み順)である必要さえないことです。