2009-08-14 46 views
7

PDFファイルからテキストを抽出する必要があります。このテキストはおそらくテーブル形式であり、外部との間でデータを自動的に転送するために使用されます。PDFファイルからテキストを抽出する

誰でもコマンドラインツール(pdfからtxtなど)やこれに適したライブラリをお勧めしますか?

言語オプション:

  • C#の
  • (優先)は、Java(私がしなければならない場合)

私はここにいくつかのアイデアを見つけました、しかし、私は男がワンについての詳細を話していたと思います状況オフ、私はより多くの毎日の輸入のように話している:

https://stackoverflow.com/questions/488089/extracting-tables-from-pdf-files

+1

テキストの表形式を保持しますか?そうであれば、タスクはかなり難しくなります。もしそうでなければ、提案されたPDFからテキストへのライブラリのいずれかがすべきです。 – Rowan

+0

テーブルの形式は重要ではありません。機械で読めるようにするだけで、解析してデータベースに格納できます。 – Chris

答えて

4

pdftotext非常にうまくトリックを行うようです。

pdftotext file.pdf [textfile.txt] 

編集:私はあなたがテーブルに関する情報を保持したいかどうかはわかりません。

pdftotext -layout file.pdf [textfile.txt] 

これは、文書の元のレイアウトを可能な限り維持しています。特に、テーブルはテキスト出力ではかなりよく見えます。デフォルトでは、テーブルの列をテキスト列(ひどい)として解釈します。私にはうまく見えないが、まだ役に立つかもしれない別のオプションは、-rawオプションです。

+0

Xpdfツールを意味しますか? – Chris

+0

Wikipediaによると、 'xpdf'は' pdftotext'の実装を持っています。私が持っているものは 'poppler-utils'パッケージに入っています。私は、出力がどのように見えるかをテストするためのテーブルがあるpdfを見つけることができないようです。どのような出力を望みますか? –

+0

ポップラーのように見えるのはxpdfのフォークなので、おそらく同じツールです。 – Chris

1

を試してみてください。私のアドバイスは、PDF文書をメモ帳または別のプレーンテキストエディターで開き、書式設定コードを調べることです。彼らは非常に理解しやすいです。たとえば、// parは段落で、//タブはタブです。テーブルレイアウトの書式設定コードを知ったら、PDF文書から何かを抽出する独自のソリューションを思いつくのは非常に簡単です。

+1

それは簡単ではありません。人間が判読可能な形式で文書からテキストを抽出する作業がたくさんあります。毎回同じ文書からテキストを抽出するだけであれば、タスクはより簡単になりますが、さまざまなソースからランダムな文書からテキストを抽出する必要がある場合は、それほど簡単ではありません。だからあなたはそれを完成させるためにかなりの時間を費やし、本当にサードパーティ製のライブラリを使うことができない限り、このオプションはお勧めしません。 – Rowan

1

JavaにはPdfBoxとJPedalもあります。表はPDFファイル形式では存在しないので、どのソフトウェアもそれらを「推測」するでしょう。

1

Apache Tikaは、探しているものを専門とするオープンソースのJavaツールキットです。pdfなどのさまざまなドキュメントから構造化コンテキストを抽出します。

pdfファイル形式でPDFBoxを使用しますが、構造化されたコンテキストを抽出するのに理想的な抽象レベルを提供します。

コマンドラインユーティリティ - hereを参照してください。

1

PDFの表形式データは、構造化コンテンツのメタデータが含まれていないため、通常は正しく抽出するのが難しいです。そして、このメタデータなしでは、PDFファイルはテキストやその他の操作の単なる束です。文書にテーブルがある場合、人間だけが言うことができるほとんどの時間。

ほとんどすべての高度なツールとライブラリは、ヒューリスティックを使用してPDFから抽出されたテキストを何らかの方法で構造化しようとします。結果はツールごとに異なり、ライブラリからライブラリにも変わります。

あなたはDocotic.Pdf library(免責事項:私はBit Miracleのために働く)を試して、PDFファイルからテキストを抽出することができます。私は、図書館がさらに処理するのに十分な品質のテキストを抽出すべきだと思う。

how to extract text from PDFを示すサンプルをご覧ください。

関連する問題