PDFの暗号化
お客様との一部の文書のやり取りがPDFになった。従来は印刷、押印、郵送だったのでだいぶ楽になる。
要件として、PDFは暗号化されていないければならないが、なんのことはない。1
PyPDF2というモジュールを使用すると実現できることが分かった。
pip install PyPDF2
実装は以下のとおり。
import PyPDF2
def encpdf(org, dst, pw):
with open(org, 'rb') as fin:
rd = PyPDF2.PdfFileReader(fin)
wr = PyPDF2.PdfFileWriter()
for i in range(rd.numPages):
wr.addPage(rd.getPage(i))
wr.encrypt(pw)
with open(dst, 'wb') as fout:
wr.write(fout)
これで、以下のように使用できる。
encpdf('org.pdf', 'enc.pdf', 'password')
後は、用途に応じてdirectory walkerなり書いて使えばよい。
おしまい。
[1] 参考までに無償のAdobe Acrobat Readerではパスワードの暗号化はできないらしい。いい商売ですね。