Encrypt and Decrypt PDF
Contents
[
Hide
]
Criptografar Arquivo PDF usando Diferentes Tipos de Criptografia e Algoritmos
Uma maneira eficaz de proteger arquivos PDF é através da criptografia. Neste artigo, exploraremos como criptografar documentos PDF usando Python com a ajuda da biblioteca Aspose.PDF.
A criptografia de PDF envolve embaralhar o conteúdo de um documento PDF usando algoritmos criptográficos para impedir o acesso não autorizado. Arquivos PDF criptografados exigem uma senha para serem abertos e podem ter restrições em ações como impressão, cópia e edição.
- A senha do usuário, se definida, é o que você precisa fornecer para abrir um PDF. O Acrobat/Reader solicitará ao usuário que insira a senha do usuário. Se não for correta, o documento não será aberto.
- A senha do proprietário, se definida, controla permissões, como impressão, edição, extração, comentários, etc. Acrobat/Reader impedirá essas coisas com base nas configurações de permissão. O Acrobat exigirá esta senha se você quiser definir/alterar permissões.
O trecho de código a seguir mostra como criptografar arquivos PDF.
- Criar o caminho do arquivo de entrada e saída
- Carregar o documento PDF usando AsposePDFPythonWrappers
- Definir as permissões para o documento criptografado
- Definir o algoritmo de criptografia a ser usado
- Criptografar o documento com as senhas de usuário e proprietário especificadas, permissões e algoritmo de criptografia usando o método ‘document.encrypt’
- Salvar o documento criptografado no arquivo de saída especificado com o método ‘document.save’.
import AsposePDFPythonWrappers as apw
import AsposePDFPython as apCore
import os
import os.path
# Definir o caminho do diretório para os arquivos de exemplo
dataDir = os.path.join(os.getcwd(), "samples")
# Definir o caminho do arquivo de entrada
input_file = os.path.join(dataDir, "sample.pdf")
# Definir o caminho do arquivo de saída
output_file = os.path.join(dataDir, "results", "sample-enc.pdf")
# Carregar o documento PDF usando AsposePDFPythonWrappers
document = apw.Document(inputFile)
# Definir as permissões para o documento criptografado
permission = apCore.Permissions(apCore.Permissions.ExtractContent | apCore.ModifyContent)
# Definir o algoritmo de criptografia a ser usado
cryptoAlgorithm = apCore.CryptoAlgorithm.RC4x128
# Criptografar o documento com as senhas de usuário e proprietário especificadas, permissões e algoritmo de criptografia
document.encrypt("user", "owner", permission, cryptoAlgorithm)
# Salvar o documento criptografado no arquivo de saída especificado
document.save(output_file)
Descriptografar Arquivo PDF usando Senha do Proprietário
- Criar o caminho do arquivo de entrada e saída
- Criar uma nova instância da classe Document do módulo AsposePDFPythonWrappers
- Descriptografar o documento usando o método document_decrypt
- Salvar o documento descriptografado no caminho do arquivo de saída usando o método save() com a função document_save.
import AsposePDFPythonWrappers as apw
import AsposePDFPython as apCore
import os
import os.path
# Definir o caminho do diretório para os arquivos de exemplo
dataDir = os.path.join(os.getcwd(), "samples")
# Definir o caminho do arquivo de entrada
input_file = os.path.join(dataDir, "sample_enc.pdf")
# Definir o caminho do arquivo de saída
output_file = os.path.join(dataDir, "results", "sample-dec.pdf")
# Criar uma nova instância da classe Document do módulo AsposePDFPythonWrappers
document = apw.Document(input_file, "owner")
# Descriptografar o documento usando o método decrypt()
document.decrypt()
# Salvar o documento descriptografado no caminho do arquivo de saída usando o método save()
document.save(output_file)