Java 合并Word文档

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 合并Word文档相关的知识,希望对你有一定的参考价值。

在日常工作中,难免会遇到需要将多个Word文档合并到一个文档中,对其进行重新整理的情况,为了能帮助大家高效快速的完成这个操作,接下来本文就将介绍两种在Java程序中合并Word文档的方法。

方法一:如果需要被合并的文档默认从新的一页开始显示,我们可以使用Document类中的insertTextFromFile方法将不同的文档合并到同一个文档。
方法二:如果需要被合并的文档承接上一个文档的最后一个段落末尾开始显示,则可以先获取第一个文档的最后一个section,然后将被合并文档的段落作为新的段落添加到section。

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

Jar文件导入方法
方法一:
下载Free Spire.Doc for Java包并解压缩,然后从lib文件夹下,将Spire.Doc.jar包导入到你的Java应用程序中。(导入成功后如下图所示)
技术图片

方法二:
通过Maven仓库安装导入。详细的操作步骤请参考链接:
https://www.e-iceblue.cn/licensing/install-spirepdf-for-java-from-maven-repository.html

【示例1】被合并的文档默认从新的一页开始显示

import com.spire.doc.Document;
import com.spire.doc.FileFormat;

public class MergeWordDocument {
    public static void main(String[] args){

        //获取第一个文档的路径
        String filePath1 = "文件1.docx";
        //获取第二个文档的路径
        String filePath2 = "文件2.docx";

        //加载第一个文档
        Document document = new Document(filePath1);

        //使用insertTextFromFile方法将第二个文档的内容插入到第一个文档
        document.insertTextFromFile(filePath2, FileFormat.Docx_2013);

        //保存文档
        document.saveToFile("Output.docx", FileFormat.Docx_2013);

    }
}

生成文档:
技术图片

【示例2】被合并的文档承接上一个文档的最后一个段落末尾开始显示

import com.spire.doc.Document;
import com.spire.doc.DocumentObject;
import com.spire.doc.FileFormat;
import com.spire.doc.Section;

public class MergeWordDocument {
    public static void main(String[] args){

        //加载第一个文档
        Document document1 = new Document();
        document1.loadFromFile("文件1.docx");
        //加载第二个文档
        Document document2 = new Document();
        document2.loadFromFile("文件2.docx");

        //获取第一个文档的最后一个section
        Section lastSection = document1.getLastSection();

        //将第二个文档的段落作为新的段落添加到第一个文档的最后一个section
        for (Section section:(Iterable <Section>)document2.getSections()) {
            for (DocumentObject obj:(Iterable <DocumentObject>)section.getBody().getChildObjects()
                    ) {
                lastSection.getBody().getChildObjects().add(obj.deepClone());
            }
        }

        //保存文档
        document1.saveToFile("Output.docx", FileFormat.Docx_2013);

    }
}

生成文档:
技术图片

以上是关于Java 合并Word文档的主要内容,如果未能解决你的问题,请参考以下文章

如何通过Java程序合并Word文档

如何通过java将多个word文档合成一个wor

Word 文档的优秀代码片段工具或插件?

java poi xwpf操作word生成一个表格怎么合并单元格,求大神指导!

[java,2017-05-04] 合并word文档

如何在 MS Word 文档中显示代码片段,因为它在 *** 中显示(滚动条和灰色背景)