python处理PDF3
文档加密与解密
你可能在打开部分 PDF 文件的时候,会弹出下面这个界面:
这种就是 PDF 文件被加密了,在打开的时候需要相应的密码才行
本节所提到的也只是基于 PDF 文档的加密解密,而不是所谓的 PDF 密码破解。
在对 PDF 文件加密需要使用 encrypt 函数,对应的加密代码也比较简单:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import os from PyPDF2 import PdfFileReader, PdfFileWriter def encrypt_pdf(filepath, save_filepath, passwd = 'xiaoyi' ): """ PDF文档加密 @param filepath:PDF文件路径 @param save_filepath:加密后的文件保存路径 @param passwd:密码 @return: """ pdf_reader = PdfFileReader(filepath) pdf_writer = PdfFileWriter() for page_index in range (pdf_reader.getNumPages()): pdf_writer.addPage(pdf_reader.getPage(page_index)) # 添加密码 pdf_writer.encrypt(passwd) with open (save_filepath, "wb" ) as out: pdf_writer.write(out) # 文档加密 encrypt_pdf(filepath, save_filepath, passwd = 'xiaoyi' ) |
针对已经加密的 PDF 文件,也可以使用 decrypt 函数进行解密操作
解密代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | def decrypt_pdf(filepath, save_filepath, passwd = 'xiaoyi' ): """ 解密 PDF 文档并且保存为未加密的 PDF @param filepath:PDF文件路径 @param save_filepath:解密后的文件保存路径 @param passwd:密码 @return: """ pdf_reader = PdfFileReader(filepath) # PDF文档解密 pdf_reader.decrypt( 'xiaoyi' ) pdf_writer = PdfFileWriter() for page_index in range (pdf_reader.getNumPages()): pdf_writer.addPage(pdf_reader.getPage(page_index)) with open (save_filepath, "wb" ) as out: pdf_writer.write(out) # 文档解密 decrypt_pdf(filepath, save_filepath, passwd = 'xiaoyi' ) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix