首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
操作PDF介绍
打开与保存PDF文档
读取文档与文档尺寸
读取页面和保存页面
合并文档
修改PDF
旋转页面
缩放页面
裁剪页面
提取文本
提取图片
添加水印
查看元数据
更新元数据
加密文档
解密文档
Word转PDF
Excel转PDF
PPT转PDF
PDF转Word
当前位置:
首页>>
技术小册>>
Python与办公-玩转PDF
小册名称:Python与办公-玩转PDF
要操作一个文档,则操作它的页面是不可缺少的常规操作,第一件事就是获取页面。 在pypdf2中,一个页面即一个PageObject对象,我们可以访问PdfReader对象的pages属性获取所有页面,然后再遍历一下所有页面即可获取每一个页面,代码如下: ```bash from PyPDF2 import PdfReader reader = PdfReader("./pdf_ files/test.pdf") for page in reader.pages: print(type(page)) # <class 'PyPDF2._page.PageObject'> ``` 如果想要指定某个页面,PdfReader对象还提供了getPage()方法,参数是页面的索引,为了避免索引越界,我们可以使用len(reader.pages)查看一共有多少个页面,也可以调用PdfReader对象的getNumPages()方法,代码如下: ```bash from PyPDF2 import PdfReader reader = PdfReader("./pdf_ files/test.pdf") print(reader.getNumPages()) # 输出:2 page = reader.getPage(0) print(type(page)) # 输出:<class 'PyPDF2._page.PageObject'> ``` ### 保存页面 读取到页面之后,我们就可以调用PdfWriter对象的addPage()方法保存页面了,参数就传入一个PageObject对象就行。这个PageObject对象可以从上一步的getPage()方法获得或者遍历pages属性获取。 比如说,我们要读取一个PDF文档,将它的前2页取出来,保存为一个新的PDF文档,当然,直接覆盖原文档也没问题,但不建议这么做,代码如下: ```bash from PyPDF2 import PdfWriter,PdfReader writer = PdfWriter() reader = PdfReader("./pdf_ files/测试文档1.pdf") for page in reader.pages[:2]: writer.addPage(page) with open("./pdf_ files/test.pdf","wb") as f: writer.write(f) ``` 这里采取的是访问PdfReader对象的pages属性的方式,主要是因为可迭代对象可以使用切片,这样即使原文档的页数小于2也不会报错。 如果你使用getPage()方法获取页面,在调用之前一定要先判断索引会不会越界,具体写法就不演示了,毕竟这些都是很基础的Python语法,如果还没掌握基础的话,就花点时间翻回Python基础部分耐心学习一下吧。
上一篇:
读取文档与文档尺寸
下一篇:
合并文档
该分类下的相关小册推荐:
Python面试指南
Python合辑2-字符串常用方法
Python合辑7-集合、列表与元组
Python编程轻松进阶(五)
剑指Python(磨刀不误砍柴工)
Python合辑5-格式化字符串
Python编程轻松进阶(一)
Python编程轻松进阶(三)
Python合辑12-面向对象
Python与办公-玩转Word
Python合辑10-函数
Python3网络爬虫开发实战(下)