Naudokite mūsų C++ failų skirtumų tikrintuvą, palyginkite du dokumentus ir pamatykite jų skirtumus, aiškiai parodytus išvestyje. Jums nebereikia lyginti dokumentų rankiniu būdu. Taip pat atkreipkite dėmesį, kad palyginimo rezultatą galima eksportuoti į DOCX, PDF, DOC ir kt.
Mūsų C++ sprendimas sukurtas taip, kad naudojant sudėtingą palyginimo algoritmą gautumėte geriausius įmanomus rezultatus. Taigi, jums nebereikia rankiniu būdu ieškoti dokumentų skirtumų – nedvejodami naudokite mūsų API, kad atskirtumėte du failus.
Mūsų palyginimo variklis ieško skirtumų simbolių ar ištisų žodžių lygyje. Ir jei buvo pakeistas tik vienas simbolis, visas žodis bus paryškintas kaip pakeistas. Visus rastus pakeitimus galima aiškiai peržiūrėti išvestyje ir eksportuoti patogiu formatu.
Populiariausi palyginimo tipai yra PDF ir Word failų palyginimas. Todėl mes išmoksime mūsų C++ diff įrankį ir jo palyginimo funkciją naudodami šiuos pavyzdžius.
Kartais reikia įsitikinti, kad PDF dokumentas nebuvo pakeistas, ir palyginti jį su originalia versija. Arba jau žinote, kad jūsų PDF tikrai pasikeitė, ir jums reikia ieškoti, kur ir kaip. Tada galite palyginti dvi PDF failų versijas ir pamatyti skirtumus. Ir norėdami to nedaryti rankiniu būdu, tiesiog naudokite mūsų C++ skirtumų tikrinimo API.
Naudodami C++ sprendimą pamatysite net nedidelius pakeitimus, kuriuos galite lengvai praleisti palygindami rankiniu būdu.
"Word" dokumentus gana lengva pakeisti, todėl svarbu palyginti "Word" failus, kad įsitikintumėte, jog dalys ar visas dokumentas nepasikeitė.
Norėdami palyginti Word failus, naudokite mūsų C++ sprendimą, kaip ir PDF. Tai galite padaryti toliau pateiktame pavyzdyje.
Norėdami pamatyti, kaip veikia mūsų C++ dokumento palyginimas, įkelkite du failus, kuriuos norite palyginti, ir pasirinkite eksporto failo formatą.
Baigus palyginimą, dokumentas su skirtumu bus automatiškai atsisiunčiamas jūsų pasirinktu formatu.
Svarbu, kad lyginamuose dokumentuose prieš palyginimą nebūtų jokių pataisymų, todėl prieš pradedant palyginimą turime priimti visas pataisas. Nesijaudinkite, mes tuo pasirūpinome savo pavyzdyje:
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";
// Įkelkite dokumentus į debesies saugyklą.
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);
// Palyginkite dokumentus debesyje.
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);
// Atsisiųskite rezultatų dokumentą iš debesies saugyklos.
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++ šaltinio kodui iš GitHub. Išsamią informaciją apie SDK kūrimą ir konfigūravimą rasite skiltyje "How to use the SDK".
Norėdami greitai gauti reikiamus saugos kredencialus ir pasiekti mūsų REST API, vadovaukitės šiomis dokumentacijoje pateiktomis Instructions.
Išsamią informaciją rasite Repository Documentation.