• <menu id="w2i4a"></menu>
  • logo Spire.Doc系列教程

    文檔首頁>>Spire.Doc系列教程>>Word .NET庫組件Spire.Doc系列教程(49):通過比較兩個Word文檔來獲得差異

    Word .NET庫組件Spire.Doc系列教程(49):通過比較兩個Word文檔來獲得差異


    Spire.Doc for .NET是一個專業(yè)的Word .NET庫,設(shè)計用于幫助開發(fā)人員高效地開發(fā)創(chuàng)建、閱讀、編寫、轉(zhuǎn)換和打印任何來自.NET( C#, VB.NET, ASP.NET)平臺的Word文檔文件的功能。

    前文已經(jīng)介紹了如何在C#和VB.NET中比較兩個Word文檔。從Spire.Doc V8.12.14開始,它支持在結(jié)構(gòu)列表中獲取兩個Word文檔之間的差異。本文將向您展示如何使用Spire.Doc通過比較兩個Word文檔來獲得差異。

    點擊下載Spire.Doc for .NET最新版

    *這么優(yōu)秀的國產(chǎn)工具怎能錯過呢!在線下單專享“一口價”,查看折扣價!想要獲取更多福利的朋友可以咨詢在線客服哦~

    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.Doc
    Imports Spire.Doc.Documents
    Imports Spire.Doc.Fields
    Imports Spire.Doc.Formatting.Revisions
    Imports System
    
    Namespace 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 Class
    End Namespace
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();