Decrypting The PDF File
But what if we want to decrypt the encrypted PDF file? We can do this too with this library. The process is almost the same. We will open the encrypted file with the correct password and create a copy of it by iterating through every page of it and adding it to our new PDF file.
Here’s the code:
Python3
# import PdfFileWriter and PdfFileReader # class from PyPDF2 library from PyPDF2 import PdfFileWriter, PdfFileReader # Create a PdfFileWriter object out = PdfFileWriter() # Open encrypted PDF file with the PdfFileReader file = PdfFileReader( "myfile_encrypted.pdf" ) # Store correct password in a variable password. password = "pass" # Check if the opened file is actually Encrypted if file .isEncrypted: # If encrypted, decrypt it with the password file .decrypt(password) # Now, the file has been unlocked. # Iterate through every page of the file # and add it to our new file. for idx in range ( file .numPages): # Get the page at index idx page = file .getPage(idx) # Add it to the output file out.addPage(page) # Open a new file "myfile_decrypted.pdf" with open ( "myfile_decrypted.pdf" , "wb" ) as f: # Write our decrypted PDF to this file out.write(f) # Print success message when Done print ( "File decrypted Successfully." ) else : # If file is not encrypted, print the # message print ( "File already decrypted." ) |
This will create a copy of the encrypted file that doesn’t require a password to be opened.
So, this was a basic script to encrypt and decrypt PDF files. But there are a plethora of ideas to extend this. You can create a GUI tool to do it or Develop a Web application that encrypts PDF files. You can also create a whole PDF Manager using the PyPDF2 library.
Encrypt and Decrypt PDF using PyPDF2
PDF (Portable Document Format) is one of the most used file formats for storing and sending documents. They are commonly used for many purposes such as eBooks, Resumes, Scanned documents, etc. But as we share pdf to many people, there is a possibility of its data getting leaked or stolen. So, it’s necessary to password protect our PDF files so that only authorized persons can have access to it.
In this article, we are going to see how can we set a password to protect a PDF file. We’ll be using the PyPDF2 module to encrypt and decrypt our PDF files. PyPDF2 is a Python library built as a PDF toolkit. It is capable of:
- Extracting document information (title, author, …)
- Splitting and Merging documents
- Cropping pages
- Encrypting and decrypting PDF files
Installation
PyPDF2 is not an inbuilt library, so we have to install it.
pip3 install PyPDF2
Now, we are ready to write our script to encrypt PDF files.
Contact Us