• <menu id="w2i4a"></menu>
  • logo Aspose.Words使用教程

    文檔首頁>>Aspose.Words使用教程>>Word處理控件Aspose.Words功能演示:使用Java比較MS Word文檔

    Word處理控件Aspose.Words功能演示:使用Java比較MS Word文檔


    比較MS Word文檔是為了了解文檔的兩個版本之間的差異。MS Word提供了一個內(nèi)置選項來比較兩個文檔的內(nèi)容。但是,隨著文檔數(shù)量的增加,手動進行文檔比較變得困難。

    為了使此過程自動化,本文介紹了如何使用Java比較兩個MS Word(DOC / DOCX)文檔。

    >>如果想要測試這項新功能,可點擊這里下載最新版試用。(安裝包僅提供部分功能,并設(shè)置限制,如需試用完整功能請申請免費授權(quán)。)

    • 使用Java比較MS Word文檔
    • 在MS Word文檔比較中忽略格式
    • 設(shè)置目標文檔以進行比較差異
    • 設(shè)置粒度以比較MS Word文檔
    IT行業(yè)爆品采購節(jié)來啦!整合所有格式的Aspose.Total永久授權(quán)正在火熱促銷中,樂享85折起!聯(lián)系慧都客服立馬1分鐘了解全部咨詢!


    比較MS Word文檔的Java API

    Aspose.Words for Java是功能強大的文檔處理API,可以創(chuàng)建,讀取,修改和轉(zhuǎn)換MS Word文檔。此外,它還允許比較兩個Word文檔以及考慮或忽略內(nèi)容的格式??梢?a href="http://www.xiangyinys.com/product/4116/download" target="_blank">下載API或使用以下Maven配置進行安裝。

    Word處理控件Aspose.Words功能演示:使用Java比較MS Word文檔

    使用Java比較MS Word文檔

    以下是使用Aspose.Words for Java API執(zhí)行簡單Word文檔比較的步驟。

    • 使用Document類加載要比較的Word文檔。
    • 調(diào)用Document.compare(Document,String,Date)方法將文檔與作為參數(shù)傳遞的文檔進行比較。

    下面的代碼示例演示如何使用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

    在Word文檔比較中忽略格式

    在某些情況下,文檔具有適用于內(nèi)容的不同格式。在這種情況下,您寧愿只比較文本,而忽略格式,頁眉/頁腳,腳注,表格,注釋等。下面是比較兩個MS Word文檔時忽略文檔格式的步驟。

    • 使用Document類加載要比較的Word文檔。
    • 創(chuàng)建一個CompareOptions類的對象。
    • 設(shè)置CompareOptions.setIgnoreFormatting(true)。
    • 使用Document.compare(Document,String,Date,CompareOptions)方法比較文檔。

    下面的代碼示例演示如何比較MS Word文檔,而忽略使用Java的內(nèi)容格式。

    // For complete examples and data files, please go to https://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");

    設(shè)置目標Word文檔以進行比較差異

    Aspose.Words for Java還允許您在比較過程中指定源Word文檔。為此,您可以使用與MS Word的“顯示更改”選項相關(guān)的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);

    設(shè)置粒度以比較Word文檔

    可以在比較兩個MS Word文檔時設(shè)置更改的粒度。這可以使用CompareOptions.setGranularity()屬性完成。以下是可能的粒度選項。

    • CHAR_LEVEL
    • WORD_LEVEL

    以下代碼示例顯示了使用Java比較MS Word文檔時如何設(shè)置粒度。

    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);

    還想要更多嗎?您可以點擊閱讀【2020 · Aspose最新資源整合】查找需要的教程資源。如果您有任何疑問或需求,請隨時加入Aspose技術(shù)交流群(642018183),我們很高興為您提供查詢和咨詢


    慧都2020行業(yè)爆品采購狂歡節(jié)——文檔管理專場

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    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); })();