تعد مستندات معالجة الكلمات الطريقة الأكثر شيوعًا لصياغة العقود والاتفاقيات والأوراق والعديد من المستندات الرسمية الأخرى. إذا كنت بحاجة إلى مقارنة ودمج مستندين من مستندات Word ، تمامًا مثل خيار تتبع التغييرات في Microsoft Word ، فيمكننا القيام بذلك برمجيًا داخل تطبيقات .NET الخاصة بنا. في هذه المقالة ، سنناقش كيفية مقارنة مستندي Word وإبراز الاختلافات المحددة باستخدام C #. بالإضافة إلى ذلك ، سننظر في كيفية مقارنة المستندات المحمية بكلمة مرور ، وقبول التغييرات ورفضها ، ومقارنة أكثر من وثيقتين بأمثلة C #.

قارن مستندات Word للعثور على الاختلافات باستخدام .NET API

تتم مناقشة الموضوعات التالية هنا:

NET API لمقارنة مستندات Word

GroupDocs.Comparison يوفر .NET API الذي يسمح بمقارنة ثم دمج مستندات متعددة بتنسيقات ملفات متعددة داخل تطبيق .NET. سأستخدم .NET API الخاص به ، أي GroupDocs.Comparison for .NET لمقارنة مستندات Word.

يمكنك تنزيل مثبت DLL أو MSI من قسم التنزيلات أو تثبيت API في تطبيق .NET عبر NuGet.

PM> Install-Package GroupDocs.Comparison

قارن مستندات Word باستخدام C

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

  • قم بتحميل مستند Word الأول باستخدام فئة المقارنة.
  • أضف الملف الثاني إلى المقارنة باستخدام طريقة Add ().
  • قارن ملخص الحصول على التغييرات عن طريق استدعاء طريقة قارن () فقط.

يوضح رمز C # التالي كيفية مقارنة مستندات Word والحصول على التغييرات في المستند الناتج.

/*
 * قارن بين مستندي Word و Hightlight Changes باستخدام C #
 */
using (Comparer comparer = new Comparer("path/document.docx"))
{
    comparer.Add("path/document-ver2.docx");
    comparer.Compare("path/compared-result.docx");
}

قبول أو رفض التغييرات المحددة لمستندات Word باستخدام C

على غرار خيار تتبع التغييرات في MS Word ، يمكنك قبول أو رفض كل تغيير محدد. فيما يلي خطوات المقارنة ثم قبول أو رفض التغييرات المحددة في مستندات Word.

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

يقارن الكود المصدري C # التالي بين مستندين من مستندات Word ثم يقبل تغييرًا محددًا ثم يرفض تغييرًا آخر.

/*
 * قبول التغييرات المحددة ورفضها عن طريق مقارنة مستندات Word باستخدام C #
 */
using (Comparer comparer = new Comparer("path/document-1.docx"))
{
    comparer.Add("path/document-2.docx");
    comparer.Compare();
    ChangeInfo[] changes = comparer.GetChanges();
    
    // رفض أول تغيير تم تحديده ولن يتم إضافته إلى مستند النتيجة
    changes[0].ComparisonAction = ComparisonAction.Reject;
    comparer.ApplyChanges("path/rejected-change-result.docx", new ApplyChangeOptions { Changes = changes, SaveOriginalState = true });

    changes = comparer.GetChanges();
    changes[0].ComparisonAction = ComparisonAction.Accept;
    comparer.ApplyChanges("path/accepted-change-result.docx", new ApplyChangeOptions { Changes = changes });
}

قارن بين أكثر من وثيقتين باستخدام C

وبالمثل ، يمكن مقارنة أكثر من وثيقتين دفعة واحدة. فيما يلي خطوات مقارنة مستندات Word المتعددة بحثًا عن الاختلافات وتمييز التغييرات المحددة.

  • قم بتحميل مستند Word الأول باستخدام فئة المقارنة.
  • استمر في إضافة المستند (المستندات) الأخرى إلى Comparer باستخدام طريقة Add ().
  • اتصل بالطريقة قارن () للحصول على التغييرات وملخص التغييرات.

يوضح رمز C # التالي كيفية مقارنة أكثر من مستندي Word والحصول على التغييرات في المستند الناتج.

/*
 * قارن مستندات Word متعددة باستخدام C #
 */
using (Comparer comparer = new Comparer("path/document-1.docx"))
{
    comparer.Add("path/document-2.docx");
    comparer.Add("path/document-3.docx");
    comparer.Add("path/document-4.docx");

    comparer.Compare("path/compare-result.docx");
}

قارن مستندات Word المحمية بكلمة مرور باستخدام C

إذا كانت مستنداتك محمية بكلمة مرور ، فما عليك سوى تقديم كلمة المرور الخاصة بها أثناء تحميل المستندات. توضح الخطوات التالية كيف يمكننا مقارنة محتوى المستندات المحمية بكلمة مرور باستخدام C #.

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

يقارن مثال كود C # التالي ملفي Word محميين بكلمة مرور وينشئ المستند الناتج الذي يبرز الاختلافات.

/*
 * قارن مستندات Word المحمية بكلمة مرور باستخدام C #
 */
using (Comparer comparer = new Comparer("path/protected-document-1.docx", new LoadOptions(){ Password = "SourceFilePassword" }))
{
    comparer.Add("path/protected-document-2.docx", new LoadOptions() { Password = "TargetFilePassword" });
    comparer.Compare("path/compared-protected-docs-result.docx");
}

احصل على ترخيص API مجاني

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

استنتاج

في الختام ، تعلمنا مقارنة مستندين أو أكثر من مستندات Word باستخدام C #. علاوة على ذلك ، بعد تسليط الضوء على الاختلافات ، تعلمنا قبول التغييرات المحددة ورفضها برمجيًا. في النهاية ، ناقشنا أيضًا كيف يمكننا مقارنة مستندات Word المحمية بكلمة مرور داخل تطبيقات .NET.

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

أنظر أيضا