العمل مع التعليقات

Aspose.Words يسمح للمستخدمين بالعمل مع التعليقات-يتم تمثيل التعليقات في مستند في Aspose.Words بواسطة فئة Comment. استخدم أيضا الفئتين CommentRangeStart و CommentRangeEnd لتحديد منطقة النص التي يجب أن ترتبط بتعليق.

إضافة تعليق

Aspose.Words يسمح لك بإضافة التعليقات بعدة طرق:

  1. باستخدام فئة Comment
  2. باستخدام CommentRangeStart و CommentRangeEnd الطبقات

يوضح مثال التعليمات البرمجية التالية كيفية إضافة تعليق إلى فقرة باستخدام فئة Comment:

يوضح مثال التعليمة البرمجية التالية كيفية إضافة تعليق إلى فقرة باستخدام منطقة نص وفئات CommentRangeStart و CommentRangeEnd:

استخراج أو إزالة التعليقات

يعد استخدام التعليقات في مستند ورد (بالإضافة إلى تتبع التغييرات) ممارسة شائعة عند مراجعة المستندات، خاصة عندما يكون هناك العديد من المراجعين. يمكن أن تكون هناك مواقف يكون فيها الشيء الوحيد الذي تحتاجه من المستند هو التعليقات. لنفترض أنك تريد إنشاء قائمة بنتائج المراجعة، أو ربما تكون قد جمعت جميع المعلومات المفيدة من المستند وتريد ببساطة إزالة التعليقات غير الضرورية. قد ترغب في عرض أو إزالة تعليقات مراجع معين.

في هذه العينة، سنلقي نظرة على بعض الطرق البسيطة لجمع المعلومات من التعليقات داخل المستند ولإزالة التعليقات من المستند. على وجه التحديد، سنغطي كيفية:

  • استخراج جميع التعليقات من وثيقة أو فقط تلك التي أدلى بها مؤلف معين.
  • قم بإزالة جميع التعليقات من مستند أو من مؤلف معين فقط.

كيفية استخراج أو إزالة التعليقات

الكود في هذه العينة بسيط للغاية وتستند جميع الطرق إلى نفس النهج. يتم تمثيل التعليق في مستند ورد بكائن Comment في نموذج كائن المستند Aspose.Words. لجمع كل التعليقات في مستند، استخدم طريقة GetChildNodes مع تعيين المعلمة الأولى على NodeType.Comment. تأكد من تعيين المعلمة الثانية لطريقة GetChildNodes على صحيح: هذا يفرض GetChildNodes للاختيار من بين جميع العقد الفرعية بشكل متكرر، بدلا من جمع الأطفال المباشرين فقط.

لتوضيح كيفية استخراج التعليقات وإزالتها من مستند، سنتبع الخطوات التالية:

  1. افتح مستند ورد باستخدام فئة Document
  2. احصل على جميع التعليقات من المستند في مجموعة
  3. لاستخراج التعليقات:
    1. انتقل من خلال المجموعة باستخدام مشغل فوريش
    2. استخراج وقائمة اسم المؤلف والتاريخ والوقت ونص جميع التعليقات
    3. استخراج وقائمة اسم المؤلف والتاريخ والوقت ونص التعليقات التي كتبها مؤلف معين، في هذه الحالة، المؤلف ‘كس’
  4. لإزالة التعليقات:
    1. العودة إلى الوراء من خلال جمع باستخدام للمشغل
    2. إزالة التعليقات
  5. احفظ التغييرات

كيفية استخراج جميع التعليقات

طريقة GetChildNodes مفيدة للغاية ويمكنك استخدامها في كل مرة تحتاج فيها إلى الحصول على قائمة بعقد المستندات من أي نوع. لا تنشئ المجموعة الناتجة حملا فوريا لأن العقد يتم تحديدها في هذه المجموعة فقط عند تعداد العناصر الموجودة فيها أو الوصول إليها.

يوضح مثال الكود التالي كيفية استخراج اسم المؤلف والتاريخ والوقت ونص جميع التعليقات في المستند:

كيفية استخراج تعليقات مؤلف محدد

بعد تحديد عقد التعليق في مجموعة، كل ما عليك فعله هو استخراج المعلومات التي تحتاجها. في هذه العينة، يتم دمج الأحرف الأولى للمؤلف والتاريخ والوقت والنص العادي للتعليق في سلسلة واحدة ؛ يمكنك اختيار تخزينه بطرق أخرى بدلا من ذلك.

الطريقة المثقلة التي تستخرج التعليقات من مؤلف معين هي نفسها تقريبا، فهي تتحقق فقط من اسم المؤلف قبل إضافة المعلومات إلى المصفوفة.

يوضح مثال الكود التالي كيفية استخراج اسم المؤلف والتاريخ والوقت ونص التعليقات من قبل المؤلف المحدد:

كيفية إزالة التعليقات

إذا كنت تقوم بإزالة جميع التعليقات، فلا داعي للتنقل عبر المجموعة حذف التعليقات واحدا تلو الآخر ؛ يمكنك إزالتها عن طريق الاتصال NodeCollection.Clear في مجموعة التعليقات.

يوضح مثال التعليمات البرمجية التالية كيفية إزالة كافة التعليقات في المستند:

عندما تحتاج إلى إزالة التعليقات بشكل انتقائي، تصبح العملية أكثر تشابها مع الكود الذي استخدمناه لاستخراج التعليقات.

يوضح مثال الكود التالي كيفية إزالة التعليقات من قبل المؤلف المحدد:

النقطة الرئيسية التي يجب تسليط الضوء عليها هنا هي استخدام المشغل. على عكس الاستخراج البسيط، هنا تريد حذف تعليق. الحيلة المناسبة هي تكرار المجموعة للخلف من التعليق الأخير إلى التعليق الأول. والسبب في ذلك إذا بدأت من النهاية وانتقلت للخلف، فسيظل فهرس العناصر السابقة دون تغيير، ويمكنك العودة إلى العنصر الأول في المجموعة.

يوضح مثال التعليمات البرمجية التالية طرق استخراج التعليقات وإزالتها:

كيفية إزالة تعليق بين CommentRangeStart و CommentRangeEnd

باستخدام Aspose.Words يمكنك أيضا إزالة التعليقات بين العقدتين CommentRangeStart و CommentRangeEnd.

يوضح مثال الكود التالي كيفية إزالة النص بين CommentRangeStart و CommentRangeEnd:

إضافة وإزالة رد التعليق

تضيف طريقة AddReply ردا على هذا التعليق. يرجى ملاحظة أنه نظرا لقيود المكتب الحالية Microsoft، يسمح فقط بمستوى 1 من الردود في المستند. سيتم رفع استثناء من النوع InvalidOperationException إذا تم استدعاء هذه الطريقة في تعليق الرد الحالي.

يمكنك استخدام طريقة RemoveReply لإزالة الرد المحدد على هذا التعليق.

يوضح مثال الكود التالي كيفية إضافة رد للتعليق وإزالة رد التعليق:

اقرأ رد التعليق

تقوم الخاصية Replies بإرجاع مجموعة من الكائنات Comment التي تكون تابعة مباشرة للتعليق المحدد.

يوضح مثال الكود التالي كيفية التكرار من خلال ردود التعليق وحلها: