使用C++比较两个PDF

高度准确的C++差异检查器比较PDF文件并发现它们之间的差异

我们强大的C++ SDK允许您找到PDF文档之间的差异并将结果保存为方便的格式以供查看。要验证我们的产品功能,请使用此C++库比较PDF文件并查看差异。

查看代码片段

比较 C++ 中的 PDF

我们的 C++ SDK 旨在为您提供最准确的结果,即使比较本身就是一个复杂的功能。

有时你需要确定 PDF 格式的文档没有被改变,如果有,你需要找出有什么不同。只需使用我们的 C++ diff 工具来比较两个 PDF 文件并查找整个单词或单个字符的差异。此外,如果一个单词中只有一个字符发生了变化,则该单词将被标记为完全更改。

现在,您不再需要花时间手动比较 PDF 文档,您可以快速找到哪怕是很小的更改,并以方便的格式将此类差异导出到文档中。

尝试比较 PDF 文档

查看我们使用 C++ SDK 比较 PDF 文件的解决方案如何工作。为此,加载要比较的 PDF 文件并选择导出文件格式 - 比较后会自动加载。

请注意,在调用比较方法之前,您需要接受比较文档中的所有修订,如我们的示例所示:

上传比较文件
运行代码
上传第二个文件进行比较
从列表中选择目标格式
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.pdf";
std::wstring fileName2 = L"Input2.pdf";
std::wstring fileResult = L"Output.pdf";

// 将文档上传到云存储。
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. 加载两个PDF文档以进行比较
  4. 调用compareDocument()方法来比较PDF文档
  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. 版权所有。