Word处理控件Aspose.Words功能演示:使用 Java 拆分 MS Word 文档

news2024/9/20 20:41:55

Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。此外,API支持所有流行的Word处理文件格式,并允许将Word文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。 

Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。

Aspose.words 最新下载(qun:761297826)icon-default.png?t=N176https://www.evget.com/product/4116/download

在各种情况下,您需要将一个 MS Word 文档拆分为多个文档。例如,您可能需要为 Word 文档中的每个页面、部分或页面集合创建一个单独的文档。为了自动化文档拆分,本文介绍了如何使用 Java 以编程方式拆分 MS Word DOCX。以下部分提供了上述拆分标准的分步教程和代码示例。

一、下载用于拆分 Word DOCX 的 Java API

Aspose.Words for Java是一个功能强大且功能丰富的文档操作 API,可让您创建和处理 MS Word 文档。除了基本和高级的 Word 自动化功能外,API 还允许您将一个 Word 文档拆分为多个文档。您可以下载API 或使用以下配置将其安装在基于 Maven 的应用程序中。

<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>21.1</version>
<classifier>jdk17</classifier>
</dependency>

二、Word 文档拆分器 -

在开始拆分文档之前,您需要将以下帮助程序类添加到您的项目中,以实现基于 Aspose.Words for Java 的 Java 文档拆分器。添加类后,您可以使用以下部分中提供的代码示例继续拆分文档。

  • 分页器

三、使用 Java 拆分 Word DOCX

首先,让我们看一下如何按页拆分 MS Word 文档。在这种情况下,源文档的每一页都将转换为单独的 Word 文档。以下是拆分 Word 文档页面的步骤。

  • 使用Document类加载 Word 文档。
  • 创建PageSplitter的对象并使用Document对象对其进行初始化。
  • 循环浏览文档中的页面。
  • 使用PageSplitter.getDocumentOfPage(Int pageIndex)方法将每个页面检索到一个Document对象中。
  • 使用Document.save(String)方法保存文档。

以下代码示例显示了如何使用 Java 拆分 Word 文档。

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
// Open a Word document
Document doc = new Document("Word.docx");

// Split nodes in the document into separate pages
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);

// Save each page as a separate document
for (int page = 1; page <= doc.getPageCount(); page++)
{
Document pageDoc = splitter.getDocumentOfPage(page);
pageDoc.save("SplitDocumentByPage_" + page + ".docx");
}

四、在 Java 中使用页面范围拆分 Word DOCX

您还可以定义要从源 Word 文档中拆分的页面范围。以下是执行此操作的步骤。

  • 使用Document类加载 Word 文档。
  • 创建PageSplitter的对象并使用Document对象对其进行初始化。
  • 使用PageSplitter.getDocumentOfPageRange(Int, Int)方法将页面集合检索到Document对象中。
  • 使用Document.save(String)方法保存文档。

以下代码示例显示了如何使用 Java 按页面范围拆分 Word 文档。

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
// Open a Word document
Document doc = new Document("Word.docx");

// Split nodes in the document into separate pages
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);

// Get part of the document
Document pageDoc = splitter.getDocumentOfPageRange(3,6);
pageDoc.save("SplitDocumentByPageRange.docx");

五、使用 Java 按部分拆分 Word 文档

Aspose.Words for Java 还允许您通过分节符拆分 Word 文档。以下是执行此操作的步骤。

  • 使用Document类加载 Word 文档。
  • 使用Document.getSections()方法遍历文档的每个部分。
  • 使用Document.getSections().get(index).deepClone()方法将节克隆到节对象中。
  • 创建一个新文档并使用Document.getSections().add(Section)方法将克隆的部分添加到文档中。
  • 使用Document.save(String)方法保存文档。

以下代码示例显示了如何使用 Java 按部分拆分 Word 文档。

// Load a Word DOCX document
Document doc = new Document("word.docx");

for (int i = 0; i < doc.getSections().getCount(); i++) {
// Split a document into smaller parts, in this instance split by section
Section section = doc.getSections().get(i).deepClone();

// Create a new document
Document newDoc = new Document();
newDoc.getSections().clear();

// Add section
Section newSection = (Section) newDoc.importNode(section, true);
newDoc.getSections().add(newSection);

// Save each section as a separate document
newDoc.save("splitted_" + i + ".docx");
}

以上便是使用 Java 拆分 MS Word 文档 详细步骤 ,要是您还有其他关于产品方面的问题,欢迎咨询我们,或者加入我们官方技术交流群。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/352241.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ASE28N50-ASEMI高压N沟道MOS管ASE28N50

编辑-Z ASE28N50在TO-247封装里的静态漏极源导通电阻&#xff08;RDS(ON)&#xff09;为200mΩ&#xff0c;是一款N沟道高压MOS管。ASE28N50的最大脉冲正向电流ISM为110A&#xff0c;零栅极电压漏极电流(IDSS)为1uA&#xff0c;其工作时耐温度范围为-55~150摄氏度。ASE28N50功…

【实战场景二】如何设计一个分布式锁?

如何优雅的设计一个分布式锁&#xff1f;如何设计一个分布式锁&#xff1f;1、什么是分布式锁2、那么分布式锁&#xff0c;具备什么条件呢&#xff1f;3、设计分布式锁有哪些方式&#xff1f;3.1 利用redis实现分布式锁原理3.2 基于数据库做分布式锁3.3 基于zookeeper实现分布式…

L1-064 估值一亿的AI核心代码

以上图片来自新浪微博。 本题要求你实现一个稍微更值钱一点的 AI 英文问答程序&#xff0c;规则是&#xff1a; 无论用户说什么&#xff0c;首先把对方说的话在一行中原样打印出来&#xff1b;消除原文中多余空格&#xff1a;把相邻单词间的多个空格换成 1 个空格&#xff0c…

如何有效提升微信小程序的排名?

微信小程序排名提升的方法有很多&#xff0c;今天厦门巨神峰给大家分享几点&#xff1a; 1. 加强小程序的用户体验&#xff0c;提升用户满意度&#xff1b; 2. 加强小程序的口碑宣传&#xff0c;提升小程序的知名度&#xff1b; 3. 加强小程序的技术支持&#xff0c;提升小程…

血糖高不高,看皮肤也能知道

糖尿病是一种以高血糖为特征的代谢性疾病。长期存在的高血糖&#xff0c;导致各种组织&#xff0c;特别是眼、肾、心脏、血管、神经的慢性损害、功能障碍。很多人不知道&#xff0c;皮肤也会受到血糖影响。以下就是皮肤发出的警告&#xff1a;1.黑棘皮病&#xff1a;后脖颈、腋…

Docker安全防护与配置

author: aming email: jikcheng163.com title: Docker安全防护与配置 creation_date: 2023-02-08 12:26 Last modified date: 2023-02-08 14:09 tags: Docker安全防护与配置 File Folder with relative path: reading notes/doc remark: other: 本章背景知识 运行在容器内部的…

【C++修行之路】C/C++内存管理

文章目录程序区域内存划分C语言动态内存分配&#xff1a;new和delete&#xff1a;new、delete和malloc、free的区别:程序区域内存划分 C/C程序内存区域划分非常相似。 C语言动态内存分配&#xff1a; malloc、calloc、realloc都是C语言动态开辟内存的常用函数 其中 malloc 开…

【Mybatis源码解析】一级缓存和二级缓存源码解析

文章目录缓存使用缓存源码测试代码上一篇《【Mybatis源码解析】mapper实例化及执行流程源码分析》&#xff0c;主要讲解了Mybatis的基本原理一级执行的流程&#xff0c;这一章来讲一下Mybatis的两个缓存&#xff1a;一级缓存和二级缓存。 因为网上大部分都是使用xml配置的方式…

函数编程之Function

文章目录前言一、Function是什么&#xff1f;二、Function 怎么用?1.简单使用2.真正的强大之处总结前言 在java8之后,我已经习惯了开始用stream()方式编程,但是对于新引入的其他功能,还是不清楚,今天经历了一个编程问题后,让我对于Function() 这个函数有了新的认知; 一、Func…

渲染农场优势是什么_云渲染农场怎么用?

在回答渲染农场的优势这个问题之前&#xff0c;我先申明一下本文中提到的渲染农场/云渲染平台/云渲染农场&#xff0c;都特指CG领域内的专业3D渲染平台&#xff0c;有一些文章会强调这个叫法的区别&#xff0c;但是业内一般都不会分这么细&#xff0c;所以也就不赘述了。渲染农…

【Spark分布式内存计算框架——Spark SQL】7. 数据处理分析案例

4.3 案例&#xff1a;电影评分数据分析 使用电影评分数据进行数据分析&#xff0c;分别使用DSL编程和SQL编程&#xff0c;熟悉数据处理函数及SQL使用&#xff0c;业务需求说明&#xff1a; 对电影评分数据进行统计分析&#xff0c;获取Top10电影&#xff08;电影评分平均值最高…

4道数学题,求解极狐GitLab CI 流水线|第23题:父子流水线 + 多项目流水线

本文来自&#xff1a; 武让 极狐(GitLab) 高级解决方案架构师 &#x1f4a1; 极狐GitLab CI 依靠其一体化、轻量化、声明式、开箱即用的特性&#xff0c;在开发者群体中的使用率越来越高&#xff0c;在国内企业中仅次于 Jenkins &#xff0c;排在第二位。 极狐GitLab 流水线有…

如何解决错误“已超过了锁请求超时时段。 (Microsoft SQL Server,错误: 1222)“

解决 Microsoft SQL Server 的错误: 1222 使用存储过程 sp_who2设置 LOCK_TIMEOUT在Microsoft SQL Server Management Studio中,有时会在对象资源管理器中查看树、表或过程时收到错误。当查询等待的时间超过锁定超时设置时,通常会发生此错误。锁定超时以毫秒为单位,等待后端…

LeetCode 382. 链表随机节点

原题链接 难度&#xff1a;middle\color{orange}{middle}middle 题目描述 给你一个单链表&#xff0c;随机选择链表的一个节点&#xff0c;并返回相应的节点值。每个节点 被选中的概率一样 。 实现 SolutionSolutionSolution 类&#xff1a; Solution(ListNodehead)Solution…

数据库(第五次作业)

1.1 Redis概述 1.1.1 什么是Redis 2008年&#xff0c;意大利的一家创业公司Merzia推出了一款基于MySQL的网站实时统计系统LLOOGG&#xff0c;然而没过多久该公司的创始人 Salvatore Sanfilippo便开始对MySQL的性能感到失望&#xff0c;于是他决定亲自为LLOOGG量身定做一个数据…

Amazon S3简介

前言&#xff1a; 这段时间来到了某大数据平台&#xff0c;做平台技术底座封装和一些架构等等&#xff0c;有结构化数据也有非结构数据&#xff0c;涉及到很多技术&#xff0c;自己也私下花时间去研究了很多&#xff0c;有很多纯技术类的还是需要梳理并记录&#xff0c;巩固以及…

保姆级教程:Win10远程连接MACBook、MACBook远程连接Win10。

本篇给大家展示Windows远程连接连接MACBook、MACBook远程连接Windows的方法。需要明确的是&#xff0c;这种通过TCP远程连接的远程很稳定&#xff0c;基本比向日葵等软件流畅很多&#xff0c;但是缺点是需要保证在同一网域下&#xff0c;也就是同一局域网下&#xff0c;部分情况…

中国协同办公的终局是什么?

换言之&#xff0c;工具一体化是基本要求&#xff0c;但基于全链路集成的生态则是因地制宜、于当下的产业探索。 作者|斗斗 编辑|皮爷 出品|产业家 “计划裁员1300人&#xff0c;占到全球员工的15%。”美国东部时间2月7日&#xff0c;Zoom CEO袁征在官网博客发布公开信…

【SpringBoot】分布式日志跟踪—通过MDC实现全链路调用日志跟踪

一.MDC 1.MDC介绍 MDC&#xff08;Mapped Diagnostic Context&#xff0c;映射调试上下文&#xff09;是 log4j 和 logback 提供的一种方便在多线程场景下记录日志的功能。MDC 可以看成是一个与当前线程绑定的Map&#xff0c;可以往其中添加键值对。MDC 中包含的内容可以被同…

Python机器学习入门笔记(2)—— 分类算法

目录 转换器&#xff08;transformer&#xff09;和估计器&#xff08;estimator&#xff09; K-近邻&#xff08;K-Nearest Neighbors&#xff0c;简称KNN&#xff09;算法 模型选择与调优 交叉验证&#xff08;Cross-validation&#xff09; GridSearchCV API 朴素贝叶…