比较 Word 文档

使用 C# .NET 比较 Word 文档

随着企业和个人越来越依赖数字文档,对高效文档比较工具的需求变得越来越重要。手动比较文档可能是乏味、耗时且容易出错的。值得庆幸的是,借助 C# .NET 的强大功能,您可以自动化比较 Word 文档的过程,使其更快、更准确、更可靠。在这篇博文中,我们将探讨如何利用 .NET Cloud SDK 比较 Word 文档,以及如何利用其功能来节省时间并改进文档审阅流程。

用于比较文档的 REST API

Aspose.Words Cloud SDK for .NET是一个强大的工具,可以帮助您轻松比较Word文档。凭借其全面的功能集,您可以比较两个或多个文档,识别它们之间的变化和差异,并生成突出显示变化的报告。无论您是开发人员、项目经理还是编辑,此 SDK 都可以帮助您简化文档比较过程并节省宝贵的时间。

现在,为了使用SDK,请在NuGet 包管理器中搜索“Aspose.Words-Cloud”,然后单击“添加包”按钮在.NET 项目中添加SDK 的引用。

在 C# 中比较 Word 文档

请尝试使用以下代码片段在线比较 Word 文档。

// 如需完整示例和数据文件,请访问 
https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet

// 从 https://dashboard.aspose.cloud/ 获取客户端凭证
string clientSecret = "7f098199230fc5f2175d494d48f2077c";
string clientID = "ee170169-ca49-49a4-87b7-0e2ff815ea6e";

// 使用 ClinetID 和 Client Secret 详细信息创建配置对象
var config = new Aspose.Words.Cloud.Sdk.Configuration { ClientId = clientID, ClientSecret = clientSecret };
// 初始化 WordsApi 实例
var wordsApi = new WordsApi(config);

string firstDocument = "input-sample-1.docx";
string secondDocument = "input-sample-2.docx";
string resultantFile = "Comparison.docx";

// 从本地驱动器读取第一个 Word 文档的内容
var firstFile = System.IO.File.OpenRead(firstDocument);
// 从本地驱动器读取第一个 Word 文档
var secondFile = System.IO.File.OpenRead(secondDocument);
try
{
    // 将输入的Word文档上传到云存储
    wordsApi.UploadFile(new UploadFileRequest(firstFile, firstDocument));
    wordsApi.UploadFile(new UploadFileRequest(secondFile, secondDocument));

    CompareData compareData = new CompareData();
    // 指定要比较的文件
    compareData.ComparingWithDocument = secondDocument;
    // 作者详情
    compareData.Author = "Nayer Shahbaz";
    compareData.DateTime = DateTime.Now.Date;
    // 结果文档的格式
    compareData.ResultDocumentFormat = "DOCX";

    // 设置文档比较选项
    CompareOptions options = new CompareOptions()
    {
        IgnoreCaseChanges = true,
        IgnoreFormatting = true,
        IgnoreHeadersAndFooters = true,
        IgnoreFootnotes = true,
        IgnoreComments = true,
        IgnoreTextboxes = true,
        IgnoreTables = true,
        Target = CompareOptions.TargetEnum.Current,
        AcceptAllRevisionsBeforeComparison = true
     };
     compareData.CompareOptions = options

    // 创建 CreateDocument 的实例
    CompareDocumentRequest compare = new CompareDocumentRequest();
    compare.CompareData = compareData;
    compare.Name = firstDocument;
    // 结果文件名
    compare.DestFileName = resultantFile;
    
    // 启动文档比较操作
    wordsApi.CompareDocument(compare);
}
catch(Exception ex)
{
    // 文件上传到云存储时出现任何异常
    Console.Write(ex.StackTrace);
}
// create configuration object using ClientID and Client Secret details
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };
// initialize WordsApi instance
var wordsApi = new WordsApi(config);

使用客户端凭据创建 WordsApi 实例。

// read the content of first Word document from local drive
var firstFile = System.IO.File.OpenRead(firstDocument);
wordsApi.UploadFile(new UploadFileRequest(firstFile, firstDocument));

读取输入的Word文档内容并上传至云存储。

CompareData compareData = new CompareData();
compareData.ComparingWithDocument = secondDocument;
compareData.Author = "Nayyer Shahbaz";
compareData.DateTime = DateTime.Now.Date;
compareData.ResultDocumentFormat = "DOCX";

创建一个 CompareData 对象的实例,我们在其中指定要比较的文档的名称、作者详细信息、日期和时间信息以及结果文档的格式。

CompareOptions options = new CompareOptions()
{
    IgnoreCaseChanges = true,
    IgnoreFormatting = true,
    IgnoreHeadersAndFooters = true,
    IgnoreFootnotes = true,
    IgnoreComments = true,
    IgnoreTextboxes = true,
    IgnoreTables = true,
    Target = CompareOptions.TargetEnum.Current,
    AcceptAllRevisionsBeforeComparison = true
};
compareData.CompareOptions = options;

创建 CompareOptions 实例,我们在其中定义各种比较选项。

CompareDocumentRequest compare = new CompareDocumentRequest();
compare.CompareData = compareData;
compare.Name = firstDocument;
compare.DestFileName = resultantFile;

指定 CompareData 实例、源 Word 文档的名称和包含比较结果的输出文件的名称。

wordsApi.CompareDocument(compare);

启动文档比较操作并在云存储中生成输出。

使用 cURL 命令比较两个文档

我们已经讨论过,比较 Word 文档可能是一项具有挑战性且耗时的任务,尤其是在处理多个文件或复杂格式时。幸运的是,Aspose.Words Cloud 和 cURL 命令为快速轻松地比较 Word 文档提供了强大的解决方案。我们可以比较两个或多个文档、跟踪更改并生成突出显示文档之间差异的详细报告。

现在,请执行以下命令,根据 Client ID 和 Client Secret 详细信息创建 JWT 访问令牌。

curl -v "https://api.aspose.cloud/connect/token" \
 -X POST \
 -d "grant_type=client_credentials&client_id=a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4&client_secret=d87269aade6a46cdc295b711e26809af" \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Accept: application/json"

生成 JWT Token 后,请执行以下命令在线比较两个 Word 文档,并将结果文件保存在云存储中。

curl -v "https://api.aspose.cloud/v4.0/words/{sourceFirst}/compareDocument?destFileName={differenceFile}" \
-X PUT \
-H  "accept: application/json" \
-H  "Authorization: Bearer {accessToken}" \
-H  "Content-Type: application/json" \
-d "{\"ComparingWithDocument\":\"input-sample-2.docx\",\"Author\":\"Nayyer Shahbaz\",\"DateTime\":\"2023-04-23T06:02:29.481Z\",\"CompareOptions\":{\"IgnoreCaseChanges\":true,\"IgnoreTables\":true,\"IgnoreFields\":true,\"IgnoreFootnotes\":true,\"IgnoreComments\":true,\"IgnoreTextboxes\":true,\"IgnoreFormatting\":true,\"IgnoreHeadersAndFooters\":true,\"Target\":\"Current\",\"AcceptAllRevisionsBeforeComparison\":true},\"ResultDocumentFormat\":\"docx\"}"

{sourceFirst} 替换为输入 Word 文档的名称(存在于云存储中),将 {accessToken} 替换为上面生成的 JWT 访问令牌,将 {differenceFile} 替换为生成的 Word 文档的名称,突出比较差异.

word文档比较

图片:- 使用 .NET REST API 预览 Word 文档比较。

结论

总之,比较 Word 文档可能是一项艰巨的任务,但借助 Aspose.Words Cloud 和 cURL 命令或其强大的 .NET Cloud SDK,您将拥有一个强大的解决方案供您使用。无论您喜欢使用 C# .NET 还是喜欢使用 cURL 等命令行工具,Aspose.Words Cloud 都提供了一系列选项来比较两个或多个文档、跟踪更改和生成详细报告。凭借其灵活和可自定义的功能,它是任何定期使用 Word 文档的人的必备资源。那么何不尝试一下,看看它如何帮助您简化文档比较过程。

有用的链接

相关文章

我们强烈建议浏览以下博客: