Cryptage et décryptage Java PDF

Cet article vous montrera comment définir la protection des documents PDF dans les programmes Java. Nous pouvons afficher le mot de passe pour consulter la documentation. Autrement dit, vous pouvez définir un mot de passe pour modifier un document qui ne peut pas être modifié simplement en lisant le document via ce mot de passe.

Outils utilisés: Free Spire.PDF pour Java V2.0.0

[Exemple 1] Crypter un document PDF

import java.util.EnumSet;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.security.PdfEncryptionKeySize;
import com.spire.pdf.security.PdfPermissionsFlags;

public class EncryptPDF {
    public static void main(String[] args) {
        //Exemple PdfDocument à créer
        PdfDocument doc = new PdfDocument();
        //Charger un fichier PDF
        doc.loadFromFile("sample.pdf");

        //Crypter les fichiers PDF
        PdfEncryptionKeySize keySize = PdfEncryptionKeySize.Key_128_Bit;
        
        //Lorsque vous ouvrez un document, il vous suffit de le regarder.
        String openPassword = "123456";

        //Si vous ouvrez le document, vous pouvez le modifier.
        String permissionPassword = "test"; 
        EnumSet flags = EnumSet.of(PdfPermissionsFlags.Print, PdfPermissionsFlags.Fill_Fields);
        doc.getSecurity().encrypt(openPassword, permissionPassword, flags, keySize);

        //Enregistrez le fichier
        doc.saveToFile("Encrypt.pdf");
        doc.close();             
    }
}

Après avoir terminé le code, exécutez le programme et générez la documentation. Lorsque vous ouvrez un document, vous pouvez saisir un mot de passe pour connaître l'état spécifique du cryptage des documents. Comme ci-dessous:

Encrypted.png

[Exemple 2] Déprotéger le mot de passe PDF

import com.spire.pdf.PdfDocument;
import com.spire.pdf.security.PdfEncryptionKeySize;
import com.spire.pdf.security.PdfPermissionsFlags;

public class DecryptPDF {

    public static void main(String[] args) throws Exception {
        
        //Exemple PdfDocument à créer
        PdfDocument doc = new PdfDocument();
        //Charger un fichier PDF protégé par mot de passe
        doc.loadFromFile("Encrypt.pdf", "123456");

        //Déprotéger les mots de passe dans les documents
        doc.getSecurity().encrypt("", "", PdfPermissionsFlags.getDefaultPermissions(), PdfEncryptionKeySize.Key_256_Bit, "test");
        
        //Enregistrez le fichier
        doc.saveToFile("Decrypt.pdf");
        doc.close();
    }
}

Après l'exécution du programme, le document généré n'est plus protégé par mot de passe.

Recommended Posts

Cryptage et décryptage Java PDF
KMS) Chiffrement d'enveloppe avec décryptage openssl et java
Cryptage / décryptage RSA avec Java 8
Sortie PDF et TIFF avec Java 8
Cryptage Java, décryptage de documents Word
Java et JavaScript
XXE et Java
Programmer les en-têtes et pieds de page PDF en Java
Exemple de création / chiffrement / déchiffrement de paire de clés RSA (JAVA)
Java permet l'extraction de texte et d'images PDF
[Java] Convertir la version PDF
Document PDF compressé Java
Java vrai et faux
[Java] Comparaison des chaînes de caractères et && et ||
[Java] Paramètres d'affichage PDF
Java - Sérialisation et désérialisation
[Java] Arguments et paramètres
timedatectl et Java TimeZone
[Java] Branchement et répétition
[Java] Types de variables et types
java (classe et instance)
[Java] Surcharge et remplacement
Etudier Java # 2 (\ marque et opérateur)
Exemple de création / chiffrement / déchiffrement de paire de clés RSA (JAVA)
Cryptage et décryptage Java PDF
Cryptage / décryptage RSA avec Java 8
Java version 8 et fonctionnalités ultérieures
Java ajoute un tableau au PDF
[Java] Différence entre == et égal
[Java] Classe générique et méthode générique
Programmation Java (variables et données)
Java et Iterator Part 1 External Iterator Edition
Instructions Java if et switch
Pagination de PDF avec Java + PDFBox.jar
Définition et instanciation de classe Java
Java transforme Excel en PDF
Apache Hadoop et Java 9 (partie 1)
[Java] À propos de String et StringBuilder
[Java] HashCode et remplacement égal
☾ Instruction Java / Repeat et instruction de contrôle de répétition
Méthodes Java et surcharges de méthodes
java Generics T et? Différence
Avantages et inconvénients de Java
java (branchement conditionnel et répétition)
À propos du package Java et de l'importation
[Java] Téléchargez une image et convertissez-la en Base64
Histoire de remplacement C # et Java
Méthodes et classes abstraites Java
Instructions Java while et for
Encapsulation Java et getters et setters
J'ai comparé les constructeurs PHP et Java
Différences entre Java "débutant" et Kotlin
Utiliser java avec MSYS et Cygwin
Traçage distribué avec OpenCensus et Java
[Java] Différence entre Hashmap et HashTable
Déclaration, initialisation et types de variables Java
Insertion Java Excel et extraction d'images
Installez Java et Tomcat avec Ansible
SDK AWS pour Java 1.11.x et 2.x
[Java] Types de base et notes d'instructions