Використовуйте наш інструмент перевірки відмінностей C++ файлів, порівняйте два документи та подивіться, як відмінності між ними чітко відображаються у результатах. Вам більше не потрібно порівнювати документи вручну. Також зауважте, що результат порівняння можна експортувати в DOCX, PDF, DOC та інші.
Наше рішення C++ розроблено, щоб дати вам найкращі можливі результати при використанні складного алгоритму порівняння. Отже, вам більше не потрібно вручну шукати відмінності в документах – сміливо використовуйте наш API, щоб відрізняти два файли.
Наша система порівняння шукає відмінності на рівні символів або цілих слів. І якщо було змінено лише один символ, усе слово буде виділено як змінене. Усі знайдені зміни можна чітко переглянути на виході та експортувати у зручному форматі.
Найпопулярнішими типами порівняння є порівняння PDF файлів і Word. Тому ми вивчимо наш інструмент C++ diff і його функцію порівняння на цих прикладах.
Іноді потрібно переконатися, що PDF-документ не змінено, і порівняти його з оригінальною версією. Або ви вже знаєте, що ваш PDF дійсно змінився, і вам потрібно шукати, де і як. Тоді ви зможете порівняти дві версії PDF-файлів і побачити відмінності. А щоб не робити це вручну, просто скористайтеся нашим API перевірки відмінностей C++.
З нашим рішенням C++ ви побачите навіть невеликі зміни, які легко можете пропустити під час порівняння вручну.
Документи Word досить легко змінити, тому важливо порівняти Word файли, щоб переконатися, що частина або весь документ не змінилися.
Щоб порівняти Word файли, скористайтеся нашим рішенням C++, як і PDF. Це можна зробити в прикладі нижче.
Щоб побачити, як працює наше порівняння документів C++, завантажте два файли, які потрібно порівняти, і виберіть формат експортованого файлу.
Після завершення порівняння документ із різницею буде автоматично завантажено у вибраному форматі.
Важливо, щоб документи, які порівнюються, не мали жодних редакцій перед порівнянням, тому нам потрібно прийняти всі редакції до початку порівняння. Не хвилюйтеся, ми подбали про це в нашому прикладі:
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";
// Завантаження документів у хмарне сховище.
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);
// Порівняти документи в хмарі.
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);
// Завантажити документ результату з хмарного сховища.
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++ з GitHub. Детальну інформацію про створення та налаштування SDK можна знайти в розділі "How to use the SDK".
Щоб швидко отримати необхідні облікові дані безпеки та отримати доступ до нашого REST API, дотримуйтесь цих Instructions у документації.
Зверніться до Repository Documentation, щоб побачити деталі.