از بررسی کننده تفاوت فایل C++ ما استفاده کنید، دو سند را مقایسه کنید و تفاوت بین آنها را به وضوح در خروجی مشاهده کنید. دیگر نیازی به مقایسه اسناد خود به صورت دستی ندارید. همچنین توجه داشته باشید که نتیجه مقایسه را می توان به DOCX, PDF, DOC و موارد دیگر صادر کرد.
راه حل C++ ما برای ارائه بهترین نتایج ممکن هنگام استفاده از یک الگوریتم مقایسه پیچیده طراحی شده است. بنابراین، دیگر نیازی به جستجوی دستی تفاوت در اسناد ندارید - از API ما برای تفاوت دو فایل استفاده کنید.
موتور مقایسه ما به دنبال تفاوت در سطح کاراکترها یا کل کلمات است. و اگر فقط یک کاراکتر تغییر کرده باشد، کل کلمه به عنوان تغییر یافته برجسته می شود. همه تغییرات یافت شده را می توان به وضوح در خروجی مشاهده کرد و در یک قالب مناسب صادر کرد.
محبوب ترین انواع مقایسه، مقایسه فایل های PDF و Word است. بنابراین، با استفاده از این مثالها ابزار تفاوت C++ و عملکرد مقایسه آن را یاد میگیریم.
گاهی اوقات باید مطمئن شوید که سند 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 مراجعه کنید.