1. 程式人生 > >Java 合併Word文件

Java 合併Word文件

合併文件可以是將兩個包含一定邏輯關係的文件合併成一個完整的文件,也可以是出於方便文件儲存、管理的目的合併多個文件為一個文件。下面,就將以上文件操作需求,通過Java程式來實現Word文件合併。合併文件可以分為2種方法來進行:

方法1. 載入兩個文件,將文件2插入到文件1。使用該方法合併文件時,被合併文件的內容預設從新的一頁開始顯示。

方法2. 獲取文件1的最後一個section,然後將文件2中的段落作為新的段落新增到section。新加入的文件承接上一個文件的最後一個段落末尾開始顯示。

 

使用工具:Free Spire.Doc for Java (免費版)

Jar檔案獲取及匯入:

獲取方法1:通過下載jar檔案包。解壓檔案後,將lib資料夾下的Spire.Doc.jar檔案匯入程式。參考如下匯入效果:

 

獲取方法2:通過maven匯入,可參考匯入方法。

 

【示例1】新起一頁合併Word文件

import com.spire.doc.*;

public class Merge1 {
    public static void main(String[] args) {
        //載入文件1
        Document doc1 = new Document("test1.docx");

        //呼叫方法將文件2插入到文件1
        doc1.insertTextFromFile("test2.doc",FileFormat.Docx_2010);

        //儲存合併後的文件
        doc1.saveToFile("Merged1.docx",FileFormat.Docx_2010);
    }
}

合併效果:

 

【示例2】承接上文段落合併Word文件

import  com.spire.doc.*;

public class Merge2 {
    public static void main(String[] args){
        //載入需要合併的兩個文件
        Document doc1 = new Document("test1.docx");
        Document doc2 = new Document("test2.doc");

        //獲取文件1的最後一節
        Section lastsec = doc1.getLastSection();

        //遍歷文件2的所有段落內容,新增到文件1
        for (Section section:(Iterable <Section>)doc2.getSections()) {
            for (DocumentObject obj:(Iterable <DocumentObject>)section.getBody().getChildObjects()
            ) {
                lastsec.getBody().getChildObjects().add(obj.deepClone());
            }
        }

        //儲存合併後的文件
        doc1.saveToFile("Merged2.docx",FileFormat.Docx_2010);
    }
}

合併效果:

&n