「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python で更新された PDFMiner API を使用して PDF ファイルからテキストを抽出する方法

Python で更新された PDFMiner API を使用して PDF ファイルからテキストを抽出する方法

2024 年 11 月 9 日に公開
ブラウズ:954

How to Extract Text from PDF Files Using Updated PDFMiner API in Python?

Python の PDFMiner を使用して PDF ファイルからテキストを抽出する

PDF ドキュメントを操作する場合、テキストの抽出は重要なタスクとなることがあります。 Python ライブラリである PDFMiner はこのプロセスを簡素化し、開発者が PDF ファイルからテキストを解析して抽出できるようにします。

更新された PDFMiner API と古い例

PDFMiner の最近の更新では、 API に変更が導入され、多くの既存のサンプルが廃止されました。最新バージョンへの移行により、開発者はテキスト抽出などの基本的なタスクの実行方法がわからず、途方に暮れてしまう可能性があります。

実装例

この問題に対処するために、実際の機能を調べてみましょう。現在の PDFMiner ライブラリを使用して PDF ファイルからテキストを抽出する方法を示す例:

from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from io import StringIO

def convert_pdf_to_txt(path):
    rsrcmgr = PDFResourceManager()
    retstr = StringIO()
    codec = 'utf-8'
    laparams = LAParams()
    device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
    fp = open(path, 'rb')
    interpreter = PDFPageInterpreter(rsrcmgr, device)
    password = ""
    maxpages = 0
    caching = True
    pagenos=set()

    for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages, password=password,caching=caching, check_extractable=True):
        interpreter.process_page(page)

    text = retstr.getvalue()

    fp.close()
    device.close()
    retstr.close()
    return text

このコードは、必要なすべての手順をカバーする、テキスト抽出への包括的なアプローチを提供します。 Convert_pdf_to_txt 関数は、ファイル パスを入力として受け取り、ファイルを開き、ドキュメント パーサーを初期化し、ページ コンテンツをテキスト文字列に変換するプロセスを処理します。

この例は、更新された PDFMiner 構文を示しており、古いコード。最新バージョンの PDFMiner での使用が徹底的にテストされ、検証されています。

リリースステートメント この記事は次の場所に転載されています: 1729146198 権利侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3