Setel Hak Istimewa pada PDF

Setel Hak Istimewa pada File PDF yang Ada

Untuk menyetel hak istimewa file PDF, buat objek PdfFileSecurity dan panggil metode SetPrivilege. Anda dapat menentukan hak istimewa menggunakan objek DocumentPrivilege dan kemudian meneruskan objek ini ke metode SetPrivilege. Cuplikan kode berikut menunjukkan cara menyetel hak istimewa dari file PDF.

public static void SetPrivilege1()
 {
    // Buat objek DocumentPrivileges
    DocumentPrivilege privilege = DocumentPrivilege.ForbidAll;
    privilege.ChangeAllowLevel = 1;
    privilege.AllowPrint = true;
    privilege.AllowCopy = true;

    // Buat objek PdfFileSecurity
    PdfFileSecurity fileSecurity = new PdfFileSecurity();
    fileSecurity.BindPdf(_dataDir + "sample.pdf");
    fileSecurity.SetPrivilege(privilege);
    fileSecurity.Save(_dataDir + "sample_privileges.pdf");
}

Lihat metode berikut dengan menentukan kata sandi:

 public static void SetPrivilege2()
 {
    // Buat objek DocumentPrivileges
    DocumentPrivilege privilege = DocumentPrivilege.ForbidAll;
    privilege.ChangeAllowLevel = 1;
    privilege.AllowPrint = true;
    privilege.AllowCopy = true;

    // Buat objek PdfFileSecurity
    PdfFileSecurity fileSecurity = new PdfFileSecurity();
    fileSecurity.BindPdf(_dataDir + "sample.pdf");
    fileSecurity.SetPrivilege(string.Empty, "P@ssw0rd", privilege);
    fileSecurity.Save(_dataDir + "sample_privileges.pdf");
}

Hapus Fitur Hak Diperpanjang dari PDF

Dokumen PDF mendukung fitur hak diperpanjang untuk memungkinkan pengguna akhir mengisi data ke dalam bidang formulir dengan menggunakan Adobe Acrobat Reader dan kemudian menyimpan salinan formulir yang telah diisi. Namun, ini memastikan bahwa file PDF tidak dimodifikasi dan jika ada modifikasi pada struktur PDF, fitur hak diperluas akan hilang. Ketika melihat dokumen semacam itu, pesan kesalahan ditampilkan, menyatakan bahwa hak diperluas dihapus karena dokumen telah dimodifikasi. Baru-baru ini, kami menerima permintaan untuk menghapus hak diperluas dari dokumen PDF.

Untuk menghapus hak diperluas dari file PDF, metode baru bernama RemoveUsageRights() telah ditambahkan ke kelas PdfFileSignature. Metode lain bernama ContainsUsageRights() ditambahkan untuk menentukan apakah sumber PDF mengandung hak diperluas.

Kode berikut menunjukkan cara menghapus hak penggunaan dari dokumen:

// Jalur ke direktori dokumen.
string dataDir = RunExamples.GetDataDir_AsposePdfFacades_SecuritySignatures();
string input = dataDir + "DigitallySign.pdf";
using (PdfFileSignature pdfSign = new PdfFileSignature())
{
    pdfSign.BindPdf(input);
    if (pdfSign.ContainsUsageRights())
    {
        pdfSign.RemoveUsageRights();
    }

    pdfSign.Document.Save(dataDir + "RemoveRights_out.pdf");
}