Atur Hak Akses pada PDF

Atur Hak Akses pada File PDF yang Ada

Untuk mengatur hak akses file PDF, buat objek PdfFileSecurity dan panggil metode SetPrivilege. Anda dapat menentukan hak akses menggunakan objek DocumentPrivilege dan kemudian mengoper objek ini ke metode SetPrivilege. Potongan kode berikut menunjukkan cara mengatur hak akses file PDF.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void SetPrivilege1()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
    
    // Create DocumentPrivileges object and set needed privileges
    var privilege = Aspose.Pdf.Facades.DocumentPrivilege.ForbidAll;
    privilege.ChangeAllowLevel = 1;
    privilege.AllowPrint = true;
    privilege.AllowCopy = true;

    using (var fileSecurity = new Aspose.Pdf.Facades.PdfFileSecurity())
    {
        // Bind PDF document
        fileSecurity.BindPdf(dataDir + "sample.pdf");
        // Set privilege
        fileSecurity.SetPrivilege(privilege);
        // Save PDF document
        fileSecurity.Save(dataDir + "SamplePrivileges_out.pdf");
    }
}

Lihat metode berikut dengan menentukan kata sandi:

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void SetPrivilegeWithPassword()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
    
    // Create DocumentPrivileges object and set needed privileges
    var privilege = Aspose.Pdf.Facades.DocumentPrivilege.ForbidAll;
    privilege.ChangeAllowLevel = 1;
    privilege.AllowPrint = true;
    privilege.AllowCopy = true;

    using (var fileSecurity = new Aspose.Pdf.Facades.PdfFileSecurity())
    {
        // Bind PDF document
        fileSecurity.BindPdf(dataDir + "sample.pdf");
        // Set privilege and passwords
        fileSecurity.SetPrivilege(string.Empty, "P@ssw0rd", privilege);
        // Save PDF document
        fileSecurity.Save(dataDir + "SamplePrivilegesPassword_out.pdf");
    }
}

Hapus Fitur Hak Istimewa dari PDF

Dokumen PDF mendukung fitur hak istimewa untuk memungkinkan pengguna akhir mengisi data ke dalam kolom 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 istimewa hilang. Saat melihat dokumen semacam itu, pesan kesalahan ditampilkan, menyatakan bahwa hak istimewa dihapus karena dokumen telah dimodifikasi. Baru-baru ini, kami menerima permintaan untuk menghapus hak istimewa dari dokumen PDF.

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

Kode berikut menunjukkan cara menghapus hak penggunaan dari dokumen:

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void RemoveExtendedRights()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdfFacades_SecuritySignatures();
    
    using (var pdfSign = new Aspose.Pdf.Facades.PdfFileSignature())
    {
        // Bind PDF document
        pdfSign.BindPdf(dataDir + "DigitallySign.pdf");
        if (pdfSign.ContainsUsageRights())
        {
            pdfSign.RemoveUsageRights();
        }
        // Save PDF document
        pdfSign.Document.Save(dataDir + "RemoveRights_out.pdf");
    }
}