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

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.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/613618.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中霖教育:专业不对口,能考会计师吗?

学的不是会计专业,专业不对口,能不能考会计师? 从学历要求来看,考会计师并无硬性规定必须具备哪个专业的学历。所以只要符合报考条件,非会计专业的人也可以报考会计师。 除了基本条件外,报名参加中级会计考试的人员…

html学习之路:简述html文档头部 <meta> 的 http-equiv 属性

🧋当输入网址打开网页时,设置html头部meta的http-equiv属性,可以帮助浏览器更加精确和正常却的显示网页内容,比如设置网页多久自动刷新,设置网页在浏览器缓存中的时限,设置多少事件跳转到指定的网页地址&am…

leetcode-合并两个有序数组

88. 合并两个有序数组 题解: 这是一个经典的双指针问题,我们可以使用两个指针分别指向nums1和nums2的最后一个元素,然后比较两个指针所指向的元素大小,将较大的元素放入nums1的末尾,并将对应的指针向前移动一位。重复…

Redis系列-15.Redis的IO多路复用原理解析

👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring源码、JUC源码、Kafka原理、分布式技术原理、数据库技术🔥如果感觉博主的文章还不错的…

[DM8] 达梦8配置兼容Oracle

查看版本信息 select *,id_code from v$version; 查询解释: DM Database Server 64 V8 1-1-190-21.03.12-136419-ENT 64 版本位数标识,64表示为64位版本,无64则表示为32位版本 V8 大版本号,目前主要是V7、V8 1-1-190…

智慧医院之定位导航解决方案

移动端LBS应用 通过绘制院方各楼栋各层平面图,利用无线/蓝牙技术可对终端进行实时定位,方便病人、家属等就医,提高就医体验,减少工作人员工作量,减少医患冲突,打造智慧医院。 移动端的LBS位置应用,可分为医院的室内地图展现、室内地图搜索、室内导航、室内定位、室内位…

【JaveWeb教程】(18) MySQL数据库开发之 MySQL数据库设计-DDL 如何查询、创建、使用、删除数据库数据表 详细代码示例讲解

目录 2. 数据库设计-DDL2.1 项目开发流程2.2 数据库操作2.2.1 查询数据库2.2.2 创建数据库2.2.3 使用数据库2.2.4 删除数据库 2.3 图形化工具2.3.1 介绍2.3.2 安装2.3.3 使用2.2.3.1 连接数据库2.2.3.2 操作数据库 2.3 表操作2.3.1 创建2.3.1.1 语法2.3.1.2 约束2.3.1.3 数据类…

KAFKA高级应用

kafka高级应用 一些kafka的基础使用以及说明请参考上一篇文章kafka的基础入门。这篇文章主要是写kafka的一些高级特性、存储结构以及原理。 1.kafka副本同步机制 高可用是很多分布式系统中必备的特征之一,Kafka的高可用是通过基于 leader-follower的多副本同步实…

Qt QComboBox组合框控件

文章目录 1 属性和方法1.1 文本1.2 图标1.3 插入和删除1.4 信号和槽 2 实例2.1 布局2.2 代码实现 Qt中的组合框是集按钮和下拉列表体的控件,,它占用的屏幕空间很小,对应的类是QComboBox 1 属性和方法 QComboBox有很多属性,完整的…

Java编程避坑指南之关键字专题

1、Java常见关键字 1)、48个关键字: abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、l…

C++入门【27-C++ 引用】

引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。 C 引用 vs 指针 引用很容易与指针混淆,它们之间有三个主要的不同: 不存在…

编程语言的未来:创新与发展

编程语言的未来? 编程语言是计算机软件的基础,它们为程序员提供了一种沟通和指导计算机的方式。随着软件需求的不断增长和技术的进步,编程语言也需要不断演化和创新,以满足不断变化的需求。未来的编程语言将更加强大、灵活、易用…

航空服务市场分析:预计2024年客运总量将达40亿人次

在政策的引导和市场发展下,支线航空发展机遇在于在一些具备需求的区域,持续推进"航空服务大众化"。此前,美国实行"普遍航空服务"计划,我国也需要加快推进"国家基本航空服务计划"政策体系。国民经济…

springboot第46集:Nginx,Sentinel,计算机硬件的介绍

image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png 什么是单点容错率低: 单点容错率低指的是系统中存在某个关键节点,一旦这个节点发生故障或崩…

IDEA中在Java项目中添加Web模块 与配置tomcat服务器

现有项目添加直接走第二步 生成普通新项目 给项目添加框架支持 勾选 Web Application 选项, 点击OK 得到项目目录结构 , 出现web目录结构, 且web目录文件夹出现小蓝点 web或webapp 没有出现小蓝点 说明web配置没有出现或是手动构建的目录结构 , 在IDE关闭或者迁移项目时会出…

【虚拟仪器Labview】习题T1-详解

目录 题目要求思路计时部分详解实现第二个部分:将X*3Y 的的结果 Z与100进行比较。全部完成 题目要求 从前面板输入两个浮点数:X,Y,计算 X*3Y 的的结果 Z,在前面板显示计算结果。并且判断 Z是否小于 100,如果 Z 小于 100,前面板中的…

Java快速排序希尔排序归并排序

快速排序算法 快速排序的原理:选择一个关键值作为基准值。比基准值小的都在左边序列(一般是无序的),比基准值大的都在右边(一般是无序的)。一般选择序列的第一个元素。 一次循环:从后往前比较&…

实现复数计算器

复数计算器实现 摘要 本论文描述了一个复数计算器的设计和实现,旨在扩展传统计算器的功能,以支持复数的加法、减法、乘法和除法。通过使用Java编程语言和Swing图形用户界面库,我们创建了一个直观、易于使用的界面,允许用户输入复…

在qemu虚拟机环境下,使用kgdb调试kernel

enable kgdb的情况下,使用qemu启动kernel 1,需要先在内核配置中增加kgdb的支持 2,启动qemu虚拟机时,增加参数-s -S,这两个参数会使得kernel在启动之后遇到的第一个指令等待gdb连接 例子: /qemu-project…

C++入门【28-C++ 把引用作为参数】

我们已经讨论了如何使用指针来实现引用调用函数。下面的实例使用了引用来实现引用调用函数。 实例 #include <iostream>using namespace std;// 函数声明void swap(int& x, int& y);int main () {// 局部变量声明int a 100;int b 200;cout << "交…