Použijte naši kontrolu rozdílů C++ souborů, porovnejte dva dokumenty a zobrazte rozdíly mezi nimi jasně zobrazené ve výstupu. Již nemusíte porovnávat dokumenty ručně. Všimněte si také, že výsledek porovnání lze exportovat do DOCX formátu, PDF, DOC a dalších.
Naše řešení C++ je navrženo tak, aby vám poskytlo nejlepší možné výsledky při použití složitého srovnávacího algoritmu. Již tedy nemusíte ručně vyhledávat rozdíly v dokumentech – můžete použít naše API k porovnání dvou souborů.
Náš srovnávací modul hledá rozdíly na úrovni znaků nebo celých slov. A pokud byl změněn pouze jeden znak, celé slovo bude zvýrazněno jako změněné. Všechny nalezené změny lze přehledně zobrazit ve výstupu a exportovat ve vhodném formátu.
Nejoblíbenějšími typy porovnávání jsou porovnávání PDF souborů a Word. Proto se na těchto příkladech naučíme náš nástroj C++ diff a jeho porovnávací funkci.
Někdy se potřebujete ujistit, že váš PDF dokument nebyl upraven a porovnat jej s původní verzí. Nebo už víte, že se vaše PDF opravdu změnilo a musíte se podívat, kde a jak. Poté můžete porovnat dvě verze PDF souborů a vidět rozdíly. A abyste to nedělali ručně, použijte naše rozhraní API pro kontrolu rozdílů C++.
S naším řešením C++ uvidíte i malé změny, které byste při ručním srovnání mohli snadno přehlédnout.
Dokumenty aplikace Word lze poměrně snadno změnit, takže je důležité porovnat soubory aplikace Word, abyste se ujistili, že se nezměnily části nebo celý dokument.
Chcete-li porovnat Word soubory, použijte naše řešení C++, stejně jako u PDF. Můžete to udělat v příkladu níže.
Chcete-li vidět, jak funguje naše srovnání dokumentu C++, načtěte dva soubory, které chcete porovnat, a vyberte formát exportovaného souboru.
Po dokončení porovnání se dokument s rozdílem automaticky stáhne ve vámi zvoleném formátu.
Je důležité, že porovnávané dokumenty nesmějí mít před porovnáním žádné revize, takže musíme všechny revize přijmout před zahájením porovnání. Nebojte se, v našem příkladu jsme se 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";
// Nahrání dokumentů do cloudového úložiště.
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);
// Porovnejte dokumenty v cloudu.
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);
// Stažení výsledného dokumentu z cloudového úložiště.
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é informace o sestavení a konfiguraci SDK naleznete v části "How to use the SDK".
Chcete-li rychle získat potřebné bezpečnostní údaje a získat přístup k našemu REST API, postupujte podle těchto Instructions v dokumentaci.
Podrobnosti naleznete v Repository Documentation.