Upotrijebite naš C++ alat za provjeru razlika u datotekama, usporedite dva dokumenta i vidite razlike između njih jasno prikazane u izlazu. Više ne morate ručno uspoređivati svoje dokumente. Također imajte na umu da se rezultat usporedbe može izvesti u DOCX, PDF, DOC i druge.
Naše rješenje C++ osmišljeno je da vam pruži najbolje moguće rezultate pri korištenju složenog algoritma usporedbe. Dakle, više ne morate ručno tražiti razlike u dokumentima – slobodno upotrijebite naš API za razliku između dvije datoteke.
Naš mehanizam za usporedbu traži razlike na razini znakova ili cijelih riječi. A ako je promijenjen samo jedan znak, cijela će riječ biti istaknuta kao promijenjena. Sve pronađene promjene mogu se jasno vidjeti u izlazu i izvesti u prikladnom formatu.
Najpopularnije vrste usporedbe su usporedbe PDF i Word datoteka. Stoga ćemo na ovim primjerima naučiti naš C++ diff alat i njegovu funkciju usporedbe.
Ponekad se morate uvjeriti da vaš PDF dokument nije izmijenjen i usporediti ga s izvornom verzijom. Ili već znate da se vaš PDF stvarno promijenio, pa morate pogledati gdje i kako. Zatim možete usporediti dvije verzije PDF datoteka i vidjeti razlike. A kako biste izbjegli to raditi ručno, samo upotrijebite naš C++ API za provjeru razlika.
S našim C++ rješenjem, vidjet ćete čak i male promjene koje biste lako mogli propustiti u ručnoj usporedbi.
Word dokumente je prilično lako promijeniti, stoga je važno usporediti Word datoteke kako biste bili sigurni da se dijelovi ili cijeli dokument nisu promijenili.
Za usporedbu Word datoteka upotrijebite naše C++ rješenje, baš kao i s PDF-om. To možete učiniti u primjeru u nastavku.
Da biste vidjeli kako funkcionira naša usporedba dokumenata C++, učitajte dvije datoteke koje želite usporediti i odaberite format datoteke za izvoz.
Nakon dovršetka usporedbe, dokument s razlikom bit će automatski preuzet u formatu koji ste odabrali.
Važno je da dokumenti koji se uspoređuju ne smiju imati nikakve revizije prije usporedbe, stoga moramo prihvatiti sve revizije prije početka usporedbe. Ne brinite, za to smo se pobrinuli u našem primjeru:
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";
// Prenesite dokumente u pohranu u oblaku.
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);
// Usporedi dokumente u oblaku.
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);
// Preuzmite dokument rezultata iz pohrane u oblaku.
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();
}
Klonirajte Aspose.Words Cloud SDK for C++ izvorni kod s GitHuba. Detaljne informacije o izgradnji i konfiguraciji SDK a možete pronaći u odjeljku "How to use the SDK".
Da biste brzo dobili potrebne sigurnosne vjerodajnice i pristupili našem REST API ju, slijedite ove Instructions u dokumentaciji.
Pogledajte Repository Documentation da vidite detalje.