如何解决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
相关产品推荐
相关产品推荐

