快捷搜索:  汽车  科技

python办公入门(python办公自动化之pdf篇)

python办公入门(python办公自动化之pdf篇)1、extractText()提取文本方法测试初始化操作对象思维导图如下:page页操作思维导图模拟测试环境不再赘述,见day03 主要有:两个文件读取分别命名:rpdf ad 一个写对象:wpdf

PyPDF2模块介绍之——PageObject

PdfFileReader和PdfFileWriter 都是通过页面对象进行操作的,也就是今天我们学习的PageObject模块,通过它,我们可以进行PDF页面的:缩放、旋转、合并及文本提取等,此模块要与前两个模块组合用。

今天的代码操作在c:/users/admin/desktop/pypdf/day04目录下,有两个PDF文件唐诗三百首.pdf,flower.pdf,Ipython8.0交互式环境下测试,test文件是要读取的测试文件8页,flower是一束花(作为合并文件用)

python办公入门(python办公自动化之pdf篇)(1)

python办公入门(python办公自动化之pdf篇)(2)

用于合并的文件

Page页操作基本介绍:一图胜千言

思维导图如下:

python办公入门(python办公自动化之pdf篇)(3)

page页操作思维导图

PageObject常用方法测试(结合PdfFileReader与PdfFileWriter)

模拟测试环境不再赘述,见day03 主要有:两个文件读取分别命名:rpdf ad 一个写对象:wpdf

python办公入门(python办公自动化之pdf篇)(4)

初始化操作对象

1、extractText()提取文本方法测试

不过很遗憾的是,提取文本的方法不是什么样的都能完成,例如通过扫描转成的Pdf文件,或者只有通过OCR识别的文件,该模块无法完成。

poem_page = rpdf.getPage(1) #获取诗歌第2页 txt = poem_page.extractText() # 提取页面文件,不一定成功 print(txt)

2、mergePage(参数页)提方法测试

mergePage(参数对象),可以合并page对象,并且参数页面会置顶,就是两张PDF页面合并在一起,并且把括号里的页面放到最上层,通常用于添加水印。操作举例

poem_page = rpdf.getPage(1) # 唐诗三百首第2页页面 ad_page = ad.getPage(0) # 水印页面 #合并页面,参数页置顶 ad_page.mergePage(poem_page) #写入器添加 wpdf.addPage(ad_page) # 写入文件 with open('合并页面.pdf' 'wb') as f: wpdf.write(f)

python办公入门(python办公自动化之pdf篇)(5)

合并页面效果

3、页面旋转方法测试

主要有顺时针旋转rotateClockwise()和逆时针旋转rotateCounterClockwise(),名字太长了,也不好记忆,参数都是90°及其倍数,仅演示一下,更详情参考官方文档。

p1 = ad_page.rotateClockwise(90) #水印页面顺时针旋转90 p2 = ad_page.rotateCounterClockwise(90) #水印页面逆时针旋转90 wpdf.addPage(p1)#把旋转页面加入写入器 with open('旋转页面.pdf' 'wb') as f: wpdf.write(f)

4、页面缩放方法测试

页面缩放有系列方法:scale(),scaleBy() scaleTo()等,这里演示scaleby(缩放因数)

# 获取的唐诗页面等比例0.5缩放 poem_page.scalBy(0.5)

写入文件结果如下:没有什么用处,知道就行了。

python办公入门(python办公自动化之pdf篇)(6)

缩放页面

至此,pageObject的常用方法已经演示完毕,PDF页面的:缩放、旋转、合并及文本提取等,好像有用的也就页面合并,文本提取还不如OCR识别,还剩下就是页面合并了,聪明的你通过合并演示也许已经了解了,实战我会演示通过页面合并添加水印效果。

猜您喜欢: