Använd vår C++ filskillnadskontroll, jämför två dokument och se skillnaderna mellan dem tydligt i utdata. Du behöver inte längre jämföra dina dokument manuellt. Observera också att jämförelseresultatet kan exporteras till en DOCX, PDF, DOC och andra.
Vår C++-lösning är designad för att ge dig bästa möjliga resultat när du använder en komplex jämförelsealgoritm. Så du behöver inte längre leta upp skillnader i dokument manuellt – använd gärna vårt API för att skilja mellan två filer.
Vår jämförelsemotor letar efter skillnader på nivån för tecken eller hela ord. Och om bara ett tecken ändrades kommer hela ordet att markeras som ändrat. Alla hittade ändringar kan tydligt ses i utdata och exporteras i ett bekvämt format.
De mest populära typerna av jämförelse är att jämföra PDF- och Word-filer. Därför kommer vi att lära oss vårt C++ diff-verktyg och dess jämförelsefunktion med hjälp av dessa exempel.
Ibland måste du se till att ditt PDF-dokument inte har ändrats och jämföra det med originalversionen. Eller så vet du redan att din PDF verkligen har förändrats, och du måste titta var och hur. Sedan kan du jämföra två versioner av PDF-filer och se skillnaderna. Och för att undvika att göra det manuellt, använd bara vårt C++ diff checker API.
Med vår C++-lösning ser du även små ändringar som du lätt kan missa i en manuell jämförelse.
Word-dokument är ganska lätta att ändra, så det är viktigt att jämföra Word-filer för att säkerställa att delar eller hela dokumentet inte har ändrats.
För att jämföra Word-filer, använd vår C++-lösning, precis som med PDF. Du kan göra detta i exemplet nedan.
För att se hur vår C++-dokumentjämförelse fungerar, ladda två filer du vill jämföra och välj ett exportfilformat.
Efter att jämförelsen är klar kommer dokumentet med skillnaden att laddas ner automatiskt i det format du valt.
Det är viktigt att de dokument som jämförs inte får ha några revideringar innan jämförelsen, så vi måste acceptera alla revisioner innan jämförelsen startar. Oroa dig inte, vi har tagit hand om det i vårt exempel:
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";
// Ladda upp dokument till molnlagring.
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);
// Jämför dokument i molnet.
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);
// Ladda ner resultatdokument från molnlagring.
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++ källkod från GitHub. Du kan hitta detaljerad information om att bygga och konfigurera SDK:n i avsnittet "How to use the SDK".
För att snabbt få nödvändiga säkerhetsuppgifter och få tillgång till vårt REST API, följ dessa Instructions i dokumentationen.
Se Repository Documentation för att se detaljerna.