問題タブ [pdfminer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Pythonでpdfminerを使用して合字を処理する
次のように、PDFminer を使用して PDF ドキュメントからテキストを読み取る Python スクリプトがあります。
この文字列 str が出力されるときにテキストが表示されるため、これはうまく機能しているように見えます。ただし、詳しく調べてみると、生成されたテキストを調べると「!」に変わる複数の文字 (つまり、「ff」、「fi」、「fl」、「ff」) がいくつかあります。
調査の結果、これらの文字にはすべて「合字」があり、2 つの文字を結合したバージョンに置き換えることができることがわかりました。
これらの合字は明らかに ASCII では見つかりませんが、Unicode で表現できることがわかりました。
テキスト内の「!」を正しい合字に変換するために、さまざまな文字エンコーディングを試してみましたが、うまくいきませんでした。
おそらく、これは私の PDF ファイルまたは PDFminer 自体に関係していますか?
python - Python で PDFminer によって TXT に変換された PDF でスタンフォード NER を使用するとエラーが発生しますか?
免責事項:私はPythonとプログラミング全般にかなり慣れていません。この質問にはいくつかの異なる要素があります。それらの一部またはすべてへの回答は非常に役立ちます。
対外援助文書から場所名を抽出するプログラムを Python で作成しようとしています。
これらのドキュメントは通常 PDF ファイルなので、最初は Adobe Reader で PDF から TXT に変換しました。しかし、プロセスを自分のプログラムに統合したいので、PDFMiner をインストールし、以前のスタック オーバーフローの質問 ( pdfminer をライブラリとして使用するにはどうすればよいか) からコードをテストして変換しました。これは私が現在使用しているコードです:
出力を印刷すると、Adobe Reader がシェルで作成したテキストと同じように見えますが、Stanford NER タガーはエンティティを見つけられません。スタンフォード NER を実装するためにpyner ( https://github.com/dat/pyner ) を使用していますが、文ごとに空の辞書を返すだけです。ソケットの問題ではなく、以前は Adobe で変換されたファイルで機能していました。これは、スタンフォード NER を実装するための私のコードです。
ターミナルでは、コードを実行すると、このエラーがかなり頻繁にスローされます (アドビで変換されたファイルでもときどきスローされます)。
なぜこれが起こっているのですか、どうすれば修正できますか?
参考までに私が取り組んできたドキュメントの例を次に示します。
補足: ご覧のとおり、すべてが文形式であるとは限らないため、将来的には、テキスト マイニング プログラムが表なども認識できるようになることが理想的です。しかし、私はこれに不慣れで、それを実装する方法をまったく知らないので、最初にこの基本的な Named Entity Recognizer のハンドルを取得したいと考えています。ただし、何か提案があれば、私が得ることができるすべての支援に非常にオープンです。
よろしくお願いします!
python - PDFMiner を使用して PDF 内のテキストの場所を取得するにはどうすればよいですか?
PDFMiner のドキュメントには次のように書かれています。
PDFMiner を使用すると、ページ内のテキストの正確な位置を取得できます
しかし、私はこれを行う方法を見つけることができませんでした。PDFMiner の「ドキュメント」はかなりまばらなので、これを行う方法がわかりません。
python-2.7 - エンコーディングを強制したにもかかわらず、NLTK の word_tokenize で UnicodeDecodeError が発生する
最初にpdfをプレーンテキストに変換し(印刷してすべて問題ありません)、NLTKからword_tokenize()を実行しようとするとUnicodeDecodeErrorが発生します。
事前にプレーンテキストでdecode('utf-8').encode('utf-8')しようとしても、そのエラーが発生します。トレースバックで、最初にエラーが発生する word_tokenize() のコード行が plaintext.split('\n') であることに気付きました。これが、プレーンテキストで split('\n') を実行してエラーを再現しようとした理由ですが、それでもエラーは発生しません。
そのため、エラーの原因も回避方法もわかりません。
どんな助けでも大歓迎です!:) pdf_to_txt ファイルの何かを変更することで回避できるでしょうか?
トークン化するコードは次のとおりです。
pdfからtxtに変換するために呼び出すメソッドは次のとおりです。
これが私が得るエラーのトレースバックです:
百万とたくさんの良いカルマに感謝します! ;)
python - PythonでPDFMinerを使用してPDFファイルからテキストを抽出しますか?
Python で PDFMiner を使用して PDF ファイルからテキストを抽出する方法に関するドキュメントまたは例を探しています。
PDFMiner が API を更新したようで、私が見つけた関連するすべての例には古いコードが含まれています (クラスとメソッドが変更されました)。私が見つけた、PDF ファイルからテキストを抽出するタスクを簡単にするライブラリは、古い PDFMiner 構文を使用しているため、これを行う方法がわかりません。
現状では、ソースコードを見て、それを理解できるかどうかを確認しています。
python - Pythonでmongodbドキュメントをバイナリに変換するには?
このpythonコマンドラインユーティリティを変換して、既存のプログラムでコードをモジュールとして使用できるようにし、MongoEngineを使用してMongoDBに保存されているpdfをフィードできるようにしています。
現在、ファイル名を文字列として受け取り、次のコードを使用してファイルを取得します。
mongoDB からドキュメントを挿入したいので、関数の引数を に変更しmain(fp)
、インタラクティブな Python インタープリターから次のことを行いました。
fp
は最初に'rb'
フラグを使用して作成されるため、mongoengine からバイナリ モードで作成する必要があると思いますが、 FileFieldfp
の GridFS 結果をバイナリ モードに変換する方法がわかりません。
GridFS の結果をバイナリに変換して、 を使用して取得したときと同じにする方法についてのヒントはありfile(fname, 'rb')
ますか? すべてのヒントは大歓迎です!
python - この Python メソッドを取得して、標準出力に書き込む代わりに文字列を返すにはどうすればよいですか?
Pythonを使用してpdfからテキストを抽出しようとしています。このために、次のようにpdf2txt.py コマンドラインツールを使用して、かなり良い仕事をするpdfminerを見つけました。
この機能をプログラムで使用したいので、これをコマンド ライン ツールではなくモジュールとして使用したいと考えています。そのため、pdf2txt.py ファイルを次のように調整することができました。
次のようにモジュールとして呼び出すことができます。
現在、 を使用して結果の文字列を出力していますsys.stdout.write()
が、実際にreturn
は、コードの最後の行にあるステートメントを使用してそれらの文字列を返したいと思っています。しかし、その sys.stdout.write の使用はconverter.pyの 165 ~ 167 行目の奥深くに隠されているため、標準出力に書き込む代わりに、このメソッドがこれらの文字列を返すようにする方法がよくわかりません。
見つかった文字列を stdout に書き込む代わりに、このメソッドを取得して返す方法を知っている人はいますか? すべてのヒントは大歓迎です!
python - pdfminerでpdfファイルを横に読む
pdfminer
(バージョン20140328)でpdfを抽出したいと思います。
これは、pdf を抽出するコードです。
これは、pdf のスクリーンショットです。
問題は、pdfminer
それを水平方向 (人から位置) ではなく、列 (すべての人からそれぞれの位置) で読み取ることです。
pdfminer
テキストを横に読むにはどうすればよいですか?