Descriptografar e descriptografar PDF em C#

A criptografia de PDF é usada para proteger o documento PDF contra acesso não autorizado. Se um documento PDF estiver criptografado, você precisará descriptografá-lo para acessar seu conteúdo, caso contrário, ele permanecerá ilegível. Na maioria das vezes, os documentos PDF são criptografados com uma senha necessária para abrir o documento. Por outro lado, você também pode limitar as permissões de acesso a várias operações, como impressão, edição, cópia, etc. A biblioteca PDF do Aspose, Aspose.PDF for .NET, fornece algumas maneiras simples de criptografar e descriptografar Arquivos PDF usando C# e VB.NET. Neste artigo, mostrarei como realizar operações de criptografia e descriptografia de PDF usando C#.

API de criptografia e descriptografia de PDF C# - Instalação

O Aspose.PDF para .NET está hospedado em NuGet e pode ser facilmente instalado usando o NuGet Package Manager. Como alternativa, você pode baixar a DLL da API na seção Downloads.

Criptografar um arquivo PDF em C#

Para criptografar um arquivo PDF, você precisa definir uma senha que será necessária para abrir e visualizar o documento. Além disso, você deve especificar o algoritmo criptográfico desejado como método de criptografia. Aspose.PDF para .NET suporta os seguintes métodos de criptografia:

  • RC4 com uma chave de 40 bits.
  • RC4 com uma chave de 128 bits.
  • AES com uma chave de 128 bits.
  • AES com uma chave de 256 bits.

Etapas para criptografar um arquivo PDF

A seguir estão as etapas simples para criptografar um documento PDF usando C#.

  • Carregue o documento PDF usando a classe Document.
  • Criptografe o documento PDF com uma senha e algoritmo criptográfico usando o método Document.Encrypt.
  • Salve o documento PDF criptografado usando o método Document.Save.

O exemplo de código a seguir mostra como criptografar um documento PDF usando C#.

// Abrir documento
Document document = new Document("Encrypt.pdf");
// Criptografar PDF  
document.Encrypt("user_password", "owner_password", 0 /*permissions*/, CryptoAlgorithm.RC4x128);
// Salvar PDF atualizado
document.Save("Encrypted PDF.pdf");

Quando você abrir este documento PDF criptografado no Adobe Reader, aparecerá a seguinte caixa de diálogo.

documento PDF criptografado

Descriptografar um arquivo PDF usando C#

Para descriptografar um documento PDF, você deve ter a senha de usuário ou proprietário do documento. A seguir estão as etapas simples para descriptografar um documento PDF:

  • Carregue o documento PDF usando a classe Document especificando a senha do usuário ou do proprietário.
  • Chame o método Document.Decrypt().
  • Salve o documento PDF descriptografado.

O exemplo de código a seguir mostra como descriptografar um documento PDF usando C#.

// Abra o documento especificando a senha do usuário ou do proprietário
Document document = new Document("Encrypted PDF.pdf", "user_password");
// Descriptografar PDF  
document.Decrypt();
// Salvar PDF atualizado
document.Save("Decrypted PDF.pdf");

Alterar permissões de segurança de um arquivo PDF em C#

Você pode aumentar a segurança de um documento PDF limitando a permissão do usuário. Nesse caso, você pode especificar as operações que são permitidas para os usuários. A seguir está a lista das permissões que você pode definir para permitir um usuário.

  • Imprimir Documento - Permite imprimir o documento.
  • Modificar Conteúdo - Permite modificar o conteúdo do documento.
  • Extrair Conteúdo - Permite copiar o conteúdo do documento.
  • Modificar anotações de texto - Permite adicionar ou modificar anotações de texto.
  • Preencher Formulário - Permite o preenchimento dos campos do formulário interativo.
  • Extrair conteúdo com deficiência - Permite extrair texto e gráficos (para usuários com deficiência).
  • Assemble Document - Permite inserir, girar ou excluir páginas e criar marcadores ou imagens em miniatura.
  • Qualidade de Impressão - Permite imprimir documentos com alta resolução.

Etapas para alterar as permissões de segurança de um arquivo PDF

A seguir estão as etapas para alterar as permissões de segurança de um documento PDF.

  • Carregue o documento PDF.
  • Defina as permissões de segurança usando o método Document.Encrypt.
  • Salve o documento PDF criptografado.

O exemplo de código a seguir mostra como alterar as permissões de um documento PDF usando C#.

// Abrir documento
Document document = new Document("Encrypt.pdf");
// Criptografar PDF com permissão de impressão
document.Encrypt("user_password", "owner_password", Permissions.PrintDocument | Permissions.PrintingQuality, CryptoAlgorithm.RC4x128);
// Salvar PDF atualizado
document.Save("Encrypted PDF.pdf");

Outra maneira de definir ou modificar os privilégios de documentos PDF é usando a classe DocumentPrivilege. A classe DocumentPrivilege permite definir as permissões ou privilégios para os usuários. O exemplo de código a seguir mostra como definir as permissões de segurança de um documento PDF usando a classe DocumentPrivilege em C#.

// Abrir documento
Document document = new Document("Encrypt.pdf");
// Aplicar restrições a todos os privilégios
DocumentPrivilege privileges = DocumentPrivilege.ForbidAll;
// Permitir privilégios desejados
privileges.AllowScreenReaders = true;
privileges.AllowPrint = true;
// Criptografar PDF
document.Encrypt("user_password", "owner_password", privileges, CryptoAlgorithm.RC4x128, false);
// Salvar PDF atualizado
document.Save("Encrypted PDF.pdf");

A seguir estão os detalhes de segurança do documento PDF que criptografamos nesta seção.

permissões de segurança alteradas de PDF

Conclusão

Neste artigo, você passou pelas etapas de como criptografar e descriptografar documentos PDF usando C#. Além disso, você também aprendeu como definir ou modificar as permissões de segurança de um documento PDF em C#. Esses recursos de segurança permitem proteger os documentos PDF confidenciais usando a senha e algoritmos criptográficos, além de limitar o acesso do usuário às operações relacionadas ao documento. Você pode consultar a documentação para saber mais sobre nossa Biblioteca PDF .NET.

Veja também