قارن ملفات Word أو PDF باستخدام C++ SDK

مكتبة C++ قوية لمقارنة الملفات بتنسيقات PDF, Word, HTML, TXT, MD وتنسيقات أخرى

استخدم C++ مدقق اختلاف الملفات الخاص بنا، وقارن بين مستندين ولاحظ الاختلافات بينهما موضحة بوضوح في الإخراج. لم تعد بحاجة إلى مقارنة مستنداتك يدويًا. لاحظ أيضًا أنه يمكن تصدير نتيجة المقارنة إلى DOCX, PDF, DOC وغيرها.

عرض مقتطف الكود

مقارنة ملفين في C++

تم تصميم حل C++ الخاص بنا ليمنحك أفضل النتائج الممكنة عند استخدام خوارزمية مقارنة معقدة. لذلك، لم تعد بحاجة إلى البحث يدويًا عن الاختلافات في المستندات - فلا تتردد في استخدام واجهة برمجة التطبيقات الخاصة بنا للفرق بين ملفين.

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

أشهر أنواع المقارنة هي مقارنة ملفات PDF وWord. لذلك، سوف نتعرف على أداة C++ diff ووظيفة المقارنة الخاصة بها باستخدام هذه الأمثلة.

قارن ملف PDF في C++

في بعض الأحيان تحتاج إلى التأكد من عدم تعديل مستند PDF الخاص بك ومقارنته بالإصدار الأصلي. أو أنك تعلم بالفعل أن ملف PDF الخاص بك قد تغير بالفعل، وتحتاج إلى البحث أين وكيف. ثم يمكنك مقارنة نسختين من ملفات PDF ورؤية الاختلافات. ولتجنب القيام بذلك يدويًا، ما عليك سوى استخدام C++ diff checker API الخاص بنا.

مع حل C++ الخاص بنا، سترى حتى التغييرات الصغيرة التي يمكن أن تفوتها بسهولة في المقارنة اليدوية.

قارن بين مستندين Word باستخدام C++

من السهل جدًا تغيير مستندات Word، لذلك من المهم مقارنة ملفات Word للتأكد من عدم تغيير أجزاء من المستند أو المستند بأكمله.

لمقارنة ملفات Word، استخدم حل C++ الخاص بنا، تمامًا كما هو الحال مع PDF. يمكنك القيام بذلك في المثال أدناه.

قارن بين وثيقتين

لمعرفة كيفية عمل مقارنة مستند C++، قم بتحميل ملفين تريد مقارنتهما واختر تنسيق ملف التصدير.

بعد اكتمال المقارنة، سيتم تنزيل المستند الذي يحتوي على الاختلاف تلقائيًا بالتنسيق الذي حددته.

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

قم بتحميل الملف المقارن
قم بتشغيل الكود
قم بتحميل الملف الثاني للمقارنة
حدد التنسيق الهدف من القائمة
using namespace aspose::words::cloud;

auto config =
    std::make_shared<ApiConfiguration>(L"####-####-####-####-####", L"##################");
auto wordsApi = std::make_shared<WordsApi>(config);

std::wstring fileName1 = L"Input1.docx";
std::wstring fileName2 = L"Input2.docx";
std::wstring fileResult = L"Output.docx";

//  تحميل المستندات إلى التخزين السحابي.
auto firstDocumentContent =
    std::shared_ptr<std::istream>(
	new std::ifstream(std::filesystem::path(fileName1), std::istream::binary));
std::shared_ptr<requests::UploadFileRequest> uploadFirstFileRequest(
    new requests::UploadFileRequest(
        firstDocumentContent, std::make_shared<std::wstring>(fileName1)
    )
);
wordsApi->uploadFile(uploadFirstFileRequest);

auto secondDocumentContent =
    std::shared_ptr<std::istream>(
	new std::ifstream(std::filesystem::path(fileName2), std::istream::binary));
std::shared_ptr<requests::UploadFileRequest> uploadSecondFileRequest(
    new requests::UploadFileRequest(
        secondDocumentContent, std::make_shared<std::wstring>(fileName2)
    )
);
wordsApi->uploadFile(uploadSecondFileRequest);

//  قارن المستندات في السحابة.
auto compareDataOptions = std::make_shared<aspose::words::cloud::models::CompareData>();
compareDataOptions->setAuthor(std::make_shared<std::wstring>(L"author"));
compareDataOptions->setFileReference(
   std::make_shared<aspose::words::cloud::models::FileReference>(
      std::make_shared<std::wstring>(fileName2));
std::shared_ptr<requests::CompareDocumentRequest> compareDocumentRequest(
    new requests::CompareDocumentRequest(
        std::make_shared<std::wstring>(fileName1),
		compareDataOptions, std::make_shared<std::wstring>(fileResult)
    )
);
wordsApi->compareDocument(compareDocumentRequest);

//  تنزيل مستند النتيجة من التخزين السحابي.
std::shared_ptr<requests::DownloadFileRequest> downloadFileRequest(
    new requests::DownloadFileRequest(
        std::make_shared<std::wstring>(fileResult)
    )
);
auto downloadFileResult = wordsApi->downloadFile(downloadFileRequest);
{
    char buffer[1024];
    std::ofstream fileWriter(fileResult, std::ofstream::binary);
    const auto& fileData = *downloadFileResult->begin();
    while(fileData.second->read(buffer, sizeof(buffer))) {
        fileWriter.write(buffer, sizeof(buffer));
    }
    fileWriter.write(buffer, fileData.second->gcount());
    fileWriter.close();
}
قم بتشغيل الكود
  
انسخ الرمز C++ إلى الحافظة

كيفية مقارنة نسختين من الملف

  1. ثبّت Aspose.Words Cloud for C++
  2. أضف مرجع مكتبة (استيراد المكتبة) إلى مشروع C++ الخاص بك
  3. تحميل وثيقتين للمقارنة
  4. اتصل compareDocument() لمقارنة مستندين
  5. قم بتنزيل المستند الناتج من التخزين السحابي

مكتبة C++ لاستخدامها في المقارنة

استنساخ Aspose.Words Cloud SDK for C++ من GitHub. يمكنك العثور على معلومات مفصلة حول إنشاء وتكوين SDK في قسم "How to use the SDK".

للحصول بسرعة على بيانات اعتماد الأمان الضرورية والوصول إلى REST API، يرجى اتباع هذه Instructions في الوثائق.

متطلبات النظام

الرجوع إلى Repository Documentation لمعرفة التفاصيل.

التنسيقات الأكثر شيوعًا لعمليات المقارنة

5%

اشترك في Aspose Product Updates

احصل على رسائل إخبارية وعروض شهرية يتم تسليمها مباشرة إلى صندوق البريد الخاص بك.

© Aspose Pty Ltd 2001-2024. كل الحقوق محفوظة.