PythonでPDFの権限パスワードを有効にしたい

実現したいこと

Pythonを用いてPDFに権限パスワードを設定したいです。

前提

pythonでPDFに権限パスワードを設定させるコードを作っています。
(図の赤枠の設定です。「上の文章を開く」のところではありません。)
下記のエラーメッセージによるとuser_passwordがないと保護を設定できない?ようです。
user_passwordを同じく"12345"と設定するとPDFを開くときにパスワード設定されてしまい、
権限パスワードは設定できず...。Pythonではファイルを開くときの保護しか設定できないのでしょうか。
ご教授お願いします。

環境は
pyhton3.11.7
adove Acrobat 2017 です。

イメージ説明

発生している問題・エラーメッセージ

ValueError: user_password may not be None

該当のソースコード

python

1import os 2from PyPDF2 import PdfReader, PdfWriter 3 4def set_password(src_folder, dst_folder, user_password, owner_password):5 # 入力フォルダー内のすべてのPDFファイルに対してループを実行6 for filename in os.listdir(src_folder):7 if filename.endswith(".pdf"):8 src_path = os.path.join(src_folder, filename)9 dst_path = os.path.join(dst_folder, filename)10 protect_pdf(src_path, dst_path, user_password, owner_password)11 12def protect_pdf(src_path, dst_path, user_password, owner_password):13 src_pdf = PdfReader(src_path)14 dst_pdf = PdfWriter()15 16 for page in src_pdf.pages:17 dst_pdf.add_page(page)18 19 dst_pdf.encrypt(user_password, owner_password)20 with open(dst_path, "wb") as f:21 dst_pdf.write(f)22 23# 入力フォルダー24src_folder = r"C:\Users\CR\Desktop\PDF入力元"25 26# 出力先フォルダー27dst_folder = r"C:\Users\CR\Desktop\PDF出力先"28 29#パスワード30user_password = None31owner_password = "12345"32 33# フォルダー内のすべてのPDFファイルに対して保護を設定34set_password(src_folder, dst_folder, user_password, owner_password)

コメントを投稿

0 コメント