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

如何提取PDF多页文本并保存至文本文档?

修改代码实现多页PDF文本提取并保存到文件

修改后的完整代码

import PyPDF2

# 打开目标PDF文件
pdf_path = 'C:\\sem1\\691-project\\Dataset\\Maths\\A Spiral Workbook for Discrete Mathematics.pdf'
pdf_file_obj = open(pdf_path, 'rb')
pdf_reader = PyPDF2.PdfReader(pdf_file_obj)

# 获取PDF总页数
total_pages = len(pdf_reader.pages)
print(f"PDF总页数: {total_pages}")

# 定义要提取的页面范围(索引从0开始,示例对应第10到90页)
start_page_idx = 9
end_page_idx = 89

# 打开输出文本文件,以UTF-8编码写入
output_file = 'extracted_pdf_text.txt'
with open(output_file, 'w', encoding='utf-8') as f:
    # 遍历指定范围内的每一页
    for idx in range(start_page_idx, end_page_idx + 1):
        page = pdf_reader.pages[idx]
        page_text = page.extract_text()
        # 写入页码标识和页面文本,添加分隔符提升可读性
        f.write(f"--- 第 {idx + 1} 页 ---\n")
        f.write(page_text)
        f.write("\n\n")

# 关闭PDF文件对象
pdf_file_obj.close()
print(f"提取完成,文本已保存至 {output_file}")

关键改动说明

  • 批量页面遍历:通过for循环遍历指定的页面索引范围,替代原代码的单页索引调用,实现多页文本提取。如果需要提取全部页面,只需将循环范围改为range(total_pages)。
  • 文本文件保存:使用with上下文管理器处理文本文件的打开与写入,自动管理文件资源;指定encoding='utf-8'避免特殊字符乱码问题。
  • 可读性优化:在每页文本前添加页码分隔标记,方便后续查看不同页面的内容。
  • 灵活的范围控制:通过start_page_idx和end_page_idx可以自由调整要提取的页面区间,注意PyPDF2的页面索引从0开始,实际页码=索引+1。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 23:30:25