Mukai Systems

PythonでPDFの暗号化

ビジネスでは、PDFを暗号化するという場面は少なくない。

Pythonが使えるならPyPDF2というモジュールを使用すると簡単に実現できる。

$ pip install PyPDF2
$ pip list|grep PyPDF2
PyPDF2  3.0.1

実装は以下のとおり。(3系からAPIが変わったのでバージョンに注意)

import PyPDF2

def encpdf(org, dst, pw):
    print(str(org))
    with open(org, 'rb') as fin:
        rd = PyPDF2.PdfReader(fin)
        wr = PyPDF2.PdfWriter()
        for page in rd.pages:
            wr.add_page(page)
        wr.encrypt(pw)
        with open(dst, 'wb') as fout:
            wr.write(fout)

これで、以下のように使用できる。

encpdf('org.pdf', 'enc.pdf', 'password')

後は、用途に応じてdirectory walkerなり書いて使えばよい。

おしまい。