قارن مستندات Word

قارن مستندات Word باستخدام C# .NET

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

REST API لمقارنة المستندات

تعد [Aspose.Words Cloud SDK for .NET] (https://products.aspose.cloud/words/net/) أداة قوية يمكنها مساعدتك في مقارنة مستندات Word بسهولة. من خلال مجموعة الميزات الشاملة ، يمكنك مقارنة وثيقتين أو أكثر ، وتحديد التغييرات والاختلافات بينهما ، وإنشاء تقرير يبرز التغييرات. سواء كنت مطورًا أو مدير مشروع أو محررًا ، يمكن أن تساعدك SDK في تبسيط عملية مقارنة المستندات وتوفير وقتك الثمين.

الآن ، من أجل استخدام SDK ، يرجى البحث عن “Aspose.Words-Cloud” في مدير حزم NuGet وانقر فوق الزر Add Package لإضافة مرجع SDK في مشروع .NET.

قارن مستندات Word في C#

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

// للحصول على أمثلة كاملة وملفات البيانات ، يرجى الانتقال إلى 
https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet

// احصل على بيانات اعتماد العميل من https://dashboard.aspose.cloud/
string clientSecret = "7f098199230fc5f2175d494d48f2077c";
string clientID = "ee170169-ca49-49a4-87b7-0e2ff815ea6e";

// إنشاء كائن التكوين باستخدام ClinetID وتفاصيل Client Secret
var config = new Aspose.Words.Cloud.Sdk.Configuration { ClientId = clientID, ClientSecret = clientSecret };
// تهيئة مثيل WordsApi
var wordsApi = new WordsApi(config);

string firstDocument = "input-sample-1.docx";
string secondDocument = "input-sample-2.docx";
string resultantFile = "Comparison.docx";

// قراءة محتوى مستند Word الأول من محرك الأقراص المحلي
var firstFile = System.IO.File.OpenRead(firstDocument);
// قراءة أول مستند Word من محرك الأقراص المحلي
var secondFile = System.IO.File.OpenRead(secondDocument);
try
{
    // تحميل مستندات Word المدخلة إلى التخزين السحابي
    wordsApi.UploadFile(new UploadFileRequest(firstFile, firstDocument));
    wordsApi.UploadFile(new UploadFileRequest(secondFile, secondDocument));

    CompareData compareData = new CompareData();
    // حدد المستند المراد مقارنته به
    compareData.ComparingWithDocument = secondDocument;
    // تفاصيل المؤلف
    compareData.Author = "Nayer Shahbaz";
    compareData.DateTime = DateTime.Now.Date;
    // تنسيق المستند الناتج
    compareData.ResultDocumentFormat = "DOCX";

    // تعيين خيارات مقارنة المستندات
    CompareOptions options = new CompareOptions()
    {
        IgnoreCaseChanges = true,
        IgnoreFormatting = true,
        IgnoreHeadersAndFooters = true,
        IgnoreFootnotes = true,
        IgnoreComments = true,
        IgnoreTextboxes = true,
        IgnoreTables = true,
        Target = CompareOptions.TargetEnum.Current,
        AcceptAllRevisionsBeforeComparison = true
     };
     compareData.CompareOptions = options

    // قم بإنشاء مثيل من CreateDocument
    CompareDocumentRequest compare = new CompareDocumentRequest();
    compare.CompareData = compareData;
    compare.Name = firstDocument;
    // اسم الملف الناتج
    compare.DestFileName = resultantFile;
    
    // بدء عملية مقارنة المستندات
    wordsApi.CompareDocument(compare);
}
catch(Exception ex)
{
    // تحميل أي ملف استثناء duirng إلى التخزين السحابي
    Console.Write(ex.StackTrace);
}
// create configuration object using ClientID and Client Secret details
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };
// initialize WordsApi instance
var wordsApi = new WordsApi(config);

قم بإنشاء مثيل WordsApi باستخدام بيانات اعتماد العميل.

// read the content of first Word document from local drive
var firstFile = System.IO.File.OpenRead(firstDocument);
wordsApi.UploadFile(new UploadFileRequest(firstFile, firstDocument));

اقرأ محتوى مستند Word المُدخل وتحميله إلى التخزين السحابي.

CompareData compareData = new CompareData();
compareData.ComparingWithDocument = secondDocument;
compareData.Author = "Nayyer Shahbaz";
compareData.DateTime = DateTime.Now.Date;
compareData.ResultDocumentFormat = "DOCX";

قم بإنشاء مثيل لكائن CompareData حيث نحدد اسم المستند المراد مقارنته وتفاصيل المؤلف ومعلومات التاريخ والوقت وتنسيق المستند الناتج.

CompareOptions options = new CompareOptions()
{
    IgnoreCaseChanges = true,
    IgnoreFormatting = true,
    IgnoreHeadersAndFooters = true,
    IgnoreFootnotes = true,
    IgnoreComments = true,
    IgnoreTextboxes = true,
    IgnoreTables = true,
    Target = CompareOptions.TargetEnum.Current,
    AcceptAllRevisionsBeforeComparison = true
};
compareData.CompareOptions = options;

قم بإنشاء مثيل CompareOptions حيث نحدد خيارات المقارنة المختلفة.

CompareDocumentRequest compare = new CompareDocumentRequest();
compare.CompareData = compareData;
compare.Name = firstDocument;
compare.DestFileName = resultantFile;

حدد مثيل CompareData واسم مستند Word المصدر واسم ملف الإخراج الذي يحتوي على نتيجة المقارنة.

wordsApi.CompareDocument(compare);

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

قارن بين وثيقتين باستخدام أوامر cURL

لقد ناقشنا أن مقارنة مستندات Word يمكن أن تكون مهمة صعبة وتستغرق وقتًا طويلاً ، خاصة عند التعامل مع ملفات متعددة أو تنسيق معقد. لحسن الحظ ، توفر أوامر Aspose.Words Cloud و cURL حلاً قويًا لمقارنة مستندات Word بسرعة وسهولة. يمكننا مقارنة وثيقتين أو أكثر ، وتتبع التغييرات ، وإنشاء تقرير مفصل يبرز الاختلافات بين المستندات.

الآن ، يرجى تنفيذ الأمر التالي لإنشاء رمز وصول إلى JWT استنادًا إلى معرف العميل وتفاصيل سر العميل.

curl -v "https://api.aspose.cloud/connect/token" \
 -X POST \
 -d "grant_type=client_credentials&client_id=a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4&client_secret=d87269aade6a46cdc295b711e26809af" \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Accept: application/json"

بمجرد إنشاء رمز JWT المميز ، يرجى تنفيذ الأمر التالي لمقارنة مستندين من مستندات Word عبر الإنترنت وحفظ الملف الناتج في التخزين السحابي.

curl -v "https://api.aspose.cloud/v4.0/words/{sourceFirst}/compareDocument?destFileName={differenceFile}" \
-X PUT \
-H  "accept: application/json" \
-H  "Authorization: Bearer {accessToken}" \
-H  "Content-Type: application/json" \
-d "{\"ComparingWithDocument\":\"input-sample-2.docx\",\"Author\":\"Nayyer Shahbaz\",\"DateTime\":\"2023-04-23T06:02:29.481Z\",\"CompareOptions\":{\"IgnoreCaseChanges\":true,\"IgnoreTables\":true,\"IgnoreFields\":true,\"IgnoreFootnotes\":true,\"IgnoreComments\":true,\"IgnoreTextboxes\":true,\"IgnoreFormatting\":true,\"IgnoreHeadersAndFooters\":true,\"Target\":\"Current\",\"AcceptAllRevisionsBeforeComparison\":true},\"ResultDocumentFormat\":\"docx\"}"

استبدل “{sourceFirst}” باسم مستند Word الإدخال (موجود في التخزين السحابي) ، و “{accessToken}” برمز وصول JWT الذي تم إنشاؤه أعلاه و “{differentFile}” باسم مستند Word الناتج الذي يبرز اختلاف المقارنة .

مقارنة وثيقة كلمة

صورة: - معاينة مقارنة مستندات Word باستخدام .NET REST API.

خاتمة

في الختام ، يمكن أن تكون مقارنة مستندات Word مهمة شاقة ، ولكن بمساعدة أوامر Aspose.Words Cloud و cURL أو .NET Cloud SDK القوي ، لديك حل قوي تحت تصرفك. سواء كنت تفضل العمل مع C# .NET أو تفضل استخدام أدوات سطر الأوامر مثل cURL ، تقدم Aspose.Words Cloud مجموعة من الخيارات لمقارنة مستندين أو أكثر ، وتتبع التغييرات ، وإنشاء تقارير مفصلة. بفضل ميزاته المرنة والقابلة للتخصيص ، فهو مورد أساسي لأي شخص يعمل مع مستندات Word بشكل منتظم. فلماذا لا تجربها ونرى كيف يمكن أن تساعدك على تبسيط عملية مقارنة المستندات الخاصة بك.

روابط مفيدة

مقالات ذات صلة

نوصي بشدة بالاطلاع على المدونات التالية: