( 암호를 모르는 상태에서 제거하는것이 아니라, 암호는 알고 있는 상태여야 함 )
필요한 라이브러리는 PyPDF2이다.
PyPDF2는 PyCryptodome 라이브러리에 의존적이어서 두개의 라이브러리를 같이 설치해준다.
pip install pypdf2 pip install pycryptodome
설치된 상태에서 아래와 같이 코딩해준다.
from PyPDF2 import PdfReader, PdfWriter
def decrypt_pdf(input_path, output_path, password):
reader = PdfReader(input_path)
reader.decrypt(password)
writer = PdfWriter()
for page in reader.pages:
writer.add_page(page)
with open(output_path, 'wb') as output_file:
writer.write(output_file)
input_path = '비번걸려있는파일.pdf'
output_path = '비번제거될파일.pdf'
password = '현재걸려있는비번'
decrypt_pdf(input_path, output_path, password)