彩票走势图

Word处理控件Aspose.Words功能演示:使用 Java 比较 MS Word 文档

翻译|使用教程|编辑:胡涛|2022-12-23 10:24:56.347|阅读 111 次

概述:本文介绍了如何使用 Java 比较两个 MS Word (DOC/DOCX) 文档。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

慧都年终大促

Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。此外,

Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。

Aspose.words 最新下载

执行 MS Word 文档的比较以了解文档的两个版本之间的差异。MS Word 提供了一个内置选项来比较两个文档的内容。然而,随着文档数量的增加,手动进行文档比较变得困难。为了自动执行此过程,本文介绍了如何使用 Java 比较两个 MS Word (DOC/DOCX) 文档。

一、用于比较 MS Word 文档的 Java API

Aspose.Words for Java是一个功能强大的文档操作 API,可让您创建、读取、修改和转换 MS Word 文档。此外,它允许您比较两个 Word 文档,同时考虑或忽略内容的格式。您可以下载API 或使用 Maven 配置安装它。

<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>//repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>20.9</version>
<classifier>jdk17</classifier>
</dependency>
二、使用 Java 比较 MS Word 文档

以下是使用 Aspose.Words for Java API 执行简单 Word 文档比较的步骤。

  • 使用Document类加载要比较的文档。
  • 调用Document.compare(Document, String, Date)方法将文档与作为参数传递的文档进行比较。

以下代码示例显示了如何使用 Java 比较两个 MS Word 文档。

Document docA = new Document(dataDir + "DocumentA.doc");
Document docB = new Document(dataDir + "DocumentB.doc");
docA.compare(docB, "user", new Date()); // docA now contains changes as revisions
三、Java Word 文档比较 - 忽略格式

可能会出现文档对内容应用不同格式的情况。在这种情况下,您更愿意只比较文本而忽略格式、页眉/页脚、脚注、表格、注释等。以下是在比较两个 MS Word 文档时忽略文档格式的步骤。

  • 使用Document类加载要比较的文档。
  • 创建CompareOptions类的对象。
  • 设置CompareOptions.setIgnoreFormatting(true)。
  • 使用Document.compare(Document, String, Date, CompareOptions)方法比较文档。

以下代码示例显示了如何使用 Java 比较忽略内容格式的 MS Word 文档。

// For complete examples and data files, please go to //github.com/aspose-words/Aspose.Words-for-Java
String dataDir = Utils.getDataDir(CompareTwoWordDocumentswithCompareOptions.class);

com.aspose.words.Document docA = new com.aspose.words.Document(dataDir + "DocumentA.doc");
com.aspose.words.Document docB = new com.aspose.words.Document(dataDir + "DocumentB.doc");

com.aspose.words.CompareOptions options = new com.aspose.words.CompareOptions();
options.setIgnoreFormatting(true);
options.setIgnoreHeadersAndFooters(true);
options.setIgnoreCaseChanges(true);
options.setIgnoreTables(true);
options.setIgnoreFields(true);
options.setIgnoreComments(true);
options.setIgnoreTextboxes(true);
options.setIgnoreFootnotes(true);

// DocA now contains changes as revisions.
docA.compare(docB, "user", new Date(), options);
if (docA.getRevisions().getCount() == 0)
System.out.println("Documents are equal");
else
System.out.println("Documents are not equal");
四、为比较差异设置目标 Word 文档

Aspose.Words for Java 还允许您在比较期间指定源 Word 文档。为此,您可以使用与 MS Word 的“显示更改”选项相关的CompareOptions.setTarget()属性。以下代码示例显示了如何在比较中指定目标文档。

Document docA = new Document(dataDir + "TestFile.doc");
Document docB = new Document(dataDir + "TestFile - Copy.doc");

CompareOptions options = new CompareOptions();
options.setIgnoreFormatting(true);
// Relates to Microsoft Word "Show changes in" option in "Compare Documents" dialog box.
options.setTarget(ComparisonTargetType.NEW);

docA.compare(docB, "user", new Date(), options);
五、设置粒度以在 Java 中比较 Word 文件

您还可以在比较两个 MS Word 文档时设置更改的粒度。这可以使用CompareOptions.setGranularity()属性来完成。以下是可能的粒度选项。

  • 字符级别
  • WORD_LEVEL

以下代码示例显示了在使用 Java 比较 MS Word 文档时如何设置粒度。

DocumentBuilder builderA = new DocumentBuilder(new Document());
DocumentBuilder builderB = new DocumentBuilder(new Document());

builderA.writeln("This is A simple word");
builderB.writeln("This is B simple words");

CompareOptions co = new CompareOptions();
co.setGranularity(Granularity.CHAR_LEVEL);

builderA.getDocument().compare(builderB.getDocument(), "author", new Date(), co);

以上便是如何使用 Java 比较 MS Word 文档 详细步骤 ,要是您还有其他关于产品方面的问题,欢迎咨询我们,或者加入我们官方技术交流群。


欢迎下载|体验更多Aspose产品

点此获取更多Aspose产品信息 或 加入Aspose技术交流群(761297826

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP