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にセットしたファイル名で出力されます。