Revisions

Revisions

يظهر هذا الدليل كيفية فحص، قبول، رفض، وتسجيل التغييرات المتعقبة في مستند Word باستخدام Aspose.Words FOSS لـ .NET. يمكن لـ Aspose.Words FOSS لـ .NET فحص، قبول، ورفض التغييرات المتعقبة (المراجعات) في مستند Word عبر Document.Revisions، ويمكنه تسجيل تغييرات متعقبة جديدة أثناء التحرير عبر Document.StartTrackRevisions()/StopTrackRevisions().


قراءة التغييرات المتعقبة

Document.Revisions يُعيد RevisionCollection لكل Revision في المستند؛ Range.Revisions يحدّ نفس النتيجة إلى نطاق محدد. كل Revision يُبلغ عن من أجرى التغيير ومتى (Author، DateTime)، ونوع التغيير (RevisionType: Insertion، Deletion، FormatChange، StyleDefinitionChange أو Moving)، وأين يُطبق (ParentNode، ParentStyle). Document.HasRevisions يخبرك مسبقًا ما إذا كان المستند المُحمَّل يحتوي على أي تغييرات متعقبة على الإطلاق.


قبول ورفض المراجعات

استدعِ Revision.Accept() أو Revision.Reject() لحل تغيير متعقّب واحد، أو اعمل على المجموعة بأكملها دفعة واحدة باستخدام RevisionCollection.AcceptAll() / RejectAll(). يُعد Document.AcceptAllRevisions() ملاءمة على مستوى المستند تُقبل كل مراجعة في استدعاء واحد. لقبول أو رفض جزء فرعي بشكل انتقائي، نفّذ IRevisionCriteria.IsMatch(revision) ومرره إلى RevisionCollection.Accept(criteria) أو Reject(criteria).


مجموعات المراجعات

تُعرض المراجعات المتتالية من نفس المؤلف ونفس النوع معًا كـ RevisionGroup — يمكن الوصول إليها عبر Revision.Group لمراجعة واحدة، أو RevisionCollection.Groups (وهي RevisionGroupCollection) لكل مجموعة في المستند. كل مجموعة تُبلغ عن Text، Author، وRevisionType المجمعة لها.


تسجيل تغييرات مُتابَعة جديدة

استدعِ Document.StartTrackRevisions(author) أو النسخة المتعددة StartTrackRevisions(author, dateTime) قبل إجراء التعديلات بحيث تُسجل التغييرات اللاحقة كمراجعات بدلاً من تطبيقها مباشرة؛ استدعِ StopTrackRevisions() لإنهاء المتابعة. خاصية Document.TrackRevisions تُظهر ما إذا كانت المتابعة نشطة حاليًا.


عرض المحتوى الأصلي مقابل النهائي

Document.RevisionsView يتحكم فيما إذا كان المستند يُعرض بحالته Original أو Final (قيمة RevisionsView) عندما تكون هناك مراجعات، دون تعديل بيانات المراجعة الأساسية.


نصائح وأفضل الممارسات

  • تحقق من Document.HasRevisions قبل تكرار Document.Revisions لتجنب العمل غير الضروري على المستندات التي لا تحتوي على تغييرات مُتابَعة.
  • يفضل استخدام RevisionCollection.Accept(criteria)/Reject(criteria) مع IRevisionCriteria مخصص بدلاً من الترشيح اليدوي واستدعاء Revision.Accept() واحدًا تلو الآخر.
  • RevisionGroup مفيد لتقديم ملخص مقروء للتغييرات — تجميع التعديلات المتتالية لنفس المؤلف ونفس النوع يتجنب اعتبار كل حرف مدخل كإدخال منفصل.
  • دائمًا اقترن StartTrackRevisions() باستدعاء StopTrackRevisions() لاحق حتى لا تُسجل التعديلات غير المرتبطة كتغييرات متتبعة.

مشكلات شائعة

المشكلةالسببالإصلاح
Document.Revisions فارغ بعد التعديلاتStartTrackRevisions() لم يُستدعَ أبداً قبل التعديلاستدعِ StartTrackRevisions(author) قبل إجراء التعديلات التي تريد تتبعها
RevisionCollection.Accept(criteria) لا يقبل شيئًاIRevisionCriteria.IsMatch() لا يتطابق مع أي مراجعةتحقق من منطق المعايير مقابل القيم الفعلية Revision.Author/RevisionType/ParentNode أولاً
لا يزال المستند يعرض تعليمات التغييرات المتتبعة بعد AcceptAllRevisions()عرض الحالة، وليس بيانات المراجعةاضبط Document.RevisionsView إلى Final إذا كنت بحاجة إلى عرض المحتوى المحلول

FAQ

كيف يمكنني التحقق مما إذا كان المستند يحتوي على أي تغييرات متتبعة؟

اقرأ Document.HasRevisions — تكون true إذا كان Document.Revisions يحتوي على Revision واحد على الأقل.

ما الفرق بين Revision.Accept() و RevisionCollection.AcceptAll()؟

Revision.Accept() يحل مراجعة واحدة محددة؛ RevisionCollection.AcceptAll() (أو Document.AcceptAllRevisions()) يحل جميع المراجعات في المجموعة مرة واحدة.

كيف يمكنني قبول التعديلات التي أجراها مؤلف محدد فقط؟

نفّذ IRevisionCriteria.IsMatch(revision) للتحقق من revision.Author، ثم استدعِ RevisionCollection.Accept(criteria) باستخدام ذلك التنفيذ.

كيف أسجل تعديلاتي الخاصة كـ تغييرات متتبعة؟

استدعِ Document.StartTrackRevisions(author) قبل إجراء التعديلات، ثم Document.StopTrackRevisions() عند الانتهاء.

ما هي أنواع المراجعات الموجودة؟

RevisionType يحدد Insertion، Deletion، FormatChange، StyleDefinitionChange، وMoving.


API Reference ملخص

الفئة / الطريقةوصف
Document.RevisionsRevisionCollection لجميع التغييرات المتتبعة في المستند
Revisionتغيير متتبع واحد: Author, DateTime, RevisionType, Accept(), Reject()
RevisionCollectionAcceptAll(), RejectAll(), Accept(criteria), Reject(criteria), Groups
RevisionGroup / RevisionGroupCollectionالتعديلات المتتالية لنفس المؤلف ونفس النوع مُجمَّعة معًا
IRevisionCriteriaعبارة شرطية مخصصة (IsMatch(revision)) للقبول/الرفض الانتقائي
Document.StartTrackRevisions() / StopTrackRevisions()سجّل التعديلات الجديدة كالتغييرات المتتبعة
Document.RevisionsViewعرض Original أو Final للمحتوى المُعدَّل

انظر أيضاً

 العربية