استخدم C++ مدقق اختلاف الملفات الخاص بنا، وقارن بين مستندين ولاحظ الاختلافات بينهما موضحة بوضوح في الإخراج. لم تعد بحاجة إلى مقارنة مستنداتك يدويًا. لاحظ أيضًا أنه يمكن تصدير نتيجة المقارنة إلى DOCX, PDF, DOC وغيرها.
تم تصميم حل C++ الخاص بنا ليمنحك أفضل النتائج الممكنة عند استخدام خوارزمية مقارنة معقدة. لذلك، لم تعد بحاجة إلى البحث يدويًا عن الاختلافات في المستندات - فلا تتردد في استخدام واجهة برمجة التطبيقات الخاصة بنا للفرق بين ملفين.
يبحث محرك المقارنة الخاص بنا عن الاختلافات على مستوى الأحرف أو الكلمات بأكملها. وإذا تم تغيير حرف واحد فقط، فسيتم تمييز الكلمة بأكملها على أنها تم تغييرها. يمكن عرض جميع التغييرات التي تم العثور عليها بوضوح في الإخراج وتصديرها بتنسيق مناسب.
أشهر أنواع المقارنة هي مقارنة ملفات PDF وWord. لذلك، سوف نتعرف على أداة C++ diff ووظيفة المقارنة الخاصة بها باستخدام هذه الأمثلة.
في بعض الأحيان تحتاج إلى التأكد من عدم تعديل مستند PDF الخاص بك ومقارنته بالإصدار الأصلي. أو أنك تعلم بالفعل أن ملف PDF الخاص بك قد تغير بالفعل، وتحتاج إلى البحث أين وكيف. ثم يمكنك مقارنة نسختين من ملفات PDF ورؤية الاختلافات. ولتجنب القيام بذلك يدويًا، ما عليك سوى استخدام C++ diff checker API الخاص بنا.
مع حل 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();
}
استنساخ Aspose.Words Cloud SDK for C++ من GitHub. يمكنك العثور على معلومات مفصلة حول إنشاء وتكوين SDK في قسم "How to use the SDK".
للحصول بسرعة على بيانات اعتماد الأمان الضرورية والوصول إلى REST API، يرجى اتباع هذه Instructions في الوثائق.
الرجوع إلى Repository Documentation لمعرفة التفاصيل.