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

使用PyPDF2读取59页PDF文本时出现报错,求解决办法

问题分析与解决方法

你的代码报错原因是索引越界:reader.pages的索引从0开始,59页PDF的索引范围是0到58。但循环里用了i+1,当i取到58时,i+1等于59,超出了pages的最大索引,导致报错。

修正后的代码

写法一:直接遍历pages对象(更简洁)

from PyPDF2 import PdfReader

reader = PdfReader(r'C:\Users\Dinesh\Downloads\1r41ai10801601_fong.pdf')

for page in reader.pages:
    text = page.extract_text()
    print(text)

写法二:正确使用索引循环

from PyPDF2 import PdfReader

reader = PdfReader(r'C:\Users\Dinesh\Downloads\1r41ai10801601_fong.pdf')
number_of_pages = len(reader.pages)

for i in range(number_of_pages):
    page = reader.pages[i]  # 用i而非i+1,匹配0起始的索引规则
    text = page.extract_text()
    print(text)

额外注意事项

  • 如果部分页面提取出空文本,大概率是PDF为扫描件(图片格式),PyPDF2无法提取这类内容,需要配合OCR工具(如pytesseract)处理。
  • 确保PyPDF2为最新版本,旧版本可能存在兼容性问题,可通过pip install --upgrade PyPDF2命令更新。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 03:10:30