Questo articolo fornisce una guida dettagliata ed esempi di codice per crittografare e decrittografare i file PDF a livello di codice in Java.

crittografare o decrittografare pdf java

In vari casi, i documenti PDF vengono crittografati prima di essere condivisi tra le parti interessate. La crittografia rende il documento protetto dall’accesso non autorizzato e dalla manomissione dei contenuti. Esistono un paio di metodi popolari per proteggere i documenti PDF: crittografare PDF con una password o limitare i permessi di accesso dell’utente come stampa, modifica, copia, ecc. Questo articolo mostra come crittografare o decrittografare un PDF in Java. Inoltre, imparerai come limitare i privilegi dell’utente in un documento PDF.

API Java per crittografare o decrittografare PDF - Download gratuito

Aspose.PDF for Java è un’API di manipolazione PDF ricca di funzionalità che ti consente di lavorare con la crittografia e la decrittazione PDF senza problemi. Inoltre, consente di modificare i privilegi dell’utente nei documenti PDF in modo programmatico. Puoi scaricare l’API gratuitamente o installarla utilizzando le seguenti configurazioni Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>20.9</version>
    <classifier>jdk17</classifier>
</dependency>

Crittografa un file PDF in Java

La crittografia di un documento PDF richiede l’impostazione di una password che verrà utilizzata per aprire e accedere al documento. Insieme a questo, puoi scegliere uno dei seguenti algoritmi crittografici da utilizzare nella crittografia.

Di seguito sono riportati i passaggi per crittografare un file PDF in Java.

L’esempio di codice seguente mostra come crittografare un documento PDF utilizzando Java.

// Per esempi completi e file di dati, visitare https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// documento aperto
Document document = new Document("input.pdf");
// crittografare PDF
document.encrypt("user", "owner", 0, CryptoAlgorithm.AESx256);
// salva PDF aggiornato
document.save("Encrypted_output.pdf");

La seguente finestra di dialogo viene visualizzata quando si apre il PDF crittografato.

pdf crittografato

Decrittografa un file PDF in Java

La decrittazione di un documento PDF crittografato richiede la password dell’utente o del proprietario. Di seguito sono riportati i passaggi per decrittografare un file PDF in Java.

  • Carica il PDF crittografato utilizzando la classe Document specificando la password nel costruttore.
  • Chiama il metodo Document.decrypt() per decrittografare il PDF.
  • Salva il documento PDF decrittografato utilizzando il metodo Document.save(string).

L’esempio di codice seguente mostra come decrittografare un PDF crittografato utilizzando Java.

// Per esempi completi e file di dati, visitare https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// documento aperto
Document document = new Document("input.pdf", "password");
// decifrare PDF
document.decrypt();
// salva PDF aggiornato
document.save("output.pdf");

Modifica le autorizzazioni di sicurezza in un PDF utilizzando Java

Puoi anche limitare l’accesso dell’utente per eseguire diverse operazioni durante la crittografia dei documenti PDF. Di seguito sono elencate le autorizzazioni che puoi impostare.

  • Stampa documento – Consente la stampa del documento.
  • Modifica contenuto: consente la modifica del contenuto.
  • Estrai contenuto: consente di copiare il contenuto dal documento.
  • Modifica annotazioni di testo: consente di aggiungere o aggiornare le 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 la stampa di documenti ad alta risoluzione.

Di seguito sono riportati i passaggi per impostare o modificare le autorizzazioni in un documento PDF.

  • Carica il PDF utilizzando la classe Documento.
  • Utilizzare la classe DocumentPrivilege per impostare le autorizzazioni.
  • Cripta il PDF e salvalo come hai fatto negli esempi precedenti.

L’esempio di codice seguente mostra come modificare le autorizzazioni in un documento PDF utilizzando Java.

// Per esempi completi e file di dati, visitare https://github.com/aspose-pdf/Aspose.Pdf-for-Java
Document document = new Document("inputFile.pdf");
try /* JAVA: was using */
{
	DocumentPrivilege documentPrivilege = DocumentPrivilege.getForbidAll();
	documentPrivilege.setAllowScreenReaders(true);
	documentPrivilege.setAllowPrint(true);

	document.encrypt("user", "owner", documentPrivilege, CryptoAlgorithm.AESx128, false);
	document.save("outputFile.pdf");
} finally {
	if (document != null)
		document.dispose();
}

Di seguito sono riportate le autorizzazioni nel file PDF crittografato.

pdf crittografato

Conclusione

In questo articolo, hai imparato come crittografare o decrittografare i file PDF in Java. Inoltre, hai visto come modificare i privilegi dell’utente in un documento PDF in modo programmatico in Java. Puoi esplorare e saperne di più sull’API Java PDF utilizzando la documentazione.

Guarda anche