Сравнить Word или PDF файлы с помощью C++ SDK

C++ библиотека для сравнения PDF, Word, HTML, TXT, MD и других файловых форматов.

Воспользуйтесь C++ для проверки различий в файлах, сравните два документа и просмотрите различия между ними, показанные в результатах. Вам больше не нужно сравнивать документы визуально. Обратите внимание, что результат сравнения можно экспортировать в DOCX форматы, PDF, DOC и др.

Посмотреть фрагмент кода

Сравнение двух файлов в C++

Наше решение C++ создано для того, чтобы дать вам наилучшие результаты при использовании сложного алгоритма сравнения. Таким образом, вам больше не нужно вручную искать различия в документах - смело используйте наш API для сравнения двух файлов.

Наша система сравнения ищет различия на уровне символов или целых слов. А если был изменен только один символ, то все слово будет выделено как измененное. Все найденные изменения можно наглядно просмотреть в выводе и экспортировать в удобный формат.

Наиболее популярные виды сравнения - сравнение PDF файлов и Word. Поэтому мы изучим наш инструмент сравнения C++ и его функцию сравнения на этих примерах.

Сравнить PDF в C++

Иногда вам необходимо убедиться, что ваш PDF-документ не был изменен, и сравнить его с исходной версией. Или вы уже знаете, что ваш PDF действительно изменился, и вам нужно посмотреть, где и как. Затем вы сможете сравнить две версии PDF-файлов и увидеть различия. А чтобы не делать этого вручную, просто используйте наш API проверки различий C++.

С нашим решением C++ вы увидите даже небольшие изменения, которые вы легко можете пропустить при сравнении вручную.

Сравните два Word документа, используя 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();
}
Выполнить код
  
Копировать C++ код в буфер обмена

Как сравнить документы Word, PDF, HTML C++ REST API

  1. Установите Aspose.Words Cloud for C++
  2. Добавьте ссылку на библиотеку (импортируйте библиотеку) в свой C++ проект
  3. Загрузите два документа для сравнения
  4. Вызовите метод compareDocument(), чтобы сравнить два документа.
  5. Скачать итоговый документ из облачного хранилища

C++ библиотека для сравнения

Установите Aspose.Words Cloud SDK for C++ с GitHub. Подробную информацию о сборке и настройке SDK можно найти в разделе "How to use the SDK".

Чтобы быстро получить учетные данные и доступ к нашему REST API, следуйте этим Инструкциям в документации.

Системные Требования

Обратитесь к Документации Репозитория, чтобы получить более подробную информацию.

Наиболее популярные форматы сравнения

5%

Подпишитесь на обновления продукта Aspose

Получайте ежемесячные информационные бюллетени и предложения, доставляемые прямо на ваш почтовый ящик.