اسناد پردازش متن رایج ترین روش برای پیش نویس قراردادها، توافق نامه ها، اوراق و بسیاری از اسناد رسمی دیگر است. اگر نیاز به مقایسه و ادغام دو سند Word دارید، درست مانند گزینه تغییرات مسیر Microsoft Word، ما می توانیم این کار را به صورت برنامه نویسی در برنامه های NET خود انجام دهیم. در این مقاله، نحوه مقایسه دو سند Word و برجسته کردن تفاوت های شناسایی شده با استفاده از C# را مورد بحث قرار خواهیم داد. علاوه بر این، نحوه مقایسه اسناد محافظت شده با رمز عبور، پذیرش و رد تغییرات، و مقایسه بیش از دو سند با مثال های C# را بررسی خواهیم کرد.

برای یافتن تفاوت ها با استفاده از NET API، اسناد Word را مقایسه کنید

در اینجا موضوعات زیر مورد بحث قرار می گیرد:

NET API برای مقایسه اسناد Word

GroupDocs.Comparison یک API .NET ارائه می دهد که به [مقایسه و سپس ادغام اسناد مختلف از چندین فرمت فایل] در برنامه .NET اجازه می دهد. من از .NET API آن یعنی GroupDocs.Comparison برای NET برای مقایسه اسناد Word استفاده خواهم کرد.

می‌توانید نصب‌کننده DLL یا MSI را از بخش دانلودها دانلود کنید یا از طریق NuGet API را در برنامه دات‌نت خود نصب کنید.

PM> Install-Package GroupDocs.Comparison

مقایسه اسناد Word با استفاده از C#

اگر دو نسخه از یک سند دارید، می توانید اسناد را با هم مقایسه کنید تا تفاوت های آنها (اضافه ها، حذف ها) را بیابید و یک سند جدید ایجاد کنید که تمام تغییرات را نشان دهد. مراحل زیر برای مقایسه هر دو سند Word و برجسته کردن تفاوت‌ها آمده است.

  • اولین سند Word را با استفاده از کلاس Comparer بارگیری کنید.
  • فایل دوم را با استفاده از روش Add() به Comparer اضافه کنید.
  • مقایسه کنید و با فراخوانی روش Compare() خلاصه تغییرات را دریافت کنید.

کد C# زیر نحوه مقایسه اسناد Word و دریافت تغییرات در سند حاصل را نشان می دهد.

/*
 * مقایسه دو سند Word و تغییرات برجسته با استفاده از 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 آمده است.

  • سند منبع را بارگیری کنید و با استفاده از کلاس Comparer سند(های) Word هدف را اضافه کنید.
  • مقایسه اسناد بارگذاری شده را با استفاده از روش Compare() انجام دهید.
  • تغییرات شناسایی شده را با استفاده از روش 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() سند(های) دیگر را به Comparer اضافه کنید.
  • برای دریافت تغییرات و خلاصه تغییرات، متد Compare() را فراخوانی کنید.

کد C# زیر نحوه مقایسه بیش از دو سند Word و دریافت تغییرات در سند حاصل را نشان می دهد.

/*
 * مقایسه چند سند ورد با استفاده از سی شارپ
 */
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# مقایسه کنیم.

  • با ارائه رمز عبور، گزینه های بارگیری اسناد منبع و مقصد را آماده کنید.
  • سند منبع را با استفاده از کلاس Comparer بارگیری کنید.
  • سند مورد نظر را با استفاده از گزینه های بارگیری آماده شده به Comparer اضافه کنید.
  • با فراخوانی روش Compare() خلاصه تفاوت ها را دریافت کنید.

مثال کد 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 رایگان دریافت کنید

برای استفاده از API بدون محدودیت ارزیابی، می توانید [یک مجوز موقت رایگان دریافت کنید].

نتیجه

برای نتیجه گیری، ما یاد گرفتیم که دو یا چند سند Word را با استفاده از C# مقایسه کنیم. علاوه بر این، پس از برجسته کردن تفاوت ها، یاد گرفتیم که تغییرات شناسایی شده را به صورت برنامه ای بپذیریم و رد کنیم. در پایان، ما همچنین بحث کردیم که چگونه می توانیم اسناد Word محافظت شده با رمز عبور را در برنامه های NET مقایسه کنیم.

بسیاری دیگر [سفارشی‌سازی‌ها برای کنترل نتایج مقایسه25 وجود دارد، مانند تنظیم حساسیت مقایسه، نشان دادن تنها صفحه خلاصه، نادیده گرفتن شکاف‌ها و موارد دیگر. درباره GroupDocs.Comparison for .NET بیشتر بیاموزید. برای شروع ساختن برنامه های کاربردی مقایسه اسناد خود برای [فرمت های سند پشتیبانی شده] مختلف، از اسناد آن بازدید کنید. برای سؤالات، از طریق [فروم 28 با ما تماس بگیرید.

همچنین ببینید