GroupDocs.Comparison for .NET یک کتابخانه C# است که به شما امکان مقایسه اسناد و یافتن تفاوت‌ها را می‌دهد. مقایسه و ادغام مایکروسافت ورد، اکسل، پاورپوینت، OpenDocument، PDF، متن، HTML و [بسیاری از اسناد دیگر]، فهرستی از تغییرات بین سند(های منبع و مقصد) را بازیابی کنید، تغییرات را اعمال یا رد کنید و نتایج را با GroupDocs ذخیره کنید. .API مقایسه. علاوه بر این، GroupDocs.Comparison می‌تواند تغییرات استایل و قالب‌بندی را شناسایی کند - مانند پررنگ، مورب، زیر خط‌ها، خطوط خطی، انواع فونت و غیره.

الگوریتم‌های تشخیص تغییرات استفاده شده توسط GroupDocs.Comparison به شما امکان می‌دهد تفاوت‌ها را در بخش‌ها و بلوک‌های سند مختلف شناسایی کنید:

  • بلوک های متن - پاراگراف ها، کلمات و کاراکترها.
  • جداول;
  • تصاویر؛
  • اشکال و غیره

در اینجا مراحل ساده ای برای مقایسه دو فایل متنی و نشان دادن تفاوت ها وجود دارد:

  • نمونه سازی مقایسه کننده شی با مسیر یا جریان سند منبع.
  • روش Add را فراخوانی کنید و مسیر یا جریان سند هدف را مشخص کنید.
  • روش Compare را فراخوانی کنید.

قطعه کد زیر ساده ترین حالت مقایسه اسناد را با استفاده از چند خط کد نشان می دهد.

مقایسه اسناد از فایل محلی

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 امکان اعمال یا حذف تغییرات خاص بین اسناد مبدأ و مقصد و ذخیره سند حاصل با (یا بدون) تغییرات انتخاب شده را فراهم می‌کند.

مراحل زیر برای اعمال/رد تغییرات در سند حاصل آمده است.

  • شیء Comparer را با مسیر یا جریان سند مبدأ، نمونه سازی کنید.
  • روش Add را فراخوانی کنید و مسیر سند هدف یا جریان را مشخص کنید.
  • فراخوانی روش مقایسه.
  • با روش 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 ایجاد کنید.

کلاس PreviewOptions برای مدیریت فرآیند تولید پیش‌نمایش استفاده می‌شود - شماره صفحه مورد نظر، فرمت تصویر و غیره را مشخص کنید.

مراحل زیر برای ایجاد پیش نمایش سند با GroupDocs.Comparison API هستند:

  • یک نمونه جدید از کلاس Comparer ایجاد کنید و مسیر سند منبع را به عنوان پارامتر سازنده ارسال کنید.
  • افزودن سند(های) هدف به مقایسه با استفاده از روش Add.
  • منبع and Targets properties of Comparer object allows to access source and target documents and provides GeneratePreview method;
  • شیء PreviewOptions را با:
    • نماینده برای ایجاد هر جریان صفحه (به مدیریت رویداد CreatePageStream مراجعه کنید).
    • فرمت پیش نمایش تصویر - PNG / JPG / BMP.
    • شماره صفحات برای پردازش؛
    • اندازه سفارشی تصاویر پیش نمایش (در صورت نیاز).
  • روش GeneratePreview سند Source و Targets را فراخوانی کنید و 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 است. لطفاً [مجوز موقت دریافت کنید36 تا کتابخانه را بدون هیچ گونه محدودیت عملکردی آزمایش کنید.

لطفاً مستندات را برای کسب اطلاعات بیشتر در مورد کتابخانه بررسی کنید. ما همچنین پشتیبانی فنی رایگان ارائه می‌دهیم، بنابراین لطفاً با ما تماس بگیرید - خوشحال می‌شویم کمک کنیم.