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:

[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