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

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

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

NET API برای مقایسه فایل های PDF

GroupDocs.Comparison for.NET API است که امکان مقایسه بین چندین سند PDF و بسیاری از فایل‌های دیگر با فرمت سند مشابه را در برنامه‌های NET فراهم می‌کند. من از این API در نمونه های کد C# این مقاله برای مقایسه اسناد PDF استفاده خواهم کرد.

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

PM> Install-Package GroupDocs.Comparison

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

اگر چندین نسخه از یک سند PDF دارید، می توانید این فایل ها را با هم مقایسه کنید تا تفاوت ها (اضافه ها، حذف ها) را بیابید. پس از مقایسه محتوای PDF، می توانید یک سند جدید ایجاد کنید که تمام تغییرات شناسایی شده را برجسته می کند. مراحل زیر برای مقایسه دو سند PDF و برجسته کردن تفاوت ها با استفاده از C# است.

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

قطعه کد C# زیر نحوه مقایسه اسناد PDF و برجسته کردن تغییرات در سند حاصل را نشان می دهد.

/*
 * مقایسه دو سند PDF و تغییرات برجسته با استفاده از C#
 */
using (Comparer comparer = new Comparer(@"path/document-ver1.pdf"))
{
    comparer.Add(@"path/document-ver2.pdf");
    comparer.Compare(@"path/compared-result.pdf");
}

پذیرش یا رد تغییرات شناسایی شده در فایل های PDF با استفاده از C#

درست مانند تغییر ویژگی‌های آهنگ، شما می‌توانید هر تغییر شناسایی شده در اسناد PDF را به صورت برنامه‌نویسی بپذیرید یا رد کنید. مراحل زیر نحوه مقایسه و سپس پذیرش یا رد تغییرات شناسایی شده در اسناد PDF را نشان می دهد.

  • فایل های PDF منبع و هدف را با استفاده از کلاس Comparer بارگیری کنید.
  • اسناد بارگذاری شده را با استفاده از روش Compare() مقایسه کنید.
  • تغییرات شناسایی شده را با استفاده از روش GetChanges() دریافت کنید.
  • اکنون تغییرات را طی کنید و ComparisonAction را تنظیم کنید.
    • پذیرش یا رد را برای هر تغییر انتخاب کنید.
  • برای دریافت سند حاصل با تغییرات پذیرفته شده، متد ApplyChanges() را فراخوانی کنید.

قطعه کد زیر دو سند PDF را با هم مقایسه می کند و سپس یک تغییر شناسایی شده را می پذیرد و سپس یکی دیگر را با استفاده از C# رد می کند.

/*
 * پذیرش و رد تغییرات شناسایی شده با مقایسه اسناد PDF با استفاده از C#
 */
using (Comparer comparer = new Comparer(@"path/document-1.pdf"))
{
    comparer.Add(@"path/document-2.pdf");
    comparer.Compare();
    ChangeInfo[] changes = comparer.GetChanges();
    
    // رد اولین تغییر شناسایی شده و به سند نتیجه اضافه نخواهد شد
    changes[0].ComparisonAction = ComparisonAction.Reject;
    comparer.ApplyChanges(@"path/rejected-change-result.pdf", new ApplyChangeOptions { Changes = changes, SaveOriginalState = true });

    changes = comparer.GetChanges();
    changes[0].ComparisonAction = ComparisonAction.Accept;
    comparer.ApplyChanges(@"path/accepted-change-result.pdf", new ApplyChangeOptions { Changes = changes });
}

مقایسه بیش از دو فایل PDF با استفاده از C#

به طور مشابه، می توانید بیش از دو سند را با هم مقایسه کنید. در زیر مراحلی وجود دارد که چندین سند PDF را برای تفاوت‌ها مقایسه می‌کنند و تغییرات شناسایی‌شده را برجسته می‌کنند.

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

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

/*
 * مقایسه چندین سند PDF با استفاده از C#
 */
using (Comparer comparer = new Comparer(@"path/document-1.pdf"))
{
    comparer.Add(@"path/document-2.pdf");
    comparer.Add(@"path/document-3.pdf");
    comparer.Add(@"path/document-4.pdf");

    comparer.Compare(@"path/compare-result.pdf");
}

مقایسه اسناد PDF محافظت شده با رمز عبور با استفاده از C#

شما می توانید فایل های محافظت شده با رمز عبور را تنها با ارائه رمز عبور آنها در حین بارگیری این اسناد مقایسه کنید. مراحل زیر نشان می دهد که چگونه می توانیم محتوای PDF اسناد محافظت شده با رمز عبور را با استفاده از C# مقایسه کنیم.

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

مثال زیر دو فایل PDF محافظت شده با رمز عبور را مقایسه می کند و تفاوت های شناسایی شده را در یک سند جداگانه با استفاده از C# برجسته می کند.

/*
 * مقایسه اسناد PDF محافظت شده با رمز عبور با استفاده از C#
 */
using (Comparer comparer = new Comparer(@"path/protected-document-1.pdf", new LoadOptions(){ Password = "SourceFilePassword" }))
{
    comparer.Add(@"path/protected-document-2.pdf", new LoadOptions() { Password = "TargetFilePassword" });
    comparer.Compare(@"path/compared-protected-docs-result.pdf");
}

مجوز API رایگان دریافت کنید

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

نتیجه

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

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

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