Java 拆分Word文档

本文介绍通过Java程序来拆分Word文档的方法,如下图,测试文档中,将根据Word文档中插入的分节符来拆分为四个文档。

在Java程序中,首先需要导入Spire.Doc.jar,jar包下载地址:Download;如果是Maven程序,请参考导入方法

 

Java代码示例

import com.spire.doc.*;

public class SplitDocument {
    public static void main(String[] args) {
        //加载Word文档
        Document doc = new Document();
        doc.loadFromFile("sample.docx");

        //声明新的Document对象
        Document newWord;

        //遍历源文档中的节
        for (int i = 0; i < doc.getSections().getCount(); i++)
        {
            //初始化新的Document对象
            newWord = new Document();

            //将源文档中的指定节复制到新文档
            newWord.getSections().add(doc.getSections().get(i).deepClone());

            //保存新文档到项目文件夹下(也可自定义保存路径)
            newWord.saveToFile(String.format("拆分结果-%d.docx", i));
        }
    }
}

文档拆分结果:

 

 

### 如何使用 Aspose.Words for Java 拆分 Word 文档 #### 按面范围拆分文档 为了按照指定的码范围来分割Word文档,可以利用`DocumentPageSplitter`类。下面是一个具体的实例代码: ```java // 打开一个Word文档 Document doc = new Document("path/to/your/document.docx"); // 创建用于分割文档的工具对象 DocumentPageSplitter splitter = new DocumentPageSplitter(doc); // 获取第3至6的内容并形成新的独立文档 Document pageDoc = splitter.getDocumentOfPageRange(3, 6); pageDoc.save("output/SplitDocumentByPageRange.docx"); ``` 这段程序会读取源文件中的特定几,并将其另存为一个新的单独文件[^2]。 #### 按章节(section)拆分文档 另一种常见的需求是以章节为基础来进行切割工作。这可以通过遍历整个文档内的各个章节完成,具体做法如下所示: ```java // 加载原始文档 Document srcDoc = new Document("path/to/source/doc.docx"); for (int i = 0; i < srcDoc.getSections().getCount(); ++i){ // 对每一个章节进行深拷贝 Section sectionCopy = srcDoc.getSections().get(i).deepClone(true); // 新建空白的目标文档 Document destDoc = new Document(); // 将复制过来的一章添加进去 destDoc.getLastSection().appendChild(sectionCopy.clone()); // 输出到磁盘上对应的路径下 destDoc.save(String.format("output/section_%d_out.docx", i)); } ``` 上述脚本实现了逐个提取原文件里的每节内容,并分别存储成单个的新文件[^3]。 #### 清理未使用的资源 当完成了文档的操作之后,建议调用`cleanup()`函数清除掉不再被引用的对象,比如多余的样式定义等,从而减小最终输出文件大小的同时也提高了性能表现: ```java doc.cleanup(); ``` 这样做有助于保持生成后的文档整洁有序[^1]。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值