تعيين الصلاحيات، تشفير وفك تشفير ملف PDF
الكود التالي يعمل أيضًا مع مكتبة Aspose.PDF.Drawing.
تعيين الامتيازات على ملف PDF موجود
لتعيين الامتيازات على ملف PDF، قم بإنشاء كائن من فئة DocumentPrivilege وحدد الحقوق التي تريد تطبيقها على المستند. بمجرد تعريف الامتيازات، امرر هذا الكائن كوسيطة إلى طريقة Encrypt لكائن Document. يوضح الكود التالي كيفية تعيين امتيازات ملف PDF.
// لأمثلة كاملة وملفات البيانات، يرجى الانتقال إلى https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// الطريق إلى دليل المستندات.
string dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
// تحميل ملف PDF المصدر
using (Document document = new Document(dataDir + "input.pdf"))
{
// إنشاء كائن امتيازات المستند
// تطبيق قيود على جميع الامتيازات
DocumentPrivilege documentPrivilege = DocumentPrivilege.ForbidAll;
// السماح فقط بقراءة الشاشة
documentPrivilege.AllowScreenReaders = true;
// تشفير الملف بكلمة مرور المستخدم وكلمة مرور المالك.
// يجب تعيين كلمة المرور، بحيث عندما يشاهد المستخدم الملف بكلمة مرور المستخدم،
// تكون خيارات قراءة الشاشة فقط ممكنة
document.Encrypt("user", "owner", documentPrivilege, CryptoAlgorithm.AESx128, false);
// حفظ المستند المحدث
document.Save(dataDir + "SetPrivileges_out.pdf");
}
تشفير ملف PDF باستخدام أنواع وخوارزميات التشفير المختلفة
يمكنك استخدام الطريقة Encrypt للكائن Document لتشفير ملف PDF. يمكنك إدخال كلمة المرور الخاصة بالمستخدم، وكلمة مرور المالك، والأذونات إلى الطريقة Encrypt. بالإضافة إلى ذلك، يمكنك إدخال أي قيمة من القائمة البيانية CryptoAlgorithm. توفر هذه القائمة البيانية تركيبات مختلفة من خوارزميات التشفير وأحجام المفاتيح. يمكنك إدخال القيمة التي تختارها. أخيرًا، احفظ ملف PDF المشفر باستخدام طريقة Save للكائن Document.
يرجى تحديد كلمات مرور مستخدم ومالك مختلفة عند تشفير ملف PDF.
- كلمة مرور المستخدم، إذا تم تعيينها، هي ما تحتاج إلى تقديمه لفتح PDF.
- كلمة مرور المستخدم، إذا تم تعيينها، هي ما تحتاج إلى تقديمه لفتح ملف PDF.
- كلمة مرور المالك، إذا تم تعيينها، تتحكم في الأذونات، مثل الطباعة، التحرير، الاستخراج، التعليق، إلخ. سيمنع Acrobat/Reader هذه الأمور بناءً على إعدادات الأذونات. سيتطلب Acrobat هذه الكلمة إذا أردت تعيين/تغيير الأذونات.
الكود التالي يوضح لك كيفية تشفير ملفات PDF.
// للحصول على أمثلة كاملة وملفات بيانات، يرجى الذهاب إلى https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// مسار دليل المستندات.
string dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
// فتح المستند
Document document = new Document(dataDir+ "Encrypt.pdf");
// تشفير PDF
document.Encrypt("user", "owner", 0, CryptoAlgorithm.RC4x128);
dataDir = dataDir + "Encrypt_out.pdf";
// حفظ PDF المحدث
document.Save(dataDir);
فك تشفير ملف PDF باستخدام كلمة مرور المالك
مع تزايد تبادل المستخدمين لملفات PDF المشفرة لمنع الوصول غير المصرح به إلى الوثائق، مثل الطباعة/النسخ/المشاركة/استخراج المعلومات عن محتويات ملف PDF. يزداد تبادل المستخدمين لملفات PDF المشفرة لمنع الوصول غير المصرح به إلى الوثائق، مثل الطباعة / النسخ / المشاركة / استخراج المعلومات عن محتويات ملف PDF. في هذا الصدد، هناك حاجة للوصول إلى ملف PDF المشفر، حيث يمكن الحصول على هذا الوصول فقط من قبل مستخدم مصرح له. أيضا، يبحث الناس عن حلول متنوعة لفك تشفير ملفات PDF عبر الإنترنت.
من الأفضل حل هذه المشكلة مرة واحدة باستخدام مكتبة Aspose.PDF.
لفك تشفير ملف PDF، تحتاج أولاً إلى إنشاء كائن Document وفتح PDF باستخدام كلمة مرور المالك. لفك تشفير ملف PDF، يجب أولاً إنشاء كائن Document وفتح PDF باستخدام كلمة مرور المالك.
// للأمثلة الكاملة وملفات البيانات، يرجى الذهاب إلى https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// المسار إلى دليل المستندات.
string dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
// فتح المستند
Document document = new Document(dataDir+ "Decrypt.pdf", "password");
// فك تشفير PDF
document.Decrypt();
dataDir = dataDir + "Decrypt_out.pdf";
// حفظ PDF المحدث
document.Save(dataDir);
تغيير كلمة مرور ملف PDF
إذا كنت تريد تغيير كلمة مرور ملف PDF، يجب أولاً فتح ملف PDF باستخدام كلمة مرور المالك مع كائن Document. إذا أردت تغيير كلمة المرور لملف PDF، يجب أولاً فتح الملف باستخدام كلمة مرور المالك مع كائن Document.
- كلمة مرور المستخدم، إذا تم تعيينها، هي ما يجب أن تقدمه لفتح ملف PDF. سيطلب Acrobat/Reader من المستخدم إدخال كلمة مرور المستخدم. إذا لم تكن صحيحة، لن يتم فتح المستخدم.
- كلمة مرور المالك، إذا تم تعيينها، تتحكم في الأذونات، مثل الطباعة، التعديل، الاستخراج، التعليق، إلخ. سيمنع Acrobat/Reader هذه الأمور بناءً على إعدادات الأذونات. سيطلب Acrobat هذه الكلمة إذا كنت تريد تعيين/تغيير الأذونات.
يوضح الكود التالي كيفية تغيير كلمة المرور لملف PDF.
// للحصول على أمثلة كاملة وملفات بيانات، يرجى الذهاب إلى https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// مسار دليل المستندات.
string dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
// فتح المستند
Document document = new Document(dataDir+ "ChangePassword.pdf", "owner");
// تغيير كلمة المرور
document.ChangePasswords("owner", "newuser", "newowner");
dataDir = dataDir + "ChangePassword_out.pdf";
// حفظ PDF المحدث
document.Save(dataDir);
كيفية - تحديد ما إذا كان ملف PDF المصدر محميًا بكلمة مرور
Aspose.PDF لـ .NET يوفر إمكانيات رائعة للتعامل مع مستندات PDF. عند استخدام فئة Document من فضاء الأسماء Aspose.PDF لفتح مستند PDF محمي بكلمة مرور، نحتاج إلى توفير معلومات كلمة المرور كوسيط لمنشئ Document وفي حالة عدم توفير هذه المعلومات، يتم إنشاء رسالة خطأ. في الواقع، عند محاولة فتح ملف PDF باستخدام كائن Document، يحاول المنشئ قراءة محتويات ملف PDF وفي حالة عدم توفير كلمة المرور الصحيحة، يتم إنشاء رسالة خطأ (يحدث ذلك لمنع الوصول غير المصرح به للمستند).
عند التعامل مع ملفات PDF المشفرة، قد تواجه سيناريو ترغب فيه بالكشف عما إذا كان لدى PDF كلمة مرور للفتح و/أو كلمة مرور للتعديل. عند التعامل مع ملفات PDF المشفرة، قد تواجه السيناريو الذي قد تكون مهتمًا بالكشف عما إذا كان لدى PDF كلمة مرور للفتح و/أو كلمة مرور للتحرير.
الحصول على معلومات حول أمان مستند PDF
يحتوي PdfFileInfo على ثلاث خصائص للحصول على معلومات حول أمان مستند PDF.
- الخاصية PasswordType تعيد قيمة تعداد PasswordType:
- PasswordType.None - المستند غير محمي بكلمة مرور
- PasswordType.User - تم فتح المستند بكلمة مرور المستخدم (أو كلمة مرور فتح المستند)
- PasswordType.Owner - تم فتح المستند بكلمة مرور المالك (أو كلمة مرور الأذونات، التحرير)
- PasswordType.Inaccessible - المستند محمي بكلمة مرور ولكن يلزم كلمة مرور لفتحه بينما تم تقديم كلمة مرور غير صالحة (أو بدون كلمة مرور).
- الخاصية البوليانية HasOpenPassword - تُستخدم لتحديد ما إذا كان الملف الذي تم إدخاله يتطلب كلمة مرور عند فتحه.
- الخاصية البوليانية HasEditPassword - تُستخدم لتحديد ما إذا كان الملف الذي تم إدخاله يتطلب كلمة مرور لتحرير محتوياته.
تحديد كلمة المرور الصحيحة من المصفوفة
تحديد كلمة المرور الصحيحة من مصفوفة
أحيانًا يكون هناك حاجة لتحديد كلمة المرور الصحيحة من مصفوفة كلمات المرور وفتح المستند بكلمة المرور الصحيحة. يوضح الشفرة البرمجية التالية الخطوات لتكرار المرور عبر مصفوفة كلمات المرور ومحاولة فتح المستند بكلمة المرور الصحيحة.
// للحصول على أمثلة كاملة وملفات البيانات، يرجى زيارة https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// المسار إلى دليل المستندات.
string dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
// تحميل ملف PDF المصدر
PdfFileInfo info = new PdfFileInfo();
info.BindPdf(dataDir + "IsPasswordProtected.pdf");
// تحديد ما إذا كان ملف PDF المصدر مشفرًا
Console.WriteLine("File is password protected " + info.IsEncrypted);
String[] passwords = new String[5] { "test", "test1", "test2", "test3", "sample" };
for (int passwordcount = 0; passwordcount < passwords.Length; passwordcount++)
{
try
{
Document doc = new Document(dataDir + "IsPasswordProtected.pdf", passwords[passwordcount]);
if (doc.Pages.Count > 0)
Console.WriteLine("Number of Page in document are = " + doc.Pages.Count);
}
catch (InvalidPasswordException)
{
Console.WriteLine("Password = " + passwords[passwordcount] + " is not correct");
}
}