使用C++ SDK比较Word或PDF文件

强大的C++库,用于比较PDF, Word, HTML, TXT, MD和其他格式的文件

使用我们的C++文件差异检查器,比较两个文档,并在输出中清楚地查看它们之间的差异。您不再需要手动比较文档。另请注意,比较结果可以导出为DOCX, PDF, DOC等。

查看代码片段

比较 C++ 中的两个文件

我们的 C++ 解决方案旨在为您在使用复杂的比较算法时提供最佳结果。因此,您不再需要手动查找文档中的差异 - 请随意使用我们的 API 来比较两个文件。

我们的比较引擎寻找字符或整个单词级别的差异。如果只更改了一个字符,则整个单词将突出显示为已更改。所有发现的更改都可以在输出中清楚地查看,并以方便的格式导出。

最流行的比较类型是比较 PDF 和 Word 文件。因此,我们将使用这些示例来学习我们的 C++ diff工具及其比较功能。

在 C++ 中比较 PDF

有时您需要确保您的PDF文档没有被修改,并将其与原始版本进行比较。或者您已经知道您的 PDF 确实发生了变化,并且您需要查看位置和方式。然后您可以比较两个版本的 PDF 文件并查看差异。为了避免手动执行此操作,只需使用我们的 C++ diff 检查器 API。

通过我们的 C++ 解决方案,您甚至会看到在手动比较中很容易错过的微小变化。

使用 C++ 比较两个 Word 文档

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++复制到剪贴板

如何比较文件的两个版本

  1. Aspose.Words Cloud for C++
  2. 将库引用(导入库)添加到您的C++项目
  3. 加载两个文档进行比较
  4. 调用compareDocument()方法比较两个文档
  5. 从云存储下载结果文档

C++库使用比较

从 GitHub 克隆 Aspose.Words Cloud SDK for C++ 源代码。您可以在 "How to use the SDK" 部分找到有关构建和配置 SDK 的详细信息。

要快速获取必要的安全凭证并访问我们的 REST API,请按照文档中的这些 Instructions 进行操作。

系统要求

请参阅 Repository Documentation 以查看详细信息。

最流行的比较操作格式

5%

订阅 Aspose 产品更新

获取直接发送到您的邮箱的每月通讯和优惠。

© Aspose Pty Ltd 2001-2024. 版权所有。