翻譯|使用教程|編輯:李顯亮|2020-03-31 10:04:20.477|閱讀 607 次
概述:使用Document.Compare方法可以比較兩個(gè)文檔以查看它們之間的差異。此方法模仿Microsoft Word的“比較”功能,并由于許多編輯和格式修訂而產(chǎn)生文檔差異。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
Aspose.Words For .NET是一種高級(jí)Word文檔處理API,用于執(zhí)行各種文檔管理和操作任務(wù)。API支持生成,修改,轉(zhuǎn)換,呈現(xiàn)和打印文檔,而無需在跨平臺(tái)應(yīng)用程序中直接使用Microsoft Word。此外,API支持所有流行的Word處理文件格式,并允許將Word文檔導(dǎo)出或轉(zhuǎn)換為固定布局文件格式和最常用的圖像/多媒體格式。
>>Aspose.Words for .NET已經(jīng)更新至v20.3,新增4大新功能,包括Xamarin不再需要單獨(dú)的DLL,F(xiàn)indReplaceOptions類擴(kuò)展了新屬性,實(shí)現(xiàn)了“ Letterlike”符號(hào)的正確呈現(xiàn)以及支持在文本框范圍內(nèi)動(dòng)態(tài)拉伸圖像,以及3鐘增強(qiáng)型功能,點(diǎn)擊下載體驗(yàn)
使用Document.Compare方法可以比較兩個(gè)文檔以查看它們之間的差異。此方法模仿Microsoft Word的“比較”功能,并由于許多編輯和格式修訂而產(chǎn)生文檔差異。主要方法是,如果我們拒絕所有修訂,那么將獲得與原始文檔相同的文檔。相反,如果接受所有修訂,則將獲得最終(比較目標(biāo))文檔。
有一些一般限制:
有一個(gè)關(guān)于“相等”的重要說明。實(shí)際上,“平等”在這里意味著比較方法不能將更改表示為修訂。通常,這意味著文檔文本和文本格式都相同。但是文檔之間可能會(huì)有其他差異。例如,Word僅支持樣式的格式修訂,而我們不能表示樣式的插入/刪除。因此,文檔可以具有不同的樣式集,并且Compare方法仍然不會(huì)產(chǎn)生任何修訂。
以下代碼示例演示了正常比較情況。
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);
下面的代碼示例演示如何測(cè)試Word文檔是否為“相等”。
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");
CompareOptions類允許選擇用于文檔比較操作的高級(jí)選項(xiàng)。比較文檔時(shí),可以忽略文檔格式,頁眉-頁腳,字段,腳注,表,文本框,注釋和大小寫更改。將CompareOptions.IgnoreFormatting屬性的值設(shè)置為true以忽略文檔格式。將CompareOptions.IgnoreHeadersAndFooters設(shè)置為true時(shí),將忽略頁眉和頁腳內(nèi)容。下面的代碼示例演示如何忽略文檔的格式和頁眉頁腳內(nèi)容。
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在比較文檔對(duì)話框中有“顯示更改”選項(xiàng),比較結(jié)果取決于此選項(xiàng)。CompareOptions.Target屬性用于此目的。此屬性指定在比較期間應(yīng)將哪個(gè)文檔用作目標(biāo)。例如,此選項(xiàng)與IgnoreFormatting設(shè)置一起確定必須將哪個(gè)文檔用作文本范圍相等的格式源。ComparisonTargetType枚舉用于指定將在比較期間使用的基礎(chǔ)文檔。下面的代碼示例演示如何設(shè)置目標(biāo)文檔以比較兩個(gè)文檔。
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);還想要更多嗎?您可以點(diǎn)擊閱讀【2019 · Aspose最新資源整合】,查找需要的教程資源。如果您有任何疑問或需求,請(qǐng)隨時(shí)加入Aspose技術(shù)交流群(642018183),我們很高興為您提供查詢和咨詢。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn