【Python军火库】PyPDF2:操纵PDF的利器

PyPDF2是Python中用于处理PDF的强大库,可以实现提取文本、创建PDF、拷贝、旋转、叠加及解密加密等功能。但要注意,PyPDF2无法提取图像等非文本内容,且文本提取可能不完全准确。使用时需创建新PDF来完成编辑操作,例如,通过addPage()和mergePage()进行页面合并和叠加。解密和加密PDF分别用decrypt()和encrypt()方法,而旋转PDF则使用rotateClockwise()和rotateCounterClockwise()。
摘要由CSDN通过智能技术生成


一、PyPDF2简介

利用Python+PyPDF2,我们能够实现对PDF的一些操作。

当然,PyPDF2对PDF的操作并非万能的,在使用过程中我们需要注意以下问题:

  1. PyPDF2无法从PDF文档中提取图像、图表或其他媒体,它可以提取文本并返回字符串
  2. 有时候PDF提取文本会出错,甚至无法打开某些PDF
  3. PyPDF2不能任意将文本写入PDF,仅限于从其他PDF拷贝页面、旋转页面、重叠页面和加密文件
  4. 模块不能直接编辑PDF,必须创建一个新的PDF,然后从已有的文档拷贝内容

PyPDF2的安装也非常简单

如果你是Windows系统,直接进入DOS命令行

输入:pip install PyPDF2

然后回车即可等待自动完成安装

PyPDF2的主要功能有以下六项,我们也将分别从这六大功能来介绍PyPDF2的使用:

  1. 从PDF提取文本
  2. 创建PDF
  3. 拷贝PDF
  4. 旋转PDF
  5. 叠加PDF
  6. 解密与加密PDF

——

二、PyPDF2六大基操

1、从PDF提取文本

import PyPDF2     # 注意y一定是小写
pdfFileobj = open('meetingminutes.pdf','rb')        # 用二进制只读形式打开文件
pdfReader = PyPDF2.PdfFileReader(pdfFileobj)        # 获取内容对象
print(pdfReader.numPages)         # 打印PDF页数

pageobj = pdfReader.getPage(0)       # 获取页面是从0开始的,也就是0表示PDF中的第一页
print(pageobj.extractText())         # 返回该页文本的字符串

从上面代码我们能学到什么?

  1. 我们需要以二进制形式打开PDF文件
  2. 我们需要为PDF创建对象
  3. 获取当前PDF的页数:numPages
  4. 获取某一页PDF:getPage() …第1页是从0开始
  5. 返回页面字符串内容:extractText()

我们看看返回的内容与实际页面的对比,还是有一定的差距误差(红色框框标注的)
在这里插入图片描述

2、创建PDF

import PyPDF2     # 注意y一定是小写
pdfWriter = PyPDF2.PdfFileWriter()   # 创建PDF写入对象

如果只是要读入PDF,我们要创建PdfFileReader对象;如果创建一个需要写入的PDF,我们则要创建PdfFileWriter对象。

具体怎么使用,我们接着后面的案例来说道。

3、拷贝PDF

通过拷贝PDF,我们可以实现两个PDF的合并操作。

因为我们在最开始说过,PyPDF2并不能实现将任意内容写入原本的PDF中,所以我们只能创建一个新的PDF,并将内容写入其中。

以下我们通过具体代码展示,如何把两个PDF(meetingminutes.pdf和meetingminutes.pdf)合并到一个PDF(combainedmin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值