GroupDocs.Comparison for .NET هي مكتبة C # تتيح لك مقارنة المستندات وإيجاد الاختلافات. قارن وادمج Microsoft Word و Excel و PowerPoint و OpenDocument و PDF و Text و HTML و العديد من المستندات الأخرى ، واسترجع قائمة بالتغييرات بين المستند (المستندات) المصدر والهدف ، وقم بتطبيق التغييرات أو رفضها وحفظ النتائج باستخدام GroupDocs مقارنة API. بالإضافة إلى ذلك ، يمكن لـ GroupDocs.Comparison تحديد تغييرات التصميم والتنسيق - مثل الخط الغامق والمائل والتسطير والخط وأنواع الخطوط وما إلى ذلك.

تسمح خوارزميات اكتشاف التغييرات المستخدمة بواسطة GroupDocs.Comparison باكتشاف الاختلافات في أجزاء وكتل المستندات المختلفة:

  • كتل النص - الفقرات والكلمات والأحرف ؛
  • الجداول؛
  • الصور ؛
  • الأشكال وما إلى ذلك.

فيما يلي خطوات بسيطة لمقارنة ملفين نصيين وإظهار الاختلافات:

  • إنشاء كائن مقارن بمسار أو دفق مستند المصدر ؛
  • قم باستدعاء طريقة Add وحدد مسار المستند المستهدف أو التدفق ؛
  • استدعاء قارن طريقة.

يوضح مقتطف الشفرة التالي أبسط حالة لمقارنة المستندات باستخدام سطرين من التعليمات البرمجية.

قارن المستندات من الملف المحلي

using (Comparer comparer = new Comparer(“source.docx”))
{
    comparer.Add(“target.docx”);
    comparer.Compare(“result.docx”);
}

قارن المستندات من الدفق

using (Comparer comparer = new Comparer(File.OpenRead(“source.docx”)))
{
    comparer.Add(File.OpenRead(“target.docx”));
    comparer.Compare(File.Create(“result.docx”));
}

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

قبول أو رفض اكتشاف الاختلافات

GroupDocs.Comparison يوفر القدرة على تطبيق أو تجاهل تغييرات معينة بين المصدر والمستندات الهدف وحفظ المستند الناتج مع (أو بدون) التغييرات المحددة.

فيما يلي خطوات تطبيق / رفض التغييرات على المستند الناتج.

  • إنشاء كائن مقارن بمسار أو دفق مستند المصدر ؛
  • قم باستدعاء طريقة A dd وحدد المسار أو المسار المستهدف للوثيقة ؛
  • استدعاء قارن طريقة؛
  • استدعاء أسلوب GetChanges والحصول على قائمة التغييرات المكتشفة ؛
  • قم بتعيين ComparisonAction من كائن التغيير المطلوب إلى ComparisonAction.Accept أو ComparisonAction.Reject القيمة ؛
  • قم باستدعاء طريقة ApplyChanges وتمرير مجموعة التغييرات إليها.

يوضح نموذج التعليمات البرمجية التالي كيفية قبول / رفض الاختلافات المكتشفة.

using (Comparer comparer = new Comparer(“source.docx”))
{
    comparer.Add(“target.docx”);
    comparer.Compare();
    ChangeInfo[] changes = comparer.GetChanges();
    changes[0].ComparisonAction = ComparisonAction.Reject;
    comparer.ApplyChanges(File.Create(“result.docx”), new SaveOptions(), new ApplyChangeOptions() { Changes = changes });
}

إنشاء معاينة لصفحات المستند

GroupDocs.Comparison يسمح بإنشاء معاينات الصفحة للمستند (المستندات) المصدر والهدف والنتيجة باستخدام طريقة GeneratePreview لفئة Document.

خيارات المعاينة تُستخدم فئة لإدارة عملية إنشاء المعاينة - حدد أرقام الصفحات المطلوبة ، وتنسيق الصورة ، إلخ.

فيما يلي خطوات إنشاء معاينة المستند باستخدام GroupDocs.Comparison API:

  • قم بإنشاء مثيل جديد لفئة المقارنة وتمرير مسار المستند المصدر كمعامل مُنشئ ؛
  • إضافة الوثيقة (الوثائق) المستهدفة للمقارنة باستخدام طريقة أضف ؛
  • مصدر and Targets properties of Comparer object allows to access source and target documents and provides GeneratePreview method;
  • إنشاء كائن PreviewOptions باستخدام:
    • مفوض لكل إنشاء دفق صفحة (راجع معالج الحدث CreatePageStream) ؛
    • تنسيق معاينة الصورة - PNG / JPG / BMP ؛
    • أرقام الصفحات المراد معالجتها ؛
    • حجم مخصص لمعاينة الصور (إذا لزم الأمر).
  • استدعاء GeneratePreview طريقة المصدر و الأهداف المستند ومرر PreviewOptions إليها.

احصل على معاينات الصفحة للمستند الناتج

using (Comparer comparer = new Comparer(“source.docx”))
{
    comparer.Add(“target.docx”);
    comparer.Compare(“result.docx”);
    Document document = new Document(File.OpenRead(“result.docx”));
    PreviewOptions previewOptions = new PreviewOptions(pageNumber =>
    {
        var pagePath = Path.Combine(“C:\\”, $"result\_{pageNumber}.png");
        return File.Create(pagePath);
    });
    previewOptions.PreviewFormat = PreviewFormats.PNG;
    previewOptions.PageNumbers = new int[] { 1, 2 };
    document.GeneratePreview(previewOptions);
}

قارن مستندات متعددة

GroupDocs.Comparison يسمح بمقارنة أكثر من وثيقتين. يُظهر نموذج التعليمات البرمجية التالي كيفية مقارنة مستندات متعددة برمجيًا.

using (Comparer comparer = new Comparer(“source.docx”)
{
    comparer.Add(“target1.docx”);
    comparer.Add(“target2.docx”);
    comparer.Add(“target3.docx”);
    comparer.Compare(“result.docx”);
}

تثبيت

NuGet هو أسهل طريقة لتنزيل وتثبيت GroupDocs.Comparison for .NET. يرجى الحصول على ترخيص مؤقت لاختبار المكتبة دون أي قيود وظيفية.

يرجى مراجعة الوثائق لمعرفة المزيد عن المكتبة. نقدم أيضًا دعمًا تقنيًا مجانيًا ، لذا لا تتردد في الاتصال بنا - سنكون سعداء للمساعدة.