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

PyPDF2拆分PDF报错:reader.numPages已弃用,如何修复?

修复PyPDF2拆分PDF时的DeprecationError错误

你的报错已经明确指出了问题核心:PyPDF2 3.0.0版本移除了reader.numPages属性,要求改用len(reader.pages)获取PDF总页数。除此之外,旧版本的getPage(i)方法也已被弃用,需要换成pages[i]访问指定页面。

修复后的完整脚本如下:

#!/usr/bin/python3

from PyPDF2 import PdfWriter, PdfReader

inputpdf = PdfReader(open("/pdf2xls/split_pdf/xyz.pdf", "rb"))

for i in range(len(inputpdf.pages)):
    output = PdfWriter()
    output.add_page(inputpdf.pages[i])
    with open("/pdf2xls/split_pdf/xyz-page%s.pdf" % (i+1), "wb") as outputStream:
        output.write(outputStream)

关键修改点:

  • 将PdfFileWriter改为PdfWriter(PyPDF2 3.x的新命名,旧名称虽暂兼容,但推荐使用标准新API)
  • 用len(inputpdf.pages)替代inputpdf.numPages获取总页数
  • 用inputpdf.pages[i]替代inputpdf.getPage(i)获取单页
  • 用add_page()替代addPage()(遵循PyPDF2 3.x的小写命名规范)

修改后脚本可适配PyPDF2 3.0.0及以上版本,顺利完成PDF拆分。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 03:32:43