网站首页 > 技术文章 正文
Aspose.Words For .Net是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。此外,API支持所有流行的Word处理文件格式,并允许将Word文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。
如何比较两个word文档
我们可以使用Document.Compare方法比较两个文档以查看它们之间的区别。此方法模仿Microsoft Word的比较功能,并生成文档差异作为许多编辑和格式修订。主要的想法是,如果我们拒绝所有修订,那么我们得到的文件与原始文件相同。相反,如果我们接受所有修订,那么我们将获得最终(比较目标)文档。
限制
在这里,有一些普遍的限制:
- 在调用此方法之前,正在比较的文档必须没有修订。
- 标记——仅限于SmartTag,其他标记完全被忽略。
- 比较回退形状,而不是实际的Dml比较。
有一条关于“相等”的重要说明:实际上,“相等”在这里的意思是比较法不能将更改表示为修订。一般来说,这意味着文档文本和文本格式是相同的。但是文档之间可能还有其他不同之处。例如,Word只支持样式的格式修改,我们不能表示样式的插入/删除。因此文档可以有不同的样式集,而Compare方法仍然不会产生修订。
下面的示例显示了正常的比较用例:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET Document docA = new Document(dataDir + "TestFile.doc"); Document docB = new Document(dataDir + "TestFile - Copy.doc"); // DocA now contains changes as revisions. docA.Compare(docB, "user", DateTime.Now);
下面的例子展示了如何测试Word文档是否“相等”:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET Document docA = new Document(dataDir + "TestFile.doc"); Document docB = new Document(dataDir + "TestFile - Copy.doc"); // DocA now contains changes as revisions. docA.Compare(docB, "user", DateTime.Now); if (docA.Revisions.Count == 0) Console.WriteLine("Documents are equal"); else Console.WriteLine("Documents are not equal");
比较Word文档并忽略文档格式
在比较文档时,可以忽略文档格式、页眉-页脚、字段、脚注、表、文本框、注释和大小写更改。设置CompareOptions的值。属性IgnoreFormatting设置为true,以忽略文档格式设置。当CompareOptions时,页眉和页脚内容将被忽略。IgnoreHeadersAndFooters被设置为true。下面的代码示例显示了如何忽略文档的格式化和页眉页脚内容:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET Document docA = new Document(dataDir + "TestFile.doc"); Document docB = new Document(dataDir + "TestFile - Copy.doc"); CompareOptions options = new CompareOptions(); options.IgnoreFormatting = true; options.IgnoreHeadersAndFooters = true; options.IgnoreCaseChanges = true; options.IgnoreTables = true; options.IgnoreFields = true; options.IgnoreComments = true; options.IgnoreTextboxes = true; options.IgnoreFootnotes = true; // DocA now contains changes as revisions. docA.Compare(docB, "user", DateTime.Now, options); if (docA.Revisions.Count == 0) Console.WriteLine("Documents are equal"); else Console.WriteLine("Documents are not equal");
设置比较差异的目标文档
在“比较文档”对话框中,MS Word有“显示更改”选项,比较结果取决于此选项。Target属性用于此目的。此属性指定比较期间将哪个文档应使用作为目标。例如,这个选项和IgnoreFormatting设置一起决定了必须使用哪个文档作为相等文本范围的格式化源。ComparisonTargetType枚举用于指定将在比较期间使用的基本文档。下面的代码示例展示了如何为两个文档的比较设置目标文档:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET Document docA = new Document(dataDir + "TestFile.doc"); Document docB = new Document(dataDir + "TestFile - Copy.doc"); CompareOptions options = new CompareOptions(); options.IgnoreFormatting = true; // Relates to Microsoft Word "Show changes in" option in "Compare Documents" dialog box. options.Target = ComparisonTargetType.New; docA.Compare(docB, "user", DateTime.Now, options);
如果你有什么想法,或想要获得Aspose.Words For .Net更多教程资源,可在评论区留言哦~
猜你喜欢
- 2024-10-26 Aspose.Total 最新试用版大放送,更有海量资源等你来拿
- 2024-10-26 JAVA操作office工具 java 操作excel的工具
- 2024-10-26 开年钜惠|ASPOSE、Spire、Text Control文档管理产品超低折扣热销领跑
- 2024-10-26 看Aspose帮助知名企业实现邮件附件在线转换,提升邮件处理效率
- 2024-10-26 PDF开发工具Aspose.PDF功能推荐——在.NET中将PDF转换为HTML
- 2024-10-26 文档在线预览新版 总结篇 world在线预览
- 2024-10-26 在 Python 中将 HTML 转换为 PNG、JPEG、BMP、GIF 或 TIFF 图像
- 2024-10-26 送您一份文档管理控件Aspose&Spire系列中文教程!请查收
- 2024-10-26 文档在线预览(四) 总结篇 office在线预览解决方案
- 2024-10-26 Aspose.Words教程(六):Xamarin和.NET Standard的差异和局限
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)