6

pdfminerモジュールpython モジュールを使用して PDF ドキュメントを解析しています。このドキュメントからテキストを抽出したいだけです。

プロセスは順調に進んでいますが、オブジェクトを抽出LTText*すると、そのオブジェクト内のすべてのテキストを取得していないことに気付きLTText*ます。内部バッファなどを持っているようで、ページごとにテキストが切り取られます。

私のコード:

...
for lt_text_obj in lt_objs:
    if isinstance(lt_text_obj, LTTextBox) or isinstance(lt_text_obj, LTTextLine):
         if lt_text_obj._objs:
             for text_obj in lt_text_obj._objs:
                 if isinstance(text_obj, LTTextBox) or isinstance(text_obj,LTTextLine)]:
                     text_content.append(text_obj)
...

pdf ファイルのページ内のこのテキストが常に同じ形式である場合でも、text_obj 変数にテキスト全体が含まれることはありません。

pdf2txt.pyスクリプトを使用してpdfファイルをtxtに変換し、結果のtxtファイルのページも「カット」されているため、問題はコードにあるとは思いません。

問題は pdfminer 構成または私の pdf ファイル形式にあるようです... 私は完全に迷っています。

何か案は?

4

2 に答える 2

2

入力pdfがないとわかりにくいので、実行してみます:

pdf2txt.py -o output.xml path/to/your_input.pdf

このツールは pdfminder の一部であり、デバッグに非常に役立ちます。結果の xml を調べて、正しく抽出されていないパターンを見つけてください。

于 2013-11-18T05:23:50.573 に答える
1

代わりに PyPDF2 を使用することは可能ですか? あるpdfファイルから別のpdfファイルにページごとに転送するために、自分用に小さな「インターフェース」を作成しました(https://github.com/stianhotboi/pypdf2Interface/blob/master/pypdf2_interface.py)。私の場合、あなたのような問題は見られませんでした(すべてがうまく転送されたようです)。

于 2013-11-13T13:33:53.183 に答える