Crittografa e decrittografa PDF in C#

La crittografia PDF viene utilizzata per proteggere il documento PDF da accessi non autorizzati. Se un documento PDF è crittografato, devi decrittografarlo per accedere al suo contenuto, altrimenti rimarrà illeggibile. Molto spesso, i documenti PDF vengono crittografati con una password necessaria per aprire il documento. D’altra parte, puoi anche limitare i permessi di accesso a varie operazioni come stampa, modifica, copia, ecc. La libreria PDF di Aspose, Aspose.PDF for .NET, fornisce alcuni semplici modi per crittografare e decrittografare File PDF utilizzando C# e VB.NET. In questo articolo, ti mostrerò come eseguire operazioni di crittografia e decrittografia PDF utilizzando C#.

API di crittografia e decrittografia PDF C# - Installazione

Aspose.PDF per .NET è ospitato su NuGet e può essere facilmente installato utilizzando NuGet Package Manager. In alternativa, puoi scaricare la DLL dell’API dalla sezione Download.

Crittografa un file PDF in C#

Per crittografare un file PDF, è necessario impostare una password che sarà richiesta per aprire e visualizzare il documento. Inoltre, è necessario specificare l’algoritmo crittografico desiderato come metodo di crittografia. Aspose.PDF per .NET supporta i seguenti metodi di crittografia:

  • RC4 con chiave a 40 bit.
  • RC4 con chiave a 128 bit.
  • AES con chiave a 128 bit.
  • AES con chiave a 256 bit.

Passaggi per crittografare un file PDF

Di seguito sono riportati i semplici passaggi per crittografare un documento PDF utilizzando C#.

  • Carica il documento PDF utilizzando la classe Document.
  • Crittografa il documento PDF con una password e un algoritmo crittografico utilizzando il metodo Document.Encrypt.
  • Salva il documento PDF crittografato utilizzando il metodo Document.Save.

L’esempio di codice seguente mostra come crittografare un documento PDF usando C#.

// Apri documento
Document document = new Document("Encrypt.pdf");
// Cripta PDF  
document.Encrypt("user_password", "owner_password", 0 /*permissions*/, CryptoAlgorithm.RC4x128);
// Salva PDF aggiornato
document.Save("Encrypted PDF.pdf");

Quando aprirai questo documento PDF crittografato in Adobe Reader, verrà visualizzata la seguente finestra di dialogo.

documento PDF crittografato

Decrittografare un file PDF utilizzando C#

Per decrittografare un documento PDF, è necessario disporre della password dell’utente o del proprietario del documento. Di seguito sono riportati i semplici passaggi per decrittografare un documento PDF:

  • Carica il documento PDF utilizzando la classe Document specificando la password dell’utente o del proprietario.
  • Chiama il metodo Document.Decrypt().
  • Salva il documento PDF decrittografato.

L’esempio di codice seguente mostra come decrittografare un documento PDF usando C#.

// Aprire il documento specificando la password dell'utente o del proprietario
Document document = new Document("Encrypted PDF.pdf", "user_password");
// Decrittografa PDF  
document.Decrypt();
// Salva PDF aggiornato
document.Save("Decrypted PDF.pdf");

Modifica le autorizzazioni di sicurezza di un file PDF in C#

È possibile aumentare la sicurezza di un documento PDF limitando i permessi dell’utente. In tal caso, è possibile specificare le operazioni consentite agli utenti. Di seguito è riportato l’elenco delle autorizzazioni che è possibile impostare per consentire a un utente.

  • Stampa documento - Consente di stampare il documento.
  • Modifica contenuto - Consente di modificare il contenuto del documento.
  • Estrai contenuto: consente di copiare il contenuto dal documento.
  • Modifica annotazioni di testo - Consente di aggiungere o modificare annotazioni di testo.
  • Compila modulo - Consente di compilare i campi del modulo interattivo.
  • Estrai contenuto con disabilità: consente di estrarre testo e grafica (per utenti con disabilità).
  • Assembla documento: consente di inserire, ruotare o eliminare pagine e creare segnalibri o immagini in miniatura.
  • Qualità di stampa: consente di stampare documenti ad alta risoluzione.

Passaggi per modificare le autorizzazioni di sicurezza di un file PDF

Di seguito sono riportati i passaggi per modificare le autorizzazioni di sicurezza di un documento PDF.

  • Carica il documento PDF.
  • Imposta le autorizzazioni di sicurezza utilizzando il metodo Document.Encrypt.
  • Salva il documento PDF crittografato.

L’esempio di codice seguente mostra come modificare le autorizzazioni di un documento PDF usando C#.

// Apri documento
Document document = new Document("Encrypt.pdf");
// Crittografa PDF con permesso di stampa
document.Encrypt("user_password", "owner_password", Permissions.PrintDocument | Permissions.PrintingQuality, CryptoAlgorithm.RC4x128);
// Salva PDF aggiornato
document.Save("Encrypted PDF.pdf");

Un altro modo per impostare o modificare i privilegi dei documenti PDF è utilizzare la classe DocumentPrivilege. La classe DocumentPrivilege consente di definire le autorizzazioni o i privilegi per gli utenti. L’esempio di codice seguente mostra come impostare le autorizzazioni di sicurezza di un documento PDF usando la classe DocumentPrivilege in C#.

// Apri documento
Document document = new Document("Encrypt.pdf");
// Applica restrizioni a tutti i privilegi
DocumentPrivilege privileges = DocumentPrivilege.ForbidAll;
// Consenti i privilegi desiderati
privileges.AllowScreenReaders = true;
privileges.AllowPrint = true;
// Cripta PDF
document.Encrypt("user_password", "owner_password", privileges, CryptoAlgorithm.RC4x128, false);
// Salva PDF aggiornato
document.Save("Encrypted PDF.pdf");

Di seguito sono riportati i dettagli di sicurezza del documento PDF che abbiamo crittografato in questa sezione.

autorizzazioni di sicurezza modificate del PDF

Conclusione

In questo articolo, hai seguito i passaggi su come crittografare e decrittografare i documenti PDF utilizzando C#. Inoltre, hai anche imparato come impostare o modificare i permessi di sicurezza di un documento PDF in C#. Queste funzionalità di sicurezza consentono di proteggere i documenti PDF sensibili utilizzando la password e gli algoritmi crittografici, nonché di limitare l’accesso dell’utente alle operazioni relative ai documenti. Puoi consultare la documentazione per saperne di più sulla nostra libreria PDF .NET.

Guarda anche