Python玩转PDF文档的各种实用操作

今天小编为大家分享如何用Python来玩转PDF文档,例如提取当中的部分内容并导出,给PDF文件添加水印,合并多份PDF文件等等,而本文会着重用到PyPDF2模块来玩转PDF文档,以及tabula模块来对PDF文档中的表格数据进行读取

01

获取文档的基本信息

首先我们要用的是PdfFileReader方法,

在其中填入PDF文件的路径之后,便能通过获取一系列关于该PDF文件的相关信息,比方说

Python玩转PDF文档的各种实用操作_第1张图片

其中的documentInfo可以告诉你关于该本书的作者等相关信息,而numPages则可以体现出该PDF文件的具体页数

其中最重要的方法则是getPage(page_num)了,它能将具体某一页的内容以字符串的形式返回,当然其中要注意的是,它和我们平常所用的列表的索引值以0为开始值相类似,比方说要获取第7页的内容,则page_num应当填的是6,再用extractText来获取里面的内容,

Python玩转PDF文档的各种实用操作_第2张图片

02

获取文档的部分内容并保存

而当我们想将其中的部分内容提取出来单独保存成一个PDF文件时,步骤也是十分的简单,首先用PdfFileWriter来创建一个writer变量,

接着便是向其中添置内容,我们可以用到上面所讲的getPage(page_num)方法来放入第三页与第四页的内容

Python玩转PDF文档的各种实用操作_第3张图片

最后导出至一个独立的PDF文件

03

合并多个PDF文档

除了提取PDF文件中的部分内容,PyPDF2库也能帮助我们进行合并PDF文件,

Python玩转PDF文档的各种实用操作_第4张图片

首先遍历输入的paths,并为每个输入创建一个PDF阅读对象,然后遍历PDF文件中的所有页面,并使用addPage()将这些页面写入writer对象。当完成对列表中所有PDF的所有页面的写入后,将在末尾写入新的至新的结果中

04

添加水印

添加水印的目的在于它可以保护你的知识产权,表明文档的出处等等,我们可以使用PyPDF2当中的一些函数来达到此目的,其中的原理也非常容易理解,首先准备一份有且仅包含水印的PDF文件,通过两个PDF相合并的方式来为对象文档添加水印

Python玩转PDF文档的各种实用操作_第5张图片

05

给PDF文档加密

为PDF文档加密能够加强文档的安全性,而PyPDF2也提供了给PDF文件加密的方法,

Python玩转PDF文档的各种实用操作_第6张图片

在生成pdfwrite对象之后遍历输入文档的所有内容,并将这些页面中的内容写入至pdfwrite对象中,最后一步则是调用.encrypt(),并在其中填入自己要设定的密码即可

06

玩转PDF当中的表格数据

而当PDF文件中包含着表格数据时,tabula-py库能够很好地协助我们来处理其中的数据,首先通过pip install tabula-py来完成对该模块的安装,

Python玩转PDF文档的各种实用操作_第7张图片

在.read_pdf中我们可以通过筛选pages参数来选择我们要进行读取数据的页数,而area参数则表示在当前页面中要读取数据的区域,而,当然在表格当中我们依然可以看到字符串之间的空格用'\r'来代替,我们可以通过正则表达式来进行替换,而之后通过pandas来对表格进行统计分析也就轻松容易了许多。

Python玩转PDF文档的各种实用操作_第8张图片

Python玩转PDF文档的各种实用操作_第9张图片

微信号:1072362067

关注我们,了解更多

你可能感兴趣的:(Python玩转PDF文档的各种实用操作)