Encrypt and Decrypt PDF

Enkripsi File PDF menggunakan Jenis dan Algoritma Enkripsi yang Berbeda

Salah satu cara efektif untuk melindungi file PDF adalah melalui enkripsi. Dalam artikel ini, kita akan menjelajahi cara mengenkripsi dokumen PDF menggunakan Python dengan bantuan pustaka Aspose.PDF.

Enkripsi PDF melibatkan pengacakan isi dari dokumen PDF menggunakan algoritma kriptografi untuk mencegah akses tidak sah. File PDF yang dienkripsi memerlukan kata sandi untuk dibuka dan mungkin memiliki batasan pada tindakan seperti mencetak, menyalin, dan mengedit.

  • Kata sandi Pengguna, jika diatur, adalah yang harus Anda berikan untuk membuka PDF. Acrobat/Reader akan meminta pengguna untuk memasukkan kata sandi pengguna. Jika tidak benar, dokumen tidak akan terbuka.
  • Kata sandi Pemilik, jika diatur, mengontrol izin, seperti mencetak, mengedit, mengekstraksi, memberi komentar, dll. Acrobat/Reader akan menolak hal-hal ini berdasarkan pengaturan izin. Acrobat akan memerlukan kata sandi ini jika Anda ingin mengatur/mengubah izin.

Cuplikan kode berikut menunjukkan cara mengenkripsi file PDF.

  1. Membuat jalur file input dan output
  2. Memuat dokumen PDF menggunakan AsposePDFPythonWrappers
  3. Menentukan izin untuk dokumen terenkripsi
  4. Menentukan algoritma enkripsi yang akan digunakan
  5. Mengenkripsi dokumen dengan kata sandi pengguna dan pemilik yang ditentukan, izin, dan algoritma enkripsi menggunakan metode ‘document.encrypt’
  6. Menyimpan dokumen terenkripsi ke file output yang ditentukan dengan metode ‘document.save’.

    import AsposePDFPythonWrappers as apw
    import AsposePDFPython as apCore
    import os
    import os.path

    # Mengatur jalur direktori untuk file sampel
    dataDir = os.path.join(os.getcwd(), "samples")

    # Mengatur jalur file input
    input_file = os.path.join(dataDir, "sample.pdf")

    # Mengatur jalur file output
    output_file = os.path.join(dataDir, "results", "sample-enc.pdf")

    # Memuat dokumen PDF menggunakan AsposePDFPythonWrappers
    document = apw.Document(inputFile)

    # Menentukan izin untuk dokumen terenkripsi
    permission = apCore.Permissions(apCore.Permissions.ExtractContent | apCore.ModifyContent)

    # Menentukan algoritma enkripsi yang akan digunakan
    cryptoAlgorithm = apCore.CryptoAlgorithm.RC4x128

    # Mengenkripsi dokumen dengan kata sandi pengguna dan pemilik yang ditentukan, izin, dan algoritma enkripsi
    document.encrypt("user", "owner", permission, cryptoAlgorithm)

    # Menyimpan dokumen terenkripsi ke file output yang ditentukan
    document.save(output_file)

Mendekripsi File PDF menggunakan Kata Sandi Pemilik

  1. Membuat jalur file input dan output
  2. Membuat instance baru dari kelas Document dari modul AsposePDFPythonWrappers
  3. Mendekripsi dokumen menggunakan metode document_decrypt
  4. Menyimpan dokumen yang telah didekripsi ke jalur file output menggunakan metode save() dengan fungsi document_save.

    import AsposePDFPythonWrappers as apw
    import AsposePDFPython as apCore
    import os
    import os.path

    # Mengatur jalur direktori untuk file sampel
    dataDir = os.path.join(os.getcwd(), "samples")

    # Mengatur jalur file input
    input_file = os.path.join(dataDir, "sample_enc.pdf")

    # Mengatur jalur file output
    output_file = os.path.join(dataDir, "results", "sample-dec.pdf")

    # Membuat instance baru dari kelas Document dari modul AsposePDFPythonWrappers
    document = apw.Document(input_file, "owner")

    # Mendekripsi dokumen menggunakan metode decrypt()
    document.decrypt()

    # Menyimpan dokumen yang telah didekripsi ke jalur file output menggunakan metode save()
    document.save(output_file)