You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何使用PyPDF2读取并显示PDF文件中的文本内容

如何使用PyPDF2读取并显示PDF文件中的文本内容

嘿,我完全懂你的困扰——你现在打印reader得到的只是PyPDF2的阅读器对象实例,可不是PDF里的实际文字内容!别着急,稍微调整下代码就能拿到你想要的文本啦。

你之前的代码只是创建了PDF阅读器对象,但还没走到提取文本那一步。PyPDF2的PDFReader本身是用来管理PDF文档的容器,要获取文本得先定位到具体页面,再调用页面的文本提取方法。

给你修正后的代码,一步步看:

import PyPDF2

with open('dummy.pdf', 'rb') as file:
    # 创建阅读器对象(这步你已经做对了)
    reader = PyPDF2.PDFReader(file)
    # 获取PDF的第一页(注意页面索引从0开始哦)
    first_page = reader.pages[0]
    # 提取该页面的文本内容
    page_text = first_page.extract_text()
    # 打印提取到的文本
    print(page_text)

如果你的PDF有多页,想一次性提取所有内容的话,可以用循环遍历每一页:

import PyPDF2

with open('dummy.pdf', 'rb') as file:
    reader = PyPDF2.PDFReader(file)
    # 遍历所有页面,len(reader.pages)能拿到总页数
    for page_index in range(len(reader.pages)):
        current_page = reader.pages[page_index]
        page_text = current_page.extract_text()
        print(f"第{page_index + 1}页的内容:")
        print(page_text)
        print("------------------------------------")

另外要提一句:如果你的PDF是扫描生成的图片格式(不是可编辑的文字PDF),PyPDF2就没法提取文本了,这种情况得用OCR工具比如pytesseract来处理,但如果是正常的可编辑PDF,上面的方法绝对管用~

备注:内容来源于stack exchange,提问作者Alex S.

火山引擎 最新活动