PyPDF2更新到3.0.0版本后需要更改的方法

在某一天更新了项目环境中的 PyPDF2 于是乎出现了下列报错信息
PyPDF2.errors.DeprecationError: PdfFileReader … PDF2 Use PdfReader inst…

废话少说
原因:PyPDF2 升级到3.0.0后他们修改了一些方法名 例如:PdfFileReader -> PdfReader

解决方法:当然是把旧的方法名更新下就好了

下面只列举几个我项目中遇到的几处改动

一、PdfFileReader -> PdfReader
二、 PdfFileWriter -> PdfWriter
三、 metadata = dict(pdfReader.getDocumentInfo()) -> metadata = dict(pdfReader.metadata) 获取pdf元数据
四、写入元数据

pdfWriter = PdfWriter()
# 这里输入要修改的元信息,当然又可以在原来的信息里面加,我不会高级的设计模式,大牛改进后可以发给我
pdfWriter.addMetadata(metadata) 
addMetadata 修改为下面 add_metadata
pdfWriter.add_metadata(metadata)

五、将 reader 中的数据拷贝到当前的 Writer 实例中

pdfWriter.appendPagesFromReader(pdfReader)
# appendPagesFromReader 改为 append_pages_from_reader
pdfWriter.append_pages_from_reader(pdfReader)
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pypdf2是一个用于操作PDF文件的Python库,它可以用来合并、分割、添加、旋转、水印等操作PDF文件。以下是pypdf2 3.0.0的使用方法: 1. 安装pypdf2 使用pip安装pypdf2: ``` pip install pypdf2 ``` 2. 打开PDF文件 ```python import PyPDF2 pdf_file = open('example.pdf', 'rb') pdf_reader = PyPDF2.PdfFileReader(pdf_file) ``` 这里使用`open`函数打开PDF文件,并以二进制读取模式打开。 3. 读取PDF文件信息 ```python # 获取PDF文件总页数 num_pages = pdf_reader.getNumPages() print(f'Total pages: {num_pages}') # 获取PDF文件元信息 pdf_info = pdf_reader.getDocumentInfo() print(f'Title: {pdf_info.title}') print(f'Author: {pdf_info.author}') print(f'Creator: {pdf_info.creator}') print(f'Producer: {pdf_info.producer}') print(f'Creation date: {pdf_info['/CreationDate']}') ``` 通过`getNumPages`方法可以获取PDF文件的总页数,通过`getDocumentInfo`方法可以获取PDF文件的元信息,例如标题、作者、创建者、生产者、创建日期等。 4. 读取PDF文件内容 ```python # 读取第一页的内容 page = pdf_reader.getPage(0) text = page.extractText() print(text) ``` 通过`getPage`方法可以获取PDF文件中的某一页,然后使用`extractText`方法可以提取该页的文本内容。 5. 修改PDF文件 ```python # 创建一个新的PDF文件 pdf_writer = PyPDF2.PdfFileWriter() # 向新文件中添加一页 pdf_writer.addPage(page) # 将新文件写入磁盘 with open('new.pdf', 'wb') as f: pdf_writer.write(f) ``` 通过`PdfFileWriter`类可以创建一个新的PDF文件,然后使用`addPage`方法向新文件中添加页,最后使用`write`方法将新文件写入磁盘。 6. 关闭文件 ```python pdf_file.close() ``` 使用完PDF文件后,需要关闭文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值