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#.
- Criptografar um arquivo PDF usando C#
- Descriptografar um arquivo PDF usando C#
- Alterar permissões de segurança em um arquivo PDF
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.
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.
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.