Použite našu kontrolu rozdielov medzi C++ súbormi, porovnajte dva dokumenty a zobrazte rozdiely medzi nimi jasne zobrazené vo výstupe. Dokumenty už nemusíte porovnávať manuálne. Upozorňujeme tiež, že výsledok porovnania je možné exportovať do DOCX, PDF, DOC a ďalších.
Naše riešenie C++ je navrhnuté tak, aby vám pri použití komplexného porovnávacieho algoritmu poskytovalo najlepšie možné výsledky. Takže už nemusíte manuálne vyhľadávať rozdiely v dokumentoch – na porovnanie dvoch súborov môžete použiť naše API.
Náš porovnávací nástroj hľadá rozdiely na úrovni znakov alebo celých slov. A ak sa zmenil iba jeden znak, celé slovo sa zvýrazní ako zmenené. Všetky nájdené zmeny je možné prehľadne zobraziť vo výstupe a exportovať vo vhodnom formáte.
Najpopulárnejšie typy porovnávania sú porovnávanie PDF súborov a Word. Preto sa na týchto príkladoch naučíme náš nástroj C++ diff a jeho porovnávaciu funkciu.
Niekedy sa potrebujete uistiť, že váš PDF dokument nebol upravený a porovnať ho s pôvodnou verziou. Alebo už viete, že váš PDF sa skutočne zmenil a musíte sa pozrieť, kde a ako. Potom môžete porovnať dve verzie PDF súborov a vidieť rozdiely. A aby ste to nerobili manuálne, stačí použiť naše API na kontrolu rozdielov C++.
S naším riešením C++ uvidíte aj malé zmeny, ktoré by ste pri manuálnom porovnaní mohli ľahko prehliadnuť.
Dokumenty programu Word sa menia pomerne jednoducho, preto je dôležité porovnať súbory programu Word, aby ste sa uistili, že sa nezmenili časti alebo celý dokument.
Ak chcete porovnať súbory programu Word, použite naše riešenie C++, rovnako ako v prípade PDF. Môžete to urobiť v príklade nižšie.
Ak chcete vidieť, ako funguje porovnanie nášho dokumentu C++, načítajte dva súbory, ktoré chcete porovnať, a vyberte formát exportovaného súboru.
Po dokončení porovnania sa dokument s rozdielom automaticky stiahne vo vami zvolenom formáte.
Je dôležité, že porovnávané dokumenty nesmú mať pred porovnávaním žiadne revízie, takže musíme akceptovať všetky revízie pred začiatkom porovnávania. Nebojte sa, v našom príklade sme sa o to postarali:
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";
// Nahrajte dokumenty do cloudového úložiska.
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);
// Porovnanie dokumentov v cloude.
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);
// Stiahnite si výsledný dokument z cloudového úložiska.
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();
}
Clone Aspose.Words Cloud SDK for C++ z GitHubu. Podrobné informácie o zostavovaní a konfigurácii SDK nájdete v časti "How to use the SDK".
Ak chcete rýchlo získať potrebné bezpečnostné poverenia a získať prístup k nášmu REST API, postupujte podľa týchto Instructions v dokumentácii.
Podrobnosti nájdete v Repository Documentation.