
Microsoft Word 支持“比较”选项,使用户能够比较 Word 文档并识别新添加的更改。此功能非常有用,因为您可以在 Word 文档中并排执行文本比较操作。但是,文本差异检查器的编程解决方案可以更快、更高效,并且可以轻松执行批量文本差异操作。在本文中,我们将使用 REST-API 执行文本比较操作,以便我们能够找到差异。
文本比较 API
Aspose.Words Cloud SDK for .NET 使您能够创建、操作和转换主要的 MS Word 格式(DOC、DOCX、DOCM 等)到其他受支持的格式。同时,它还提供比较 Word 文档并突出显示差异的功能。现在,为了使用 SDK,请在包管理器控制台上使用以下命令从 NuGet 库 安装它:
Install-Package Aspose.Words-Cloud
有关更多信息,您可以考虑访问以下链接以获取有关如何安装 Aspose.Cloud SDKs 的更多信息。现在安装完成后,我们还需要通过访问 Aspose.Cloud 仪表板 创建一个免费帐户。只需使用您的 GitHub 或 Google 帐户注册或单击 创建新帐户 按钮即可。页面上显示的客户端凭据将在后续部分中使用。
使用 C# 在线比较文本
下面给出了步骤和代码片段,详细解释了如何使用 C# .NET 代码片段比较两个 Word 文档。
- 首先我们需要在代码中定义ClientID和ClientSecret信息。
- 其次,通过提供 ClientID 和 ClientSecret 详细信息作为参数来创建 Configuration 类的对象。
- 第三,创建 WordsApi 类的对象并将 Configuration 实例作为参数传递。
- 现在创建 CompareData 类的实例。
- 为了具体识别结果文件中所标识的人员的姓名,请使用 CompareData 类的 Author 属性。
- CompareData类的ComparingWithDocument属性用于指定要比较内容的目标文档。
- 现在创建一个 CompareDocumentRequest 类的实例,该类以输入/源文件、CompareData 对象和结果文件名作为参数。
- 最后,调用CompareDocument(..)方法启动比较操作。
String MyClientID = "c235e685-1aab-4cda-a95b-54afd63eb87f"; // Get Client Id from https://dashboard.aspose.cloud/
String MyClientSecret = "b8da4ee37494f2ef8da3c727f3a0acb9"; // Get Client Secret from https://dashboard.aspose.cloud/
// 创建 Configuration 类的实例
// 并提供您的个性化客户端 ID 和客户端密钥详细信息
var config = new Configuration { ClientId = MyClientID, ClientSecret = MyClientSecret };
// 使用配置实例初始化 WordsAPI 对象
var wordsApi = new WordsApi(config);
// 第一个输入文档
string firstDocument = "file-sample.docx";
// 要比较的第二份文件
string secondFile = "file-sample-updated.docx";
// 结果文件的名称
string resultantFile = "Out_ComparedTestDocs.docx";
// 创建 CompareData 类的实例
CompareData compareData = new CompareData();
// 用作作者识别差异的名称
compareData.Author = "Nayyer";
// 指定要比较的文档
compareData.ComparingWithDocument = secondFile;
compareData.DateTime = DateTime.Now;
// 通过提供来源、要比较的文档和结果文件名来创建请求实例
CompareDocumentRequest request = new CompareDocumentRequest(firstDocument, compareData, null, null, null, null, resultantFile);
// 启动文档比较
DocumentResponse result = wordsApi.CompareDocument(request);
上述示例中使用的示例文件可以从以下链接下载
使用 cURL 命令比较 Word 文档
在本节中,我们将学习如何使用 cURL 命令比较 Word 文档的步骤。由于我们的 API 仅供授权人员访问,因此请执行以下命令根据客户端 ID 和客户端密钥详细信息创建 JWT 访问令牌。
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=c235e685-1aab-4cda-a95b-54afd63eb87f&client_secret=b8da4ee37494f2ef8da3c727f3a0acb9" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
下面的 cURL 命令显示了如何使用 cURL 命令在线执行文件比较。它访问 CompareDocument 方法,并将此操作的结果写入输出文档,其中包含作为编辑和格式修订的跟踪更改。请注意,如果您不提供输出文档详细信息,修订将保存到原始文档中。
curl -X PUT "https://api.aspose.cloud/v4.0/words/file-sample.docx/compareDocument?destFileName=ComparisonResult.docx" \
-H "accept: application/json"
-H "Authorization: Bearer <JWT Token>" \
-H "Content-Type: application/json" \
-d "{\"ComparingWithDocument\":\"file-sample-updated.docx\",\"Author\":\"Nayyer\",\"DateTime\":\"2021-04-27T16:50:55.869Z\",\"CompareOptions\":{\"IgnoreCaseChanges\":true,\"IgnoreTables\":true,\"IgnoreFields\":true,\"IgnoreFootnotes\":true,\"IgnoreComments\":true,\"IgnoreTextboxes\":true,\"IgnoreFormatting\":true,\"IgnoreHeadersAndFooters\":true,\"Target\":\"Current\"}}"
命令执行后,删除的信息会被单独标出,新添加的内容则会以黄色高亮显示。

图 1:- 原始文档和修改后文档的预览。

图 2:文本比较的预览。
结论
在本文中,我们解释了使用 Aspose.Words Cloud API 比较 Word 文档的步骤。请注意,也可以通过 swagger 接口 访问 API。此外,我们的 Cloud SDK 是开源的,其完整源代码可以从 GitHub 下载。
我们还建议您访问产品文档,了解有关 API 提供的其他精彩功能的更多详细信息。您的反馈对我们非常重要。因此,请随时使用我们的支持论坛与我们联系。
参见
您可以考虑访问以下链接来获取以下信息: