C#/VB.NET: criptografar ou descriptografar arquivos PDF

2023-08-07 03:42:22

Instalado via NuGet

PM> Install-Package Spire.PDF

Links Relacionados

A criptografia de PDF é uma tarefa crucial quando se trata de compartilhar documentos confidenciais na Internet. Ao criptografar arquivos PDF com senhas fortes, você pode proteger os dados do arquivo de serem acessados por pessoas não autorizadas. Em certos casos, também pode ser necessário remover a senha para tornar o documento público. Neste artigo, você aprenderá como programar criptografar ou descriptografar um arquivo PDF usando Spire.PDF for .NET.

Instalar o Spire.PDF for .NET

Para começar, você precisa adicionar os arquivos DLL incluídos no pacote Spire.PDF for.NET como referências em seu projeto .NET. Os arquivos DLLs podem ser baixados deste link ou instalados via NuGet.

PM> Install-Package Spire.PDF

Criptografar um arquivo PDF com senha

Existem dois tipos de senhas para criptografar um arquivo PDF - senha aberta e senha de permissão. O primeiro é configurado para abrir o arquivo PDF, enquanto o último é configurado para restringir impressão, cópia de conteúdo, comentários, etc. Se um arquivo PDF estiver protegido com ambos os tipos de senha, ele poderá ser aberto com qualquer uma das senhas.

O método PdfSecurity.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize) método oferecido pelo Spire.PDF for .NET permite que você defina a senha aberta e a senha de permissão para criptografar arquivos PDF. As etapas detalhadas são as seguintes.

  • Crie um objeto PdfDocument.
  • Carregue um arquivo PDF de amostra usando o método PdfDocument.LoadFromFile().
  • Obtém os parâmetros de segurança do documento usando a propriedade PdfDocument.Security.
  • Criptografe o arquivo PDF com senha aberta e senha de permissão usando o método PdfSecurity.Encrypt(string openPassword, string permissionPassword, permissões PdfPermissionsFlags, PdfEncryptionKeySize keySize).
  • Salve o arquivo resultante usando o método PdfDocument.SaveToFile().
  • C#
  • VB.NET
using Spire.Pdf;
    using Spire.Pdf.Security;
    
    namespace EncryptPDF
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument pdf = new PdfDocument();
    
                //Load a sample PDF file
                pdf.LoadFromFile(@"E:\Files\sample.pdf");
    
                //Encrypt the PDF file with password
                pdf.Security.Encrypt("open", "permission", PdfPermissionsFlags.Print | PdfPermissionsFlags.CopyContent, PdfEncryptionKeySize.Key128Bit);
    
                //Save the result file
                pdf.SaveToFile("Encrypt.pdf", FileFormat.PDF);
            }
        }
    }

C#/VB.NET: Encrypt or Decrypt PDF Files

Remova a senha para descriptografar um arquivo PDF

Quando precisar remover a senha de um arquivo PDF, você pode definir a senha de abertura e a senha de permissão como vazias ao chamar o método PdfSecurity.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize, string originalPermissionPassword). As etapas detalhadas são as seguintes.

  • Crie um objeto PdfDocument.
  • Carregue o arquivo PDF criptografado com senha usando o método PdfDocument.LoadFromFile (string filename, string password).
  • Obtém os parâmetros de segurança do documento usando a propriedade PdfDocument.Security.
  • Descriptografe o arquivo PDF definindo a senha de abertura e a senha de permissão para esvaziar usando o método PdfSecurity.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags, PdfEncryptionKeySize keySize, string originalPermissionPassword).
  • Salve o arquivo resultante usando o método PdfDocument.SaveToFile().
  • C#
  • VB.NET
using Spire.Pdf;
    using Spire.Pdf.Security;
    
    namespace DecryptPDF
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument pdf = new PdfDocument();
    
                //Load the encrypted PDF file with password
                pdf.LoadFromFile("Encrypt.pdf", "open");
    
                //Set the password as empty to decrypt PDF
                pdf.Security.Encrypt(string.Empty, string.Empty, PdfPermissionsFlags.Default, PdfEncryptionKeySize.Key128Bit, "permission");
    
                //Save the result file
                pdf.SaveToFile("Decrypt.pdf", FileFormat.PDF);
            }
        }
    } 

C#/VB.NET: Encrypt or Decrypt PDF Files

Solicitar uma licença temporária

Se você deseja remover a mensagem de avaliação dos documentos gerados ou se livrar das limitações de função, por favor solicite uma licença de avaliação de 30 dias para você mesmo.

Veja também