Рубрики
Без рубрики

Шифрование и расшифровывая файлы PDF с помощью Python …

Портативный формат документа (PDF) является одним из наиболее широко используемых форматов файлов на онлайн … Теги с Python, программированием, CodeNewie, начинающими.

Портативный формат документа (PDF) является одним из наиболее широко используемых форматов файлов на онлайн-аксессуарах. Большинство документов E.g. Электронные книги, отсканированные документы e.t.c используют этот формат PDF для хранения и целей обмена и совместного использования.

С целью обмена различными платформами и средствами массовой информации документ подвергается такому количеству таких угроз, как утечка информации и доступ несанкционированными лицами. Поэтому необходимо зашифровать его/ее документы, чтобы предотвратить такие избежать вхождений и воздействия.

Python – это находчивый язык программирования, предлагает очень удивительный модуль, известный как Pypdf2 Чтобы шифровать и расшифровать файлы PDF, следовательно, отсюда повышают безопасность содержащейся информации.

Библиотека PypDF2 способна:

  1. Извлечение информации о документах E.G. Название, номер страницы e.t.c
  2. Расщепление и объединение документов.
  3. Обрезанные страницы.
  4. Шифрование и дешифрование.

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”