Protect

Protect(ProtectionType)

يحمي المستند من التغييرات دون تغيير كلمة المرور الحالية أو تعيين كلمة مرور عشوائية.

public void Protect(ProtectionType type)
معامليكتبوصف
typeProtectionTypeيحدد نوع الحماية للمستند.

ملاحظات

عندما يكون المستند محميًا، يمكن للمستخدم إجراء تغييرات محدودة فقط، مثل إضافة التعليقات التوضيحية، أو إجراء المراجعات، أو إكمال النموذج.

عندما تقوم بحماية مستند، وكان المستند يحتوي بالفعل على كلمة مرور حماية، لا يتم تغيير كلمة مرور الحماية الحالية.

عندما تقوم بحماية مستند، ولا يحتوي المستند على كلمة مرور حماية، تقوم هذه الطريقة بتعيين كلمة مرور عشوائية تجعل من المستحيل إلغاء حماية المستند في Microsoft Word، ولكن لا يزال بإمكانك إلغاء حماية المستند في Aspose.Words لأنه لا تتطلب كلمة مرور عند إلغاء الحماية.

أمثلة

يوضح كيفية إيقاف الحماية لقسم ما.

Document doc = new Document();

DocumentBuilder builder = new DocumentBuilder(doc);
builder.Writeln("Section 1. Hello world!");
builder.InsertBreak(BreakType.SectionBreakNewPage);

builder.Writeln("Section 2. Hello again!");
builder.Write("Please enter text here: ");
builder.InsertTextInput("TextInput1", TextFormFieldType.Regular, "", "Placeholder text", 0);

// تطبيق الحماية ضد الكتابة على كل قسم في المستند.
doc.Protect(ProtectionType.AllowOnlyFormFields);

// قم بإيقاف تشغيل الحماية ضد الكتابة للقسم الأول.
doc.Sections[0].ProtectedForForms = false;

// في مستند الإخراج هذا، سنكون قادرين على تحرير القسم الأول بحرية،
// ولن نتمكن من تعديل محتويات حقل النموذج إلا في القسم الثاني.
doc.Save(ArtifactsDir + "Section.Protect.docx");

أنظر أيضا


Protect(ProtectionType, string)

يحمي المستند من التغييرات ويعين كلمة مرور الحماية بشكل اختياري.

public void Protect(ProtectionType type, string password)
معامليكتبوصف
typeProtectionTypeيحدد نوع الحماية للمستند.
passwordStringكلمة المرور لحماية المستند بها. تحديدباطلأو سلسلة فارغة إذا كنت تريد حماية المستند بدون كلمة مرور.

ملاحظات

عندما يكون المستند محميًا، يمكن للمستخدم إجراء تغييرات محدودة فقط، مثل إضافة التعليقات التوضيحية، أو إجراء المراجعات، أو إكمال النموذج.

لاحظ أن حماية المستند تختلف عن الحماية ضد الكتابة. يتم تحديد الحماية ضد الكتابة باستخدامWriteProtection.

أمثلة

يوضح كيفية حماية مستند وإلغاء حمايته.

Document doc = new Document();
doc.Protect(ProtectionType.ReadOnly, "password");

Assert.AreEqual(ProtectionType.ReadOnly, doc.ProtectionType);

// إذا فتحنا هذا المستند باستخدام برنامج Microsoft Word بهدف تعديله،
// سنحتاج إلى تطبيق كلمة المرور لتجاوز الحماية.
doc.Save(ArtifactsDir + "Document.Protect.docx");

// لاحظ أن الحماية تنطبق فقط على مستخدمي Microsoft Word الذين يفتحون وثيقتنا.
// لم نقم بتشفير المستند بأي شكل من الأشكال، ولا نحتاج إلى كلمة المرور لفتحه وتحريره برمجيًا.
Document protectedDoc = new Document(ArtifactsDir + "Document.Protect.docx");

Assert.AreEqual(ProtectionType.ReadOnly, protectedDoc.ProtectionType);

DocumentBuilder builder = new DocumentBuilder(protectedDoc);
builder.Writeln("Text added to a protected document.");
// هناك طريقتان لإزالة الحماية من المستند.
// 1 - بدون كلمة مرور:
doc.Unprotect();

Assert.AreEqual(ProtectionType.NoProtection, doc.ProtectionType);

doc.Protect(ProtectionType.ReadOnly, "NewPassword");

Assert.AreEqual(ProtectionType.ReadOnly, doc.ProtectionType);

doc.Unprotect("WrongPassword");

Assert.AreEqual(ProtectionType.ReadOnly, doc.ProtectionType);

// 2 - بكلمة المرور الصحيحة:
doc.Unprotect("NewPassword");

Assert.AreEqual(ProtectionType.NoProtection, doc.ProtectionType);

أنظر أيضا