PyPDF2模块介绍之——PdfFileWriter

PdfFileWriter class是文件写入模块,通过它,可以将给定的页面写入到pdf文件中,(以后本教程简写为pdfwriter,权且叫pdf文件写入器),改模块与第一个模块PdfFileReader配合使用,

代码操作在
c:/users/admin/desktop/pypdf/day03目录下,有两个PDF文件test.pdf,ad.pdf,Ipython8.0交互式环境下测试,test文件是要读取的测试文件8页,ad文件是一页个人logo文件

读取测试PDF1

个人logoPDF文件

写入器基本介绍:一图胜千言

思维导图如下:

写模块思维导图

PdfFilewriter常用属性测试(结合PdfFileReader)

先初始化环境(PdfFileReader-->pdfreader简写替代,PdfFileWriter--> pdfwriter简写替代)

# 导入读写模块,并且重命名简便替代 from PyPDF2 import PdfFileReader as pdfreader from PyPDF2 import PdfFileWriter as pdfwriter # 两个PDF文件读取器和一个写入器 rpdf = pdfreader('test.pdf') #一个读取器读取test文档 ad = pdfreader('ad.pdf') #一个读取器读取ad文档 wpdf = pdfwriter() #wpdf代表写入器

1、addPage()添加页面方法测试,配合write()写入保存文件方法

顾名思义就是增加一个页面,参数必须是页面对象,可以通过读取pdfreader的getPage(数字)获得,操作如下

p = ad.getPage(0) #获取logo文件第一页页面 wpdf.addPage(p) #增加一次个人logo页面 wpdf.addPage(p) # 再来一次 # 保存新文档 with open('add_ad2.pdf','wb') as f: wpdf.write(f)

写入器增加页面并且写入文件

连续写入两遍的结果

2、insertPage()页面插入方法测试,配合write()写入保存文件方法

顾名思义就是插入,有两个参数,一个插入页面对象,和addPage相同,另一个是index=0,默认插入到第一个位置。操作请看

# 获取test文件中的第2页作为临时页面 page_tmp = rpdf.getPage(1) wpdf.insertPage(page_tmp) # 吧临时页面插入到文件写入器中 with open('insert_ad2.pdf','wb') as f: wpdf.write(f) # 数据写入文件f

插入页面的操作演示

简单学习完读与写的基本模块,我们其实可以做到PDF文件的页面的:插入,排序、提取等,实际应用中,比如把一个大的PDF文件插入片头片尾个人logo,或者中间插入,我在下一节的实例中进行讲解。