I have used this method to encrypt a PDF file with AES 128:
JavaScript
x
12
12
1
import PyPDF2
2
pdffile = open(r"input.pdf", "rb")
3
pdfReader = PyPDF2.PdfFileReader(pdffile)
4
pdfWriter = PyPDF2.PdfFileWriter()
5
for pageNum in range(pdfReader.numPages):
6
pdfWriter.addPage(pdfReader.getPage(pageNum))
7
8
pdfWriter.encrypt('password')
9
resultPDF = open(r"output.pdf", "wb")
10
pdfWriter.write(resultPDF)
11
resultPDF.close()
12
…but is there a similarly-simple way to use AES 256?
Thanks in advance!
Advertisement
Answer
I have the same issue. I use pikepdf
to solve it.
JavaScript
1
5
1
import pikepdf
2
with pikepdf.Pdf.open(r"input.pdf") as pdf:
3
pdf.save(r"output.pdf", encryption=pikepdf.Encryption(
4
owner='password', user='password'))
5
By default, pikepdf
use AES-256 to encrypt.