تعيين الامتيازات على PDF

تعيين الامتيازات على ملف PDF موجود

لتعيين امتيازات ملف PDF، قم بإنشاء كائن PdfFileSecurity واستدعاء طريقة SetPrivilege. يمكنك تحديد الامتيازات باستخدام كائن DocumentPrivilege ثم تمرير هذا الكائن إلى طريقة SetPrivilege. يوضح مقتطف الكود التالي كيفية تعيين امتيازات ملف 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");
    }
}

انظر إلى الطريقة التالية مع تحديد كلمة مرور:

// 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");
    }
}

إزالة ميزة الحقوق الموسعة من PDF

تدعم مستندات PDF ميزة الحقوق الموسعة لتمكين المستخدم النهائي من ملء البيانات في حقول النموذج باستخدام Adobe Acrobat Reader ثم حفظ نسخة من النموذج المملوء. ومع ذلك، فإنه يضمن عدم تعديل ملف PDF وإذا تم إجراء أي تعديل على هيكل PDF، فإن ميزة الحقوق الموسعة تضيع. عند عرض مثل هذا المستند، يتم عرض رسالة خطأ، تفيد بأنه تم إزالة الحقوق الموسعة لأن المستند تم تعديله. مؤخرًا، تلقينا طلبًا لإزالة الحقوق الموسعة من مستند PDF.

لإزالة الحقوق الموسعة من ملف PDF، تمت إضافة طريقة جديدة تسمى RemoveUsageRights() إلى فئة PdfFileSignature. تمت إضافة طريقة أخرى تسمى ContainsUsageRights() لتحديد ما إذا كان PDF المصدر يحتوي على حقوق موسعة.

يوضح الكود التالي كيفية إزالة حقوق الاستخدام من المستند:

// 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");
    }
}