PyPDF2 3.0.0更新,一些函数被弃用,需要重新写

发布时间:2024年01月11日

1.PdfFileWriter is deprecated and was removed in PyPDF2 3.0.0. Use PdfWriter instead.
这错误表明你正在使用的 PyPDF2 版本中已经移除了 PdfFileWriter,并在版本 3.0.0 中被替代为 PdfWriter。这是因为在 PyPDF2 的更新中,一些 API 被重新组织和更新,以提供更好的代码结构和功能。

如果你的 PyPDF2 版本是 3.0.0 或更高,你应该改用 PdfWriter 而不是 PdfFileWriter

修改你的代码,将这一行:

pdf_writer = PyPDF2.PdfFileWriter()

替换为:

pdf_writer = PyPDF2.PdfWriter()

这样就能解决这个特定的 DeprecationError。请确保你的 PyPDF2 库是最新版本,以便使用最新的 API 和功能。如果你的项目依赖于旧版本的 PyPDF2,你可能需要考虑更新你的代码以适应新的 API 或者继续使用旧版本的库,但请注意旧版本可能存在潜在的安全和性能问题。

2.PyPDF2.errors.DeprecationError: PdfFileReader is deprecated and was removed in PyPDF2 3.0.0. Use PdfReader instead.
同样的,这错误表明你正在使用的 PyPDF2 版本中已经移除了 PdfFileReader,并在版本 3.0.0 中被替代为 PdfReader
你可以导入以下的包

from PyPDF2 import PdfReader,  PdfWriter

并使用以下内容,

    # pdfFileWriter = PdfFileWriter()      # 调用PdfFileWriter()类
    pdfFileWriter = PdfWriter()      
    # pdfFileReader = PdfFileReader(readFile)       # 获取PdfFileReader 对象
    pdfFileReader = PdfReader(readFile)

3.PyPDF2.errors.DeprecationError: reader.getNumPages is deprecated and was removed in PyPDF2 3.0.0. Use len(reader.pages) instead.
在这里插入图片描述
你可以发现,很多方法在更新后就全部被弃用了,你需要自己查看源代码。
你可以使用以下内容

    pdfFileReader = PdfReader(readFile)
    numPages = len(pdfFileReader.pages)

4.PyPDF2.errors.DeprecationError: reader.getPage(pageNumber) is deprecated and was removed in PyPDF2 3.0.0. Use reader.pages[page_number] instead.
换以下代码就行,把getPage(pageNumber),换成pages[pageNumber]

	page = pdfFileReader.pages[i-1]

当然,还有以下的内容,大家可以自行查看。
5.PyPDF2.errors.DeprecationError: addPage is deprecated and was removed in PyPDF2 3.0.0. Use add_page instead.

文章来源:https://blog.csdn.net/knighthood2001/article/details/135527377
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。