Criptografar PDF em Node.js

Criptografar Arquivo PDF usando Senha de Usuário ou Proprietário

Se você estiver enviando um email para alguém com um anexo PDF que contém informações confidenciais, você pode querer adicionar alguma segurança a ele primeiro para evitar que caia em mãos erradas. A melhor maneira de limitar o acesso não autorizado a um documento PDF é protegê-lo com uma senha. Para criptografar documentos de forma fácil e segura, você pode usar o Aspose.PDF para Node.js via C++.

Especifique senhas de usuário e proprietário diferentes ao criptografar o arquivo PDF.

  • A senha de usuário, se definida, é o que você precisa fornecer para abrir um PDF. O Acrobat/Reader solicitará ao usuário que insira a senha de usuário. Se não estiver correta, o documento não abrirá.
  • A senha de proprietário, se definida, controla permissões, como impressão, edição, extração, comentários, etc. Acrobat/Reader irá desabilitar essas coisas com base nas configurações de permissão. O Acrobat exigirá esta senha se você quiser definir/alterar permissões.

Caso você queira criptografar um arquivo PDF, você pode usar a função AsposePdfEncrypt. Se você quiser criptografar um arquivo PDF, tente o próximo trecho de código:

CommonJS:

  1. Chame require e importe o módulo asposepdfnodejs como variável AsposePdf.
  2. Especifique o nome do arquivo PDF que será criptografado.
  3. Chame AsposePdf como Promise e execute a operação para criptografar o arquivo. Receba o objeto se for bem-sucedido.
  4. Chame a função AsposePdfEncrypt.
  5. Criptografe o arquivo PDF com as senhas “user” e “owner”.
  6. Assim, se ‘json.errorCode’ for 0, o resultado da operação é salvo em “ResultEncrypt.pdf”. Se o parâmetro json.errorCode não for 0 e, consequentemente, um erro aparecer em seu arquivo, a informação do erro estará contida em ‘json.errorText’.

  const AsposePdf = require('asposepdfnodejs');
  const pdf_file = 'Aspose.pdf';
  AsposePdf().then(AsposePdfModule => {
      /*Criptografe um arquivo PDF com as senhas "user" e "owner", e salve como "ResultEncrypt.pdf"*/
      const json = AsposePdfModule.AsposePdfEncrypt(pdf_file, "user", "owner", AsposePdfModule.Permissions.PrintDocument, AsposePdfModule.CryptoAlgorithm.RC4x40, "ResultEncrypt.pdf");
      console.log("AsposePdfEncrypt => %O", json.errorCode == 0 ? json.fileNameResult : json.errorText);
  });

Existem diferentes permissões de criptografia:

  • Module.Permissions.PrintDocument

  • Module.Permissions.ModifyContent

  • Module.Permissions.ExtractContent

  • Module.Permissions.ModifyTextAnnotations

  • Module.Permissions.FillForm

  • Module.Permissions.ExtractContentWithDisabilities

  • Module.Permissions.AssembleDocument

  • Module.Permissions.PrintingQuality

Existem vários algoritmos de criptografia:

  • Module.CryptoAlgorithm.RC4x40
  • Module.CryptoAlgorithm.RC4x128
  • Module.CryptoAlgorithm.AESx128
  • Module.CryptoAlgorithm.AESx256

ECMAScript/ES6:

  1. Importe o módulo asposepdfnodejs.

  2. Especifique o nome do arquivo PDF que terá a criptografia alterada.

  3. Inicialize o módulo AsposePdf. Receba o objeto se for bem-sucedido.

  4. Chame a função AsposePdfEncrypt.

  5. Descriptografe o arquivo PDF com as senhas “user” e “owner”.

  6. Assim, se ‘json.errorCode’ for 0, o resultado da operação será salvo em “ResultEncrypt.pdf”. Se o parâmetro json.errorCode não for 0 e, consequentemente, um erro aparecer em seu arquivo, as informações do erro estarão contidas em ‘json.errorText’.


  import AsposePdf from 'asposepdfnodejs';
  const AsposePdfModule = await AsposePdf();
  const pdf_file = 'Aspose.pdf';
  /*Criptografar um arquivo PDF com as senhas "user" e "owner", e salvar como "ResultEncrypt.pdf"*/
  const json = AsposePdfModule.AsposePdfEncrypt(pdf_file, "user", "owner", AsposePdfModule.Permissions.PrintDocument, AsposePdfModule.CryptoAlgorithm.RC4x40, "ResultEncrypt.pdf");
  console.log("AsposePdfEncrypt => %O", json.errorCode == 0 ? json.fileNameResult : json.errorText);