PDF パスワード解除スクリプトの作成

最近パスワードのかかったpdfファイルをよく受け取るので、pdfのパスワードを削除するスクリプトを書いた。

import pypdf

SRC_PDF = 'password.pdf'  #パスワードがかかったPDF
DST_PDF = 'non_password.pdf' #パスワードを解除したPDF
PASSWORD = '' #PDFのパスワード

def delete_password(src_pdf, dst_pdf, src_password):
    src_pdf_file = pypdf.PdfReader(src_pdf)
    src_pdf_file.decrypt(src_password)

    dst_pdf_file = pypdf.PdfWriter()
    dst_pdf_file.clone_reader_document_root(src_pdf_file)

    d = {key: src_pdf_file.metadata[key] for key in src_pdf_file.metadata.keys()}
    dst_pdf_file.add_metadata(d)

    dst_pdf_file.write(dst_pdf)


delete_password(SRC_PDF, DST_PDF, PASSWORD)

pypdfでパスワードのかかったファイルのパスワードを解除します。
パスワードのかかったpdfのファイル名をSRC_PDFにセットし、
新しいファイル名をDST_PDF、
パスワードをPASSWORDにセットすれば、パスワードのかかってないファイルがDST_PDFにセットしたファイル名で出力されます。