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

如何解决PyPDF2的DeprecationError:PdfFileReader已废弃问题?

解决PyPDF2的DeprecationError错误

你的错误是因为PyPDF2 3.0.0及以上版本彻底移除了PdfFileReader类,官方要求改用PdfReader;同时原numPages属性也被替换,需要通过新的方式获取页数。

修改后的完整代码如下:

import pyttsx3
import PyPDF2
material = open('Object_Oriented_Programming_Python_Tutorial.pdf', 'rb')
# 替换弃用的PdfFileReader为PdfReader
pdfReader = PyPDF2.PdfReader(material)
# 通过pages列表的长度获取总页数,替代原numPages属性
pages = len(pdfReader.pages)
print(pages)
speaker = pyttsx3.init()
speaker.say("Amazing! I love Python because it can also talk!")
speaker.runAndWait()

关键改动说明:

  • 替换类名:PyPDF2.PdfFileReader → PyPDF2.PdfReader,这是PyPDF2 3.x版本的强制要求,旧类已被完全移除。
  • 获取页数的方式:原pdfReader.numPages属性被移除,现在通过len(pdfReader.pages)获取总页数,pages是包含PDF所有页面对象的列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 05:59:50