1、提取PDF的某些页:通过PyPDF2库实现;pip install PyPDF2
import PyPDF2 ''' 提取PDF的某些页 1、将目标文件读取至python内存,以二进制方式读取; 2、创建一个写对象,将需要提取的PDF文件赋值到写对象; 3、将写对象的变量导出,并储存为PDF文件; ''' if __name__ == '__main__': with open(r"E:QA工具书籍没有任何借口.pdf", 'rb') as f: f_0 = PyPDF2.PdfFileReader(f) # 将目标文件读取至python内存,以二进制方式读取 f_0_w = PyPDF2.PdfFileWriter() # 创建一个写对象,将需要提取的PDF文件赋值到写对象; for page in [1, 3, 5, 7, 9]: # 将1 3 5 7 9页的内容读取 page_object = f_0.getPage(page) # 获取要提取的页数 f_0_w.addPage(page_object) # 将获取的页数添加到写对象中 with open(r'E:QA工具书籍没有任何借口2.pdf', 'wb') as file: f_0_w.write(file) # 将写对象的变量导出,并储存为PDF文件
2、合并任意PDF文件
''' 合并任意PDF文件 ''' filenames = ['没有任何借口1.pdf','没有任何借口2.pdf'] merger = PyPDF2.PdfFileMerger() for filename in filenames: merger.append(PyPDF2.PdfFileReader(filename)) merger.write('mergered.pdf')
3、加密PDF文件
''' 加密PDF文件 ''' with open("mergered.pdf", 'rb') as f: f_read = PyPDF2.PdfFileReader(f) # 将目标文件读取至python内存,以二进制方式读取 f_write = PyPDF2.PdfFileWriter() # 创建一个写对象,将需要提取的PDF文件赋值到写对象; for page in range(f_read.numPages): # 获取文件的所有页数 f_write.addPage(f_read.getPage(page)) # 将获取的页数添加到写对象中 f_write.encrypt('python') # 使用密码解密后可以查看 with open('encrytion.pdf', 'wb') as file: f_write.write(file) # 将写对象的变量导出,并储存为PDF文件