Mengenkripsi dan mendekripsi file PDF dalam Java

Aspose.PDF for Java mengekspos operasi keamanan PDF melalui fasad PdfFileSecurity.

Mengenkripsi PDF dengan kata sandi pengguna dan pemilik

  1. Buat dan ikat fasad PdfFileSecurity ke dokumen PDF sumber.
  2. Konfigurasikan properti DocumentPrivilege dan KeySize yang diperlukan oleh contoh.
  3. Simpan dokumen PDF yang diperbarui melalui PdfFileSecurity.
public static void encryptPdfWithUserOwnerPassword(Path inputFile, Path outputFile) {
    PdfFileSecurity fileSecurity = new PdfFileSecurity();
    fileSecurity.bindPdf(inputFile.toString());
    DocumentPrivilege privilege = DocumentPrivilege.getForbidAll();
    privilege.setAllowPrint(true);
    fileSecurity.encryptFile("user_password", "owner_password", privilege, KeySize.x128);
    fileSecurity.save(outputFile.toString());
    fileSecurity.close();
}

Mengenkripsi PDF dengan algoritma tertentu

encryptPdfWithEncryptionAlgorithm menggunakan KeySize.x256 bersama dengan Algorithm.AES untuk menerapkan pengaturan enkripsi yang lebih kuat.

Mendekripsi PDF yang dilindungi

  1. Buat dan ikat fasad PdfFileSecurity ke dokumen PDF sumber.
  2. Dekripsi dokumen yang dilindungi dengan kata sandi pemilik.
  3. Simpan dokumen PDF yang diperbarui melalui PdfFileSecurity.
public static void decryptPdfWithOwnerPassword(Path inputFile, Path outputFile) {
    PdfFileSecurity fileSecurity = new PdfFileSecurity();
    fileSecurity.bindPdf(inputFile.toString());
    fileSecurity.decryptFile("owner_password");
    fileSecurity.save(outputFile.toString());
    fileSecurity.close();
}

Set contoh juga mencakup tryDecryptPdfWithoutException, yang mengembalikan false alih-alih melempar ketika dekripsi gagal.

Mengubah kata sandi dan mengatur ulang keamanan

Itu kelas PdfFileSecurityExamples menunjukkan:

  • changeUserAndOwnerPassword untuk mengganti kedua kata sandi.
  • changePasswordAndResetSecurity untuk mengubah kata sandi dan menerapkan kembali hak istimewa dalam satu langkah.
  • tryChangePasswordWithoutException untuk alur perubahan kata sandi yang tidak melempar pengecualian.

Mengatur hak istimewa dokumen

Untuk membatasi tindakan seperti mencetak dan menyalin:

  1. Buat dan ikat fasad PdfFileSecurity ke dokumen PDF sumber.
  2. Atur yang diperlukan DocumentPrivilege izin atau opsi enkripsi.
  3. Atur properti yang diperlukan oleh contoh.
  4. Simpan dokumen PDF yang diperbarui melalui PdfFileSecurity.
public static void setPdfPrivilegesWithPasswords(Path inputFile, Path outputFile) {
    PdfFileSecurity fileSecurity = new PdfFileSecurity();
    fileSecurity.bindPdf(inputFile.toString());
    DocumentPrivilege privilege = DocumentPrivilege.getForbidAll();
    privilege.setAllowPrint(true);
    privilege.setAllowCopy(false);
    fileSecurity.setPrivilege("user_password", "owner_password", privilege);
    fileSecurity.save(outputFile.toString());
    fileSecurity.close();
}