Pythonを使用したPDF解析-フォーマットされたプレーンテキストの抽出[クローズ]


82

PDFドキュメントからテキストを抽出できるPDFライブラリを探しています。PyPDFを見てきましたが、これでPDFドキュメントからテキストを非常にうまく抽出できます。これに伴う問題は、ドキュメントにテーブルがある場合、テーブル内のテキストがドキュメントの残りのテキストと一致して抽出されることです。これは、役に立たず、文字化けしているように見えるテキストのセクションを生成するため、問題になる可能性があります(たとえば、多数の数字がマッシュアップされます)。

表や特別なフォーマットを除いて、PDFドキュメントからテキストを抽出したいと思います。これを行うライブラリはありますか?

回答:


61

PDFMinerを確認することもできます(または、古いバージョンのPythonについては、PDFMinerおよびPDFMinerを参照してください)。

PDFMinerで特に重要な機能は、テキスト部分を抽出するときにテキスト部分を再グループ化する方法を制御できることです。これを行うには、行、単語、文字などの間のスペースを指定します。したがって、これを微調整することで、目的の結果を得ることができます(ドキュメントの変動性によって異なります)。PDFMinerは、ページ内のテキストの場所を提供することもでき、オブジェクトIDなどによってデータを抽出することもできます。だからPDFMinerを掘り下げて創造的になりましょう!

しかし、PDFではテキストが連続しておらず、ページ内に完全に配置された多数の小さな文字グループから作成されているため、問題を解決するのは実際には簡単ではありません。PDFの焦点は、レイアウトをそのまま維持することです。コンテンツ指向ではなく、プレゼンテーション指向です。


1
PDFMinerは面白そうです。そこからのXML出力を使用し、それを解析して、不要なものを無視することができます。これにはまだかなりの後処理が必要ですが、今のところおそらく最良の解決策です。ありがとうございました。
Mike Cialowicz 2009

@ Etienne、PDFに他の言語の文字も含まれている場合、これを使用できますか?
Sahil Mittal 2014

他の言語の文字でも機能するはずです。ドキュメントの言及:CJK言語と垂直書き込みスクリプトのサポート。確実にするための最良の方法は、それをテストすることです!
エティエンヌ

1
PDFMinerのpdfminer.sixPython 3ポートは私にとってうまく機能しています
hamish 2017

1
バージョン20191010以降、PDFMinerはPython 3のみを
幻想的な

0

視覚的に類似したPDFは、作成方法によって構造が大きく異なる可能性があるため、これを解決するのは難しい問題です。最悪の場合、ライブラリは基本的にOCRのように機能する必要があります。一方、PDFには、表や図を簡単に削除するための十分な構造とメタデータが含まれている場合があり、ライブラリを調整して利用することができます。

多種多様なPDFの問題を解決するオープンソースツールはないと確信していますが、商用ソフトウェアがあなたの求めていることを正確に実行すると主張しているのを聞いたのを覚えています。グーグル中にあなたがそれらに遭遇すると確信しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.