4

一部の PDF ドキュメントからデータを取得する必要があるプロジェクトに取り組んでいます。

現在Foxit toolkit、ドキュメントをtxtに変換するために(スクリプトから呼び出して)使用しており、それを繰り返し処理しています。これにはかなり満足していますが100$、このような小さなプロジェクトには手が出ません。

  • 私は見つけることができるすべての無料のコンバーター ( xpdf、 などpdftotext) をテストしましたが、それらはそれをカットしません。データを見つけるために単語を使用できない方法でフォーマットを台無しにします。

  • Pythonのようなモジュールをいくつか試してみましpdfminerたが、 ではうまく動作しないようですPython 3

  • 携帯電話会社からデータを取り寄せているため、PDF化する前のデータを入手できません。

少なくとも改行を適切にたどるPDFまたはコンバーターからデータを取得する方法を探しています。

更新: PyPDF2は、pdf ドキュメントからテキストをまったく取得していません。

4

4 に答える 4

1

悲しいことに、優れた無料の python pdf コンバーターがあるとは思いませんが、pdf2html は python モジュールではありませんが、非常にうまく機能し、単純なテキスト ファイルに比べてはるかに構造化されたデータ (html) を提供します。そこから、美しいスープなどの python ツールを使用して html ファイルをスクレイピングできます。

リンク - http://coolwanglu.github.io/pdf2htmlEX/

お役に立てれば。

于 2016-08-17T11:26:15.997 に答える
1

pyPDF2 コードの例を次に示します。

from PyPDF2 import PdfFileReader

pdfFileObj = open("FileName", "rb")
pdfReader  = PdfFileReader(pdfFileObj,strict = False)
data=[page.extractText() for page in pdfReader.pages]

pyPDF2 の詳細については、こちらを参照してください。

于 2016-08-17T11:26:38.447 に答える
0

セキュリティ分析のためにPDFの詳細な検査を行いたいときに同じ問題が発生しました。「生データ」を取得できるように、低レベルのオブジェクトとリテラルを解析し、ストリームをアンパックする独自のユーティリティを作成する必要がありました:

https://github.com/opticaliqlusion/pypdf

これは機能が完全なソリューションではありませんが、PDF ツリー内のすべてのストリーム、テキスト、id ノードなどを反復処理する独自の訪問者を定義できる純粋な Python コンテキストで使用することを意図しています。

class StreamIterator(PdfTreeVisitor):
    '''For deflating (not crossing) the streams'''
    def visit_stream(self, node):
        print(node.value)
        pass
...
StreamIterator().visit(tree)

とにかく、これがあなたが探していたものかどうかはわかりませんが、疑わしい電子メールの添付ファイルを調べるときにセキュリティ分析を行うために使用しました.

乾杯!

于 2016-08-20T17:03:13.093 に答える