Os arquivos PDF são amplamente usados para armazenar e compartilhar informações confidenciais, desde demonstrações financeiras até documentos jurídicos. No entanto, esses arquivos podem ser vulneráveis a acesso e edição não autorizados, e é por isso que criptografar e proteger PDFs com senha é crucial para manter sua segurança. Nesta postagem do blog, exploraremos como criptografar e proteger arquivos PDF com senha usando APIs REST baseadas em Python. Seguindo as instruções passo a passo descritas neste guia, você poderá adicionar uma camada extra de segurança aos seus arquivos PDF e garantir que eles permaneçam protegidos de olhares indiscretos. Portanto, se você precisa proteger documentos comerciais confidenciais ou arquivos pessoais, continue lendo para saber como criptografar, proteger e proteger seus arquivos PDF com facilidade.

API REST para proteger PDF

Aspose.PDF Cloud SDK for Python é uma ferramenta poderosa que permite adicionar proteção por senha aos seus arquivos PDF facilmente. Com apenas algumas linhas de código, você pode criptografar seus arquivos PDF e restringir o acesso a pessoas autorizadas. O SDK fornece vários algoritmos de criptografia para escolher, incluindo RC4 de 40 bits, RC4 de 128 bits, AES de 128 bits e AES de 256 bits.

Agora, para começar a usar o Python SDK, o primeiro passo é a sua instalação. Está disponível para download nos repositórios PIP e GitHub. Portanto, execute o seguinte comando no terminal/prompt de comando para instalar a versão mais recente do SDK no sistema.

 pip install asposepdfcloud

Credenciais do cliente

Após a instalação, a próxima grande etapa é uma assinatura gratuita de nossos serviços em nuvem no painel Aspose.Cloud. Basta se inscrever usando o GitHub ou a conta do Google clicando no botão Criar uma nova conta e fornecer as informações necessárias. Em seguida, faça o login com a conta recém-inscrito e obtenha suas credenciais de cliente.

Credenciais do cliente

Imagem 2:- Credenciais do cliente no painel do Aspose.Cloud.

Criptografar PDF usando Python

A API permite definir dois tipos de senhas, ou seja, senha de abertura do documento (senha do usuário) e senha de permissão (senha do proprietário).

Senha para abrir documento

Uma senha de abertura de documento (também conhecida como senha de usuário) exige que o usuário digite uma senha para abrir o PDF.

Senha de permissões

Uma senha de permissão (também conhecida como senha mestre/do proprietário) é necessária para alterar as configurações de permissão. Usando uma senha de permissão, você pode restringir a impressão, edição e cópia de conteúdo no PDF. Essa senha é necessária para alterar as restrições que você já aplicou.

Se o PDF estiver protegido com os dois tipos de senha, ele poderá ser aberto com qualquer uma das senhas.

Além disso, observe que a API aceita as senhas do proprietário e do usuário no formato codificado em Base64. No trecho de código a seguir, a ownerPassword (b3duZXJcLy8/ICQxMl5QYXNzd29yZCEm) e a userPassword (dXNlciAkXlBhc3N3b3JkISY=) são especificadas. Siga as etapas abaixo para criptografar arquivos PDF usando o trecho de código Python.

  • Crie uma instância da classe ApiClient enquanto fornece Client ID e Client Secret como argumentos
  • Em segundo lugar, crie uma instância da classe PdfApi que usa o objeto ApiClient como um argumento de entrada
  • Agora chame o método postencryptdocumentinstorage(..) da classe PdfApi enquanto passa o nome do arquivo PDF de entrada, senhas de usuário e proprietário (na codificação Base64) e um algoritmo criptográfico como argumentos.

É isso! Com apenas algumas linhas de código, aprendemos as etapas para proteger arquivos PDF com senha usando Aspose.PDF Cloud SDK para Python.

def encrypt():
    try:
        #Client credentials
        client_secret = "d34641f4ff6bcc96e3a0ab6ac69768b2"
        client_id = "8e2b082f-1f74-4bc0-b454-5f68457d1c97"

        #initialize PdfApi client instance using client credetials
        pdf_api_client = asposepdfcloud.api_client.ApiClient(client_secret, client_id)

        # criar instância PdfApi ao passar PdfApiClient como argumento
        pdf_api = PdfApi(pdf_api_client)

        #input PDF file name
        input_file = 'image-based-pdf-sample.pdf'

        # chame a API para criptografar o documento
        response = pdf_api.post_encrypt_document_in_storage(name=input_file,user_password='dXNlciAkXlBhc3N3b3JkISY=',owner_password='b3duZXJcLy8/ICQxMl5QYXNzd29yZCEm',crypto_algorithm='AESX128')

        # imprimir mensagem de sucesso no console (opcional)
        print('PDF encrypted successfully !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)

Observe que você pode usar qualquer um dos valores do algoritmo criptográfico durante o processo de criptografia do PDF

Nome Descrição
RC4x40 RC4 com comprimento de chave 40.
RC4x128 RC4 com comprimento de chave 128.
AESx128 AES com comprimento de chave 128.
AESx256 AES com comprimento de chave 256.

O arquivo PDF de entrada usado no exemplo acima pode ser baixado de awesomeTable.pdf.

Criptografar PDF usando o comando cURL

As APIs REST também podem ser acessadas por meio de comandos cURL em qualquer plataforma. Podemos usar a janela do prompt de comando/terminal para executar os comandos cURL. Como o Aspose.PDF Cloud também é desenvolvido de acordo com a arquitetura REST, também podemos usar o comando cURL para criptografar os arquivos PDF. Porém, antes de prosseguir, precisamos gerar um JSON Web Token (JWT) com base nas credenciais individuais do cliente especificadas no painel do Aspose.Cloud. É obrigatório porque nossas APIs são acessíveis apenas para usuários registrados. Execute o seguinte comando para gerar o token JWT.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bbf94a2c-6d7e-4020-b4d2-b9809741374e&client_secret=1c9379bb7d701c26cc87e741a29987bb" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Agora, assim que tivermos o token JWT, precisamos executar o seguinte comando para criptografar o documento PDF.

curl -v -X POST "https://api.aspose.cloud/v3.0/pdf/awesomeTable.pdf/encrypt?userPassword=dXNlciAkXlBhc3N3b3JkISY%3D&ownerPassword=b3duZXJcLy8%2FICQxMl5QYXNzd29yZCEm&cryptoAlgorithm=AESx128&permissionsFlags=AssembleDocument&usePdf20=false" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Conclusão

Em conclusão, usar uma API REST para criptografar arquivos PDF é uma maneira rápida e eficaz de garantir a segurança e a privacidade de seus documentos importantes. Se você precisa impedir a edição de um PDF ou adicionar proteção por senha, esses métodos fornecem uma solução conveniente, amigável e segura. Seguindo as etapas descritas nesta postagem do blog, você pode proteger facilmente seus arquivos PDF e ter a certeza de que suas informações valiosas estão protegidas.

Observe que nossos SDKs de nuvem são construídos sob uma licença MIT, então você pode baixar o trecho de código completo do GitHub. Além disso, é altamente recomendável explorar o Guia do desenvolvedor para saber mais sobre outros recursos interessantes da API.

Por fim, se você encontrar algum problema ou tiver alguma dúvida relacionada ao usar a API, sinta-se à vontade para entrar em contato conosco por meio do fórum gratuito de suporte ao cliente.

Artigos relacionados

Também sugerimos ler os seguintes artigos para saber mais sobre