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

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

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

تتم مناقشة / تغطية الموضوعات التالية في هذه المقالة:

C # API لمقارنة ملفات DOCX

لمقارنة ملفين أو أكثر من ملفات DOCX ، سأستخدم GroupDocs.Comparison for .NET API. يقوم بمقارنة وثيقتين أو أكثر ويكتشف التغييرات في محتوى المستندات من حيث الكلمات والفقرات والأحرف. ونتيجة لذلك ، فإنه ينتج مستند مقارنة يسلط الضوء على الاختلافات ويسرد ملخصًا للاختلافات. كما أنه يمكّنك من اكتشاف التغييرات والاختلافات في نمط النص بين تنسيقات المستندات المتشابهة. تدعم واجهة برمجة التطبيقات مقارنة جميع تنسيقات المستندات القياسية في الصناعة مثل PDF و HTML و Word و Excel و PowerPoint ورسائل البريد الإلكتروني في Outlook ومخططات Visio و OpenDocument و AutoCAD والصور.

يمكنك إما تنزيل DLL الخاصة بواجهة برمجة التطبيقات أو تثبيته باستخدام NuGet.

Install-Package GroupDocs.Comparison

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

يمكنك مقارنة مستندين أو أكثر من مستندات Word برمجيًا باتباع الخطوات البسيطة الواردة أدناه:

  1. قم بإنشاء مثيل لفئة Comparer بمسار ملف DOCX المصدر
  2. قم باستدعاء الأسلوب Add () مع ملف DOCX الهدف لإضافته إلى المقارنة
  3. كرر الخطوة أعلاه لإضافة المزيد من الملفات بالمقارنة
  4. قم باستدعاء الأسلوب قارن () بمسار ملف الإخراج

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

// تهيئة المقارنة
Comparer comparer = new Comparer("C:\\Files\\source.docx");

// أضف الملف الهدف للمقارنة
comparer.Add("C:\\Files\\target.docx");

// قارن الاختلافات واحفظها
comparer.Compare("C:\\Files\\result.docx");
ملفات DOCX المصدر والهدف

ملفات DOCX المصدر والهدف

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

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

يتضمن المستند الناتج أيضًا صفحة ملخص في نهاية المستند تعرض ملخصًا لجميع التغييرات التي تم العثور عليها في المقارنة.

فئة المقارنة هي الفئة الرئيسية التي تمكنك من التحكم في عملية المقارنة وتنفيذها. يوفر عدة طرق للمقارنة بين وثيقتين أو أكثر. تضيف طريقة Add () لهذه الفئة ملفًا إلى عملية المقارنة. يمكنك بسهولة إضافة ملفات متعددة إلى المقارنة باستخدام طريقة Add () كما هو موضح أدناه:

comparer.Add("target1.docx");
comparer.Add("target2.docx");
comparer.Add("target3.docx");

تقارن طريقة قارن () لفئة المقارنة بين المستندات المصدر والهدف. تبرز هذه الطريقة الاختلافات وتحفظ النتائج في مسار الملف المقدم كمعامل إدخال.

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

يمكنك مقارنة مستندين أو أكثر من مستندات Word باستخدام FileStream باتباع الخطوات الواردة أدناه:

  1. قراءة ملف المصدر في كائن تيار
  2. قراءة الملف الهدف في كائن دفق آخر
  3. قم بإنشاء مثيل لفئة Comparer مع كائن التدفق المصدر
  4. قم باستدعاء الأسلوب Add () مع كائن Stream الهدف لإضافته إلى المقارنة
  5. قم باستدعاء الأسلوب قارن () بمسار ملف الإخراج

يوضح نموذج التعليمات البرمجية التالي كيفية مقارنة مستندات Word باستخدام FileStream في C #.

// قراءة ملفات المصدر والهدف
using (Stream sourceStream = File.OpenRead("C:\\Files\\source.docx"))
using (Stream targetStream = File.OpenRead("C:\\Files\\target.docx"))
{
    // تهيئة المقارنة
    using (Comparer comparer = new Comparer(sourceStream))
    {
        // إضافة دفق الفيلم الهدف للمقارنة
        comparer.Add(targetStream);

        // قارن الاختلافات واحفظها
        comparer.Compare(File.Create("C:\\Files\\result.docx"));
    }
}

احصل على نص التغييرات باستخدام C

يمكنك الحصول على نص التغييرات الموجودة في مقارنة مستندات Word برمجيًا باتباع الخطوات البسيطة الواردة أدناه:

  1. قم بإنشاء مثيل لفئة Comparer بمسار ملف DOCX المصدر
  2. قم باستدعاء الأسلوب Add () مع ملف DOCX الهدف لإضافته إلى المقارنة
  3. كرر الخطوة أعلاه لإضافة المزيد من الملفات بالمقارنة
  4. قم باستدعاء طريقة قارن ()
  5. اتصل بطريقة GetChanges () للحصول على تفاصيل التغييرات
  6. اعرض التغييرات

يوضح نموذج التعليمات البرمجية التالي كيفية الحصول على نص التغييرات باستخدام C #.

// تهيئة المقارنة
Comparer قارنr = new Comparer("C:\\Files\\source.docx");

// أضف الملف الهدف للمقارنة
قارنr.Add("C:\\Files\\target.docx");

// قارن
قارنr.Compare();

// الحصول على التغييرات
ChangeInfo[] changes = قارنr.GetChanges();

Console.WriteLine("Count of changes: " + changes.Length);

// تظهر التغييرات
foreach (ChangeInfo change in changes)
{
    Console.WriteLine("Change Type: " + change.Type + ", Text: " + change.Text);
}
Count of changes: 10
Change Type: Inserted, Text:
Change Type: Inserted, Text:  Company ‼ HYPERLINK "http://www.aspose.com/" ¶Aspose Pty Ltd§ Division GroupDocs
Change Type: Inserted, Text:
Change Type: Inserted, Text: Cool
Change Type: Deleted, Text: test
Change Type: Inserted, Text:
Change Type: Inserted, Text: signatures
Change Type: Inserted, Text:
Change Type: Deleted, Text: Customers
Change Type: Deleted, Text: GroupDocs is used by companies of all sizes across the globe, from large multinational firms to small freelance businesses. They come to us because they have a need for a simple, one-stop-shop, document management solution.

يمكنك الحصول على قائمة بالتغييرات بين ملفات المصدر والهدف عن طريق استدعاء طريقة GetChanges () لفئة Comparer. تقوم بإرجاع قائمة ChangeInfo كائنات. تمثل فئة ChangeInfo معلومات حول التغييرات وتوفر خصائص متنوعة للحصول على تفاصيل التغييرات مثل Text و Type وما إلى ذلك.

مقارنة خصائص المستندات باستخدام C

يمكنك مقارنة الخصائص المضمنة والمخصصة والخصائص المتغيرة لمستندات Word برمجيًا باتباع الخطوات الواردة أدناه:

  1. قم بإنشاء مثيل لفئة Comparer بمسار ملف DOCX المصدر
  2. قم باستدعاء الأسلوب Add () مع ملف DOCX الهدف لإضافته إلى المقارنة
  3. كرر الخطوة أعلاه لإضافة المزيد من الملفات بالمقارنة
  4. قم بإنشاء مثيل لـ CompareOptions
  5. اضبط CompareVariableProperty على صحيح
  6. اضبط CompareDocumentProperty على صحيح
  7. قم باستدعاء الأسلوب Compare () باستخدام مسار ملف الإخراج وخيارات CompareOptions

يوضح نموذج التعليمات البرمجية التالي كيفية مقارنة خصائص المستندات باستخدام C #.

// تهيئة المقارنة
Comparer قارنr = new Comparer("C:\\Files\\source.docx");

// أضف الملف الهدف للمقارنة
قارنr.Add("C:\\Files\\target.docx");

// تحديد خيارات المقارنة
CompareOptions options = new CompareOptions();
options.CompareVariableProperty = true; // activate the comparison of variable properties
options.CompareDocumentProperty = true; // activate the comparison of built and custom properties

// قارن
قارنr.Compare("C:\\Files\\result.docx", options);
مقارنة خصائص المستندات باستخدام C #

مقارنة خصائص المستندات باستخدام C #

يمكنك تحسين عملية المقارنة الخاصة بك عن طريق تطبيق خيارات مقارنة متنوعة. لهذا الغرض ، تسمح فئة CompareOptions بتعيين خيارات مقارنة متنوعة لتحقيق نتائج محددة. تمكنك CompareDocumentProperty من هذه الفئة من تشغيل المقارنة بين الخصائص المضمنة والمخصصة في تنسيق Word. تسمح CompareVariableProperty بتشغيل مقارنة خصائص المتغيرات في تنسيق Word.

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

يمكنك مقارنة مستندين أو أكثر من مستندات Word المحمية بكلمة مرور برمجيًا باتباع الخطوات الواردة أدناه:

  1. قم بإنشاء مثيل لفئة LoadOptions
  2. أدخل كلمة المرور للملف المصدر
  3. قم بإنشاء مثيل لفئة Comparer بمسار ملف DOCX المصدر و LoadOptions
  4. قم باستدعاء الأسلوب Add () باستخدام مسار ملف DOCX الهدف ومثيل LoadOptions بكلمة مرور
  5. كرر الخطوة أعلاه لإضافة المزيد من الملفات بالمقارنة
  6. قم باستدعاء الأسلوب قارن () بمسار ملف الإخراج

يوضح نموذج التعليمات البرمجية التالي كيفية مقارنة مستندات Word المحمية بكلمة مرور باستخدام C #.

// تحديد خيارات التحميل للملف المصدر
LoadOptions sourceLoadOptions = new LoadOptions() { Password = "1234" };

// تهيئة المقارنة
Comparer قارنr = new Comparer("C:\\Files\\source.docx", sourceLoadOptions);

// أضف الملف الهدف للمقارنة
قارنr.Add("C:\\Files\\target.docx", new LoadOptions() { Password = "5678" });

// قارن
قارنr.Compare("C:\\Files\\result.docx");

تتيح لك فئة LoadOptions تحديد خيارات إضافية أثناء تحميل مستند. يوفر الخصائص التالية لتحديدها:

  • FontDirectories - قائمة أدلة الخطوط للتحميل.
  • LoadText - يشير إلى أن السلاسل التي تم تمريرها هي نص مقارنة ، وليست مسارات ملفات (لمقارنة النص فقط).
  • كلمة المرور - كلمة مرور المستند.

مقارنة الإشارات المرجعية في مستندات Word باستخدام C

يمكنك مقارنة الإشارات المرجعية المتوفرة في مستندات Word برمجيًا باتباع الخطوات الواردة أدناه:

  1. قم بإنشاء مثيل لفئة Comparer بمسار ملف DOCX المصدر
  2. قم باستدعاء الأسلوب Add () مع ملف DOCX الهدف لإضافته إلى المقارنة
  3. كرر الخطوة أعلاه لإضافة المزيد من الملفات بالمقارنة
  4. قم بإنشاء مثيل لـ CompareOptions
  5. اضبط Compare Bookmarks على “true”
  6. قم باستدعاء الأسلوب Compare () باستخدام مسار ملف الإخراج وخيارات CompareOptions

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

// تهيئة المقارنة
Comparer قارنr = new Comparer("C:\\Files\\source.docx");

// أضف الملف الهدف للمقارنة
قارنr.Add("C:\\Files\\target.docx");

// تحديد خيارات المقارنة
CompareOptions قارنOptions = new CompareOptions();
قارنOptions.CompareBookmarks = true; // قارن bookmarks

// قارن
قارنr.Compare("C:\\Files\\result.docx", قارنOptions);
مقارنة الإشارات المرجعية في مستندات Word باستخدام C #

مقارنة الإشارات المرجعية في مستندات Word باستخدام C #

تتيح لك خاصية CompareBookmarks مقارنة الإشارات المرجعية المتاحة في المستندات المصدر والهدف.

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

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

استنتاج

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

أنظر أيضا