You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PyPDF2提取PDF文件全部文本并以字符串返回?

使用PyPDF2提取PDF文本并获取特定内容的解决方案

嘿,我来帮你搞定用PyPDF2提取PDF文本的需求,包括提取全部文本为字符串,以及从单页PDF中抓取指定内容,直接上实用代码和说明:

第一步:安装PyPDF2

首先确保你已经安装了PyPDF2库,用pip安装即可:

pip install PyPDF2

提取PDF全部文本为字符串

这个函数可以处理多页PDF,返回完整的字符串类型文本:

import PyPDF2

def extract_full_pdf_text(pdf_path) -> str:
    # 以二进制只读模式打开PDF文件
    with open(pdf_path, 'rb') as pdf_file:
        # 创建PDF阅读器实例
        pdf_reader = PyPDF2.PdfReader(pdf_file)
        full_text = ""
        # 遍历每一页提取文本并拼接
        for page in pdf_reader.pages:
            extracted_text = page.extract_text()
            if extracted_text:  # 跳过无文本的页面
                full_text += extracted_text
        return full_text

使用时只需要传入你的PDF文件路径,比如:

pdf_text = extract_full_pdf_text("your_file.pdf")
print(type(pdf_text))  # 输出 <class 'str'>

从单页PDF中提取指定内容

针对你提供的单页PDF内容,我们可以通过标记定位+字符串切片的方式精准提取目标内容:

def extract_specific_order_content(pdf_path) -> str:
    with open(pdf_path, 'rb') as pdf_file:
        pdf_reader = PyPDF2.PdfReader(pdf_file)
        # 单页PDF,直接取第一页(索引为0)
        page_text = pdf_reader.pages[0].extract_text()
        
        # 定义目标内容的起始标记
        start_marker = "(ORDER LIST: 583 U.S.)"
        start_idx = page_text.find(start_marker)
        
        if start_idx == -1:
            return "未找到目标标记内容"
        
        # 如果你需要精确截取到示例中的"Court of App..."结尾,可以添加结束标记
        end_marker = "Court of App..."
        end_idx = page_text.find(end_marker) + len(end_marker)
        
        # 提取从起始到结束的内容
        target_content = page_text[start_idx:end_idx]
        return target_content

使用示例:

specific_content = extract_specific_order_content("your_single_page.pdf")
print(specific_content)

一些注意事项

  • 如果你的PDF是扫描件(图片型),PyPDF2无法提取文本,这种情况需要搭配OCR工具(比如pytesseract)来处理
  • 对于PDF中的特殊字符(比如示例里的™),PyPDF2提取时会自动保留,无需额外处理
  • 测试时记得替换代码中的pdf_path为你的实际文件路径

内容的提问来源于stack exchange,提问作者chickenrico

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:31:59