朋友需要对一个pdf文件进行分割,在网上查了查发现这个pypdf2可以完成这些操作,所以就研究了下这个库,并做一些记录。首先pypdf2是python3版本的,在之前的2版本有一个对应pypdf库。
可以使用pip直接安装:
官方文档: pythonhosted.org/PyPDF2/
里面主要有这几个类:
PdfFileReader 。
该类主要提供了对pdf文件的读操作,其构造方法为:
第一个参数可以传入一个文件流,或者一个文件路径。后面三个参数都是用来设置警告的处理方式,直接使用默认的即可。
得到实例之后,就可以对pdf进行一些操作了。主要的有以下几个操作:
- decrypt(password):如果pdf文件加密的话,可以使用该方法对其解密。
- getDocumentInfo():检索pdf文件的一些信息。其返回值为一个DocumentInformation 类型,直接输出的话会得到类似下面的信息:
- getNumPages():这个会pdf文件中的页数。
- getPage(pageNumber):会得到pdf文件中对应的pageNumber页数的页面对象,返回值为PageObject实例。在得到PageObject实例之后就可以将其加添、插入等操作。
- getPageNumber(page):与上面的方法对立,可以传入PageObject实例,然后得到该实例是pdf文件

本文介绍了Python库pypdf2的使用,包括如何对PDF进行合并、分割和加密操作。通过PdfFileReader和PdfFileWriter类实现PDF文件的读写,PdfFileMerger类用于合并PDF。对于加密的PDF,可以使用decrypt方法解密。在处理中文PDF时,可能遇到乱码问题,将strict参数设为False可避免某些错误,但结果不稳定。提供了加密、解密、按页数和份数分割PDF的示例代码。
最低0.47元/天 解锁文章
1912





