比较 Word 文档

在 Word 文档中在线执行文本比较

将更改合并到统一文档中时,比较文本文件的任务非常常见。因此在审查和合并过程中,会执行文本比较操作,我们经常使用实用程序在线比较文本。所以在本文中,我们将讨论如何使用 Java SDK 比较 word 文档和比较文本文件的步骤。

比较文本 API

Aspose.Words Cloud SDK for Java 提供了大量功能,使您可以在 Java 应用程序中创建、编辑和操作 Word 文档。现在为了使用 SDK,请将以下详细信息添加到 maven 构建项目的 pom.xml 中。

<repositories>
    <repository>
        <id>AsposeJavaAPI</id>
        <name>Aspose Java API</name>
        <url>https://repository.aspose.cloud/repo/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-words-cloud</artifactId>
        <version>22.5.0</version>
    </dependency>
</dependencies>

安装 SDK 后,请使用 GitHub 或 Google 帐户在 Aspose.Cloud dashboard 上注册一个免费帐户,或者只需注册并获取您的客户凭据。

在 Java 中比较 Word 文档

在本节中,我们将讨论如何使用 Java 代码片段比较 word 文档的细节。

  • 第一步是使用客户端凭据创建 WordsApi 实例
  • 其次,在将 UploadFileRequest 对象传递给 WordsApi 的 uploadFile(…) 方法的同时,将输入和修改的 Word 文档上传到云存储
  • 第三,创建一个 CompareData 对象并将第二个文档作为参数传递给 setComparingWithDocument(…) 方法
  • 现在创建一个 CompareDocumentRequest 类的对象,我们将输入的 Word 文件、CompareData 对象和生成的 word 文档作为参数传递给该类
  • 最后,使用 compareDocument(…) 方法比较文本文件并将输出保存在云存储中
For more examples, please visit https://github.com/aspose-words-cloud/aspose-words-cloud-java

try
    {
    // 如果 baseUrl 为 null,WordsApi 使用默认的 https://api.aspose.cloud
    WordsApi wordsApi = new WordsApi(clientId, clientSecret, null);

    String firstDocument = "input-sample.docx";
    String secondDocument = "input-sample-updated.docx";
    String resultantFile = "Comparison.docx";

    // 从本地驱动器读取第一个 Word 文档
    File file = new File("c://Downloads/"+firstDocument);
    // 从本地驱动器读取第二个 word 文档
    File file2 = new File("c://Downloads/"+secondDocument);

    // 创建文件上传请求
    UploadFileRequest uploadRequest = new UploadFileRequest(Files.readAllBytes(file.toPath()), firstDocument, null);
    // 创建第二个文件上传请求
    UploadFileRequest uploadRequest2 = new UploadFileRequest(Files.readAllBytes(file2.toPath()), secondDocument, null);

    // 上传文件到云存储
    wordsApi.uploadFile(uploadRequest);        
    // 上传文件到云存储
    wordsApi.uploadFile(uploadRequest2);

    // 创建 CompareData 类的实例
    CompareData compareData = new CompareData();
    
    // 用作识别差异的作者的姓名
    compareData.setAuthor("Nayyer");
    // 指定要比较的文档
    compareData.setComparingWithDocument(secondDocument);
    compareData.setDateTime(OffsetDateTime.now());
    
    // 通过提供源、要比较的文档和结果文件名来创建 Request 实例
    CompareDocumentRequest request = new CompareDocumentRequest(firstDocument, compareData, null, null, null, null, null,resultantFile,null);
    
    // 启动文档比较
    DocumentResponse result = wordsApi.compareDocument(request);
    
    // 打印成功信息
    System.out.println("Sucessfull completion of Compare Word Document !");
		
}catch(Exception ex)
{
    System.out.println(ex);
}
比较 Word 文档预览

比较 Word 文档操作的预览

上面示例中使用的示例文件可以从以下链接下载

使用 cURL 命令比较文本

我们还可以通过 cURL 命令访问 Aspose.Words Cloud 并比较文本文件。因此,作为先决条件,请执行以下命令以根据客户端 ID 和客户端密码详细信息创建 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,请执行以下命令在线比较文本并将结果文件保存在云存储中。

curl -v -X PUT "https://api.aspose.cloud/v4.0/words/input-sample.docx/compareDocument?destFileName=Comparison.docx" \
-H  "accept: application/json" \
-H  "Authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "{\"ComparingWithDocument\":\"input-sample-updated.docx\",\"Author\":\"Nayyer Shahbaz\",\"DateTime\":\"2022-07-21T07:54:06.768Z\",\"CompareOptions\":{\"IgnoreCaseChanges\":true,\"IgnoreTables\":true,\"IgnoreFields\":true,\"IgnoreFootnotes\":true,\"IgnoreComments\":true,\"IgnoreTextboxes\":true,\"IgnoreFormatting\":true,\"IgnoreHeadersAndFooters\":true,\"Target\":\"Current\",\"AcceptAllRevisionsBeforeComparison\":true},\"ResultDocumentFormat\":\"docx\"}"

结论

本文介绍了使用 Java 和 cURL 命令比较文档的步骤。您可以考虑通过 swagger 接口 探索 API 功能。此外,完整的 SDK 源代码可以从 GitHub 下载。如果您有任何进一步的疑问或遇到任何困难,请访问免费支持论坛

相关文章

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