注意:前提是你知道密码,本代码不是暴力跑字典
最近有个需求,下载了一堆PDF,但都有加密,密码还不一样,每次打开都要输密码很麻烦,所有有了此工具,批量去除所有密码。
import os
from pypdf import PdfReader, PdfWriter
def decrypt_pdfs(folder_path, passwords):
for filename in os.listdir(folder_path):
if filename.endswith('.pdf'):
file_path = os.path.join(folder_path, filename)
try:
with open(file_path, 'rb') as pdf_file:
pdf_reader = PdfReader(pdf_file)
if pdf_reader.is_encrypted:
success = False
for password in passwords:
try:
pdf_reader.decrypt(password)
if pdf_reader.pages:
pdf_writer = PdfWriter()
for page_num in r