Word .NET库组件Spire.Doc系列教程(49):通过比较两个Word文档来获得差异

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。如何通过比较两个Word文档来获得差异。

*这么优秀的国产工具怎能错过呢!在线下单专享“一口价”,查看折扣价!想要获取更多福利的朋友可以咨询在线客服哦~


C#

using Spire.Doc;using Spire.Doc.Documents;using Spire.Doc.Fields;using Spire.Doc.Formatting.Revisions;using System;namespace GetWordDifferences    {    class Program    {        static void Main(string[] args)        {            //Load the first Word document            Document doc1 = new Document();            doc1.LoadFromFile("Sample1.docx");            //Load the second Word document            Document doc2 = new Document();            doc2.LoadFromFile("Sample2.docx");            //Compare the two Word documents            doc1.Compare(doc2, "Author");            foreach (Section sec in doc1.Sections)            {                foreach (DocumentObject docItem in sec.Body.ChildObjects)                {                    if (docItem is Paragraph){                        Paragraph para = docItem as Paragraph;                        if (para.IsInsertRevision)                        {                            EditRevision insRevison = para.InsertRevision;                            EditRevisionType insType = insRevison.Type;                            string insAuthor = insRevison.Author;                            DateTime insDateTime = insRevison.DateTime;                        }                        else if (para.IsDeleteRevision)                        {                            EditRevision delRevison = para.DeleteRevision;                            EditRevisionType delType = delRevison.Type;                            string delAuthor = delRevison.Author;                            DateTime delDateTime = delRevison.DateTime;                        }                        foreach (ParagraphBase paraItem in para.ChildObjects)                        {                            if (paraItem.IsInsertRevision)                            {                                EditRevision insRevison = paraItem.InsertRevision;                                EditRevisionType insType = insRevison.Type;                                string insAuthor = insRevison.Author;                                DateTime insDateTime = insRevison.DateTime;                            }                            else if (paraItem.IsDeleteRevision)                            {                                EditRevision delRevison = paraItem.DeleteRevision;                                EditRevisionType delType = delRevison.Type;                                string delAuthor = delRevison.Author;                                DateTime delDateTime = delRevison.DateTime;                            }                        }                    }                }            }            //Get the difference about revisions            DifferRevisions differRevisions = new DifferRevisions(doc1);            var insetRevisionsList = differRevisions.InsertRevisions;            var deletRevisionsList = differRevisions.DeleteRevisions;         }    } }

VB.NET

Imports Spire.DocImports Spire.Doc.DocumentsImports Spire.Doc.FieldsImports Spire.Doc.Formatting.RevisionsImports SystemNamespace GetWordDifferences     Class Program        Private Shared Sub Main(ByVal args() As String)            'Load the first Word document            Dim doc1 As Document = New Document            doc1.LoadFromFile("Sample1.docx")            'Load the second Word document            Dim doc2 As Document = New Document            doc2.LoadFromFile("Sample2.docx")            'Compare the two Word documents            doc1.Compare(doc2, "Author")            For Each sec As Section In doc1.Sections                For Each docItem As DocumentObject In sec.Body.ChildObjects                    If (TypeOf docItem Is Paragraph) Then                        Dim para As Paragraph = CType(docItem,Paragraph)                        If para.IsInsertRevision Then                            Dim insRevison As EditRevision = para.InsertRevision                            Dim insType As EditRevisionType = insRevison.Type                            Dim insAuthor As String = insRevison.Author                            Dim insDateTime As DateTime = insRevison.DateTime                        ElseIf para.IsDeleteRevision Then                            Dim delRevison As EditRevision = para.DeleteRevision                            Dim delType As EditRevisionType = delRevison.Type                            Dim delAuthor As String = delRevison.Author                            Dim delDateTime As DateTime = delRevison.DateTime                        End If                                        For Each paraItem As ParagraphBase In para.ChildObjects                            If paraItem.IsInsertRevision Then                                Dim insRevison As EditRevision = paraItem.InsertRevision                                Dim insType As EditRevisionType = insRevison.Type                                Dim insAuthor As String = insRevison.Author                                Dim insDateTime As DateTime = insRevison.DateTime                            ElseIf paraItem.IsDeleteRevision Then                                Dim delRevison As EditRevision = paraItem.DeleteRevision                                Dim delType As EditRevisionType = delRevison.Type                                Dim delAuthor As String = delRevison.Author                                Dim delDateTime As DateTime = delRevison.DateTime                            End If                                            Next                    End If                            Next            Next            'Get the difference about revisions            Dim differRevisions As DifferRevisions = New DifferRevisions(doc1)            Dim insetRevisionsList = differRevisions.InsertRevisions            Dim deletRevisionsList = differRevisions.DeleteRevisions        End Sub    End ClassEnd Namespace


是E-iceblue官方友好合作伙伴,如果您对spire.Doc感兴趣,可以联系在线客服了解具体授权价格和使用机制。
标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月3日
下一篇 2021年1月3日

相关推荐

发表回复

登录后才能评论