【python练习】PDF操作练习

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

  

原文地址:https://www.cnblogs.com/zhaoyujiao/p/15480482.html