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文件