Word文档的加密和解密是常见的需求,特别是在处理敏感信息时。然而,Python-docx库本身并不支持Word文档的加密和解密。在这种情况下,可以借助Python的其他库,如PyPDF2库,虽然这是一个处理PDF的库,但也可以用于Word文档的加密和解密。首先,需要安装对应的库,可以使用以下命令安装,如代码3-14所示。
pip install PyPDF2
注意: 这种方法仅适用于PDF格式的文档。如果文档是Word格式的,需要首先将其转换为PDF格式,然后进行加密或解密。具体内容可以参考3.11节,了解如何将Word文档转换为PDF文档。
用PyPDF2进行文档加密的示例如代码3-15所示。
使用PyPDF2进行文档解密的示例如代码3-16所示。
from PyPDF2 import PdfFileWriter, PdfFileReader def decrypt_pdf(file, password): """ 解密PDF文档 参数: file--PDF文档的文件名 password--密码 """ parser=PdfFileWriter() pdf=PdfFileReader(file) if pdf.isEncrypted: pdf.decrypt(password) for page in range(pdf.getNumPages()): parser.addPage(pdf.getPage(page)) with open(f'decrypted_{file}', 'wb') as f: parser.write(f) print(f'decrypted_{file} Created...') else: print('Document is not encrypted.') # 使用示例 decrypt_pdf('encrypted_example.pdf', 'password')
在这两段代码中,首先打开PDF文档,然后通过PyPDF2库的encrypt()和decrypt()函数对文档进行加密和解密。加密或解密后的文档被保存为一个新的文件。
通过这种方法,可以对包含敏感信息的文档进行加密,以防止未经授权的访问。同样,也可以对加密的文档进行解密,以便可以访问文档的内容。