Портативный формат документа (PDF) является одним из наиболее широко используемых форматов файлов на онлайн-аксессуарах. Большинство документов E.g. Электронные книги, отсканированные документы e.t.c используют этот формат PDF для хранения и целей обмена и совместного использования.
С целью обмена различными платформами и средствами массовой информации документ подвергается такому количеству таких угроз, как утечка информации и доступ несанкционированными лицами. Поэтому необходимо зашифровать его/ее документы, чтобы предотвратить такие избежать вхождений и воздействия.
Python – это находчивый язык программирования, предлагает очень удивительный модуль, известный как Pypdf2
Чтобы шифровать и расшифровать файлы PDF, следовательно, отсюда повышают безопасность содержащейся информации.
Библиотека PypDF2 способна:
- Извлечение информации о документах E.G. Название, номер страницы e.t.c
- Расщепление и объединение документов.
- Обрезанные страницы.
- Шифрование и дешифрование.
Pypdf2
Не является встроенной библиотекой, поэтому она должна быть установлена перед использованием:
pip3 install PyPDF2
Найдены файлы, используемые в реализациях кода ниже здесь Шифрование файла PDF Шифрование файлов влечет за собой добавление пароля к документу, который позволяет доступу к только авторизованным людям.
Для этого мы будем следовать следующим этапам: Шаг 1: Откройте PDF с помощью объекта Reader. Шаг 2: Создайте копию исходного файла, итерация через каждую страницу и добавив его в новый файл PDF. Шаг 3: Зашифруйте новый файл PDF.
Реализация кода
# Import the required module and sub-modules from PyPDF2 import PdfFileWriter from PyPDF2 import PdfFileReader # Create a PdfFileWriter object result = PdfFileWriter() # Open the pdf file to encrypt file = PdfFileReader('Magazine.pdf') # Retrieve the number of pages to iterate in the original document length = file.numPages # Iterates through every page and adds it to the new file (a copy of the original) for i in range(length): pages = file.getPage(i) result.addPage(pages) # Creates a variable password. password = 'pam&Lab890' # Encrypt the file using the created password result.encrypt(password) # Open a new file 'Magazines.pdf' and write the encrypted pdf file with open('Magazines.pdf','wb') as f: result.write(f)
Это создает аналогичную копию исходного файла (может иметь другое имя, как указано), который требует установленного пароля для включения доступа.
Расшифровка файла PDF Дешифрование разблокирует документ с данным паролем и преобразует его в файл PDF, который не требует ключа пароля для доступа.
Шаги расшифровки файлов практически аналогичны для шифрования.
Шаг 1: Откройте PDF с помощью объекта Reader. Шаг 2: Зашифруйте новый файл PDF. Шаг 3: Создайте копию исходного файла, итерация через каждую страницу и добавив его в новый файл PDF.
Реализация кода
# Import the required module and sub-modules from PyPDF2 import PdfFileWriter from PyPDF2 import PdfFileReader # Create a PdfFileWriter object result = PdfFileWriter() # Open the password - secured pdf file to decrypt file = PdfFileReader('Magazines.pdf') # Creates a variable password. password = 'pam&Lab890' # First, check if the file is encrypted then proceed if encrypted if file.isEncrypted: # Decrypt the file using the givenpassword file.decrypt(password) # Iterates through every page and adds it to the new file for i in range(31): pages = file.getPage(i) result.addPage(pages) # Open a new file 'Magazines1.pdf' and write the encrypted pdf file with open('Magazines1.pdf','wb') as f: result.write(f) print('File decrypted successfully') else: print('File is not encrypted')
Если вы, ребята, нашли этот пост полезным, а затем сохраните его, чтобы вы могли отосмотреть в любое время. Для тех, кто хочет узнать больше о модуле и функциональных возможностях PypDF2, просто дайте рекомендацию конкретной области (будь то объединение, разделение E.T.c) в разделе «Комментарий» ниже. Счастливая неделя кодирования! 👨💻 👩. 💻.
Оригинал: “https://dev.to/seniorcitizen/encrypting-and-decrypting-pdf-files-using-python-24ii”