pdfminerをライブラリとして使うには?
2023-12-17 21:30:17
質問
私は、pdfからテキストデータを取得しようとしています。 pdfminer . 私はpdfminerのコマンドラインツールpdf2txt.pyを使って、このデータを.txtファイルにうまく抽出することができます。 現在、私はこれを行い、その後、pythonスクリプトを使って.txtファイルをクリーンアップしています。 私は、pdf抽出プロセスをスクリプトに組み込んで、自分自身のステップを節約したいと思います。
このリンクを見つけたとき、私は何かを掴んだと思いました。 を見つけたとき、何かあると思ったのですが、どの解決策も成功しませんでした。 おそらく、私が新しいバージョンの pdfminer を使用しているため、そこに記載されている関数は再度更新する必要があるのでしょう。
ここに示されている関数も試しましたが、これもうまくいきませんでした。
もうひとつの方法として、スクリプトの中でスクリプトを呼び出すために
os.system
. これもうまくいきませんでした。
Pythonバージョン2.7.1、pdfminerバージョン20110227を使用しています。
どのように解決するのですか?
以下は、私が最終的に作成した、私のために動作するクリーンアップされたバージョンです。以下は、単にPDFの中の文字列を、そのファイル名を指定して返すだけです。私は、これが誰かの時間を節約することを願っています。
from pdfminer.pdfinterp import PDFResourceManager, process_pdf
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from cStringIO import StringIO
def convert_pdf(path):
rsrcmgr = PDFResourceManager()
retstr = StringIO()
codec = 'utf-8'
laparams = LAParams()
device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
fp = file(path, 'rb')
process_pdf(rsrcmgr, device, fp)
fp.close()
device.close()
str = retstr.getvalue()
retstr.close()
return str
この解決策は 2013年11月のAPI変更 .
関連
-
[解決済み] 文字列リテラルの前にある'b'文字は何を意味するのでしょうか?
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] Python 3で「1000000000000000 in range(1000000000000001)」はなぜ速いのですか?
-
[解決済み] なぜC++はPythonよりもstdinからの行の読み込みが遅いのですか?
-
[解決済み] TypeError: Python3でファイルへの書き込み時に'str'ではなくbytesのようなオブジェクトが要求される
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
-
[解決済み] 単純な文字列からtimedeltaオブジェクトを作成する方法
-
[解決済み] Pythonの辞書にあるスレッドセーフについて
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PDFからテキストに変換するPythonモジュール【終了しました
-
[解決済み] 2つの線分が交差しているかどうかを確認するにはどうすればよいですか?
-
[解決済み] Pythonのマルチプロセッシングプールimap_unorderedの呼び出しの進捗を表示しますか?
-
[解決済み] Pythonのargparseを使った隠し引数の作成
-
[解決済み] Ctrl-CでPythonスクリプトを終了できない
-
[解決済み] if 節の終了方法
-
[解決済み] virtualenvsはどこに作成するのですか?
-
[解決済み] Python の sorted() はどのようなアルゴリズムを使っているのですか?重複
-
[解決済み] Pythonでリストが空かどうかをチェックする方法は?重複
-
[解決済み] Python で PDFMiner を使って PDF ファイルからテキストを抽出する?