تعد مستندات معالجة الكلمات الطريقة الأكثر شيوعًا لصياغة العقود والاتفاقيات والأوراق والعديد من المستندات الرسمية الأخرى. إذا كنت بحاجة إلى مقارنة ودمج مستندين من مستندات Word ، تمامًا مثل خيار تتبع التغييرات في Microsoft Word ، فيمكننا القيام بذلك برمجيًا داخل تطبيقات .NET الخاصة بنا. في هذه المقالة ، سنناقش كيفية مقارنة مستندي Word وإبراز الاختلافات المحددة باستخدام C #. بالإضافة إلى ذلك ، سننظر في كيفية مقارنة المستندات المحمية بكلمة مرور ، وقبول التغييرات ورفضها ، ومقارنة أكثر من وثيقتين بأمثلة C #.
تتم مناقشة الموضوعات التالية هنا:
- مقارنة المستندات. NET API
- قارن بين وثيقتين Word
- قبول أو رفض التغييرات المحددة في مستند Word
- قارن بين أكثر من وثيقتين من مستندات Word
- قارن ملفات Word المحمية بكلمة مرور
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. قم بزيارة الوثائق للبدء في إنشاء تطبيقات مقارنة المستندات الخاصة بك للعديد من تنسيقات المستندات المدعومة. للاستفسارات ، اتصل بنا عبر المنتدى.