在 word 文档中进行页面的添加、插入和删除是管理和展示内容的关键步骤。通过添加或插入新页面,您可以扩展文档以容纳更多内容,使其更有条理和易读性。删除页面则有助于简化文档,去除不必要或错误的信息。这些操作可以提升文档的整体质量和清晰度。本文将介绍如何使用 spire.doc for java 在 java 项目中添加、插入和删除 word 文档中的页面。
安装 spire.doc for java
首先,您需要在 java 程序中添加 spire.doc.jar 文件作为依赖项。您可以从此链接下载 jar 文件;如果您使用 maven,则可以通过在 pom.xml 文件中添加以下代码导入 jar 文件。
com.e-iceblue
e-iceblue
https://repo.e-iceblue.cn/repository/maven-public/
e-iceblue
spire.doc
12.4.14
java 在 word 文档中添加页面
在 word 文档末尾添加新页面的步骤包括定位到最后一个章节,然后在该章节的末尾段落插入分页符。这种方法可以确保后续添加的内容会从新页面开始显示,保持文档结构的清晰和连贯。以下是详细步骤:
- 创建一个 document 对象。
- 使用 document.loadfromfile() 方法加载示例 word 文档。
- 使用 document.getlastsection().getbody() 获取文档的最后一个节的正文部分。
- 通过调用 paragraph.appendbreak(breaktype.page_break) 方法添加一个分页符。
- 创建一个新的段落样式 paragraphstyle 对象。
- 使用 document.getstyles().add(paragraphstyle) 方法将新段落样式添加到文档样式集合中。
- 创建一个新的段落 paragraph 对象并设置文本内容。
- 使用 paragraph.applystyle(paragraphstyle.getname()) 方法应用之前创建的段落样式到新段落。
- 使用 body.getchildobjects().add(paragraph) 方法添加新段落到文档中。
- 使用 document.savetofile() 方法保存结果文档。
- java
import com.spire.doc.*;
import com.spire.doc.documents.*;
public class addonepage {
public static void main(string[] args) {
// 创建一个新的文档对象
document document = new document();
// 从文件加载示例文档
document.loadfromfile("示例.docx");
// 获取文档的最后一个章节的正文部分
body body = document.getlastsection().getbody();
// 在正文最后一个段落后插入分页符
body.getlastparagraph().appendbreak(breaktype.page_break);
// 创建一个新的段落样式
paragraphstyle paragraphstyle = new paragraphstyle(document);
paragraphstyle.setname("customparagraphstyle1");
paragraphstyle.getparagraphformat().setlinespacing(12);
paragraphstyle.getparagraphformat().setafterspacing(8);
paragraphstyle.getcharacterformat().setfontname("微软雅黑");
paragraphstyle.getcharacterformat().setfontsize(12);
// 将段落样式添加到文档的样式集合中
document.getstyles().add(paragraphstyle);
// 创建新的段落并设置文本内容
paragraph paragraph = new paragraph(document);
paragraph.appendtext("非常感谢您使用我们的 spire.doc for java 产品。试用版除了会在生成的结果文档中添加红色水印,而且仅支持转换前 10 页到其它格式。当您购买并应用 license 后,会成功移除这些水印信息并解除功能限制。");
// 应用段落样式
paragraph.applystyle(paragraphstyle.getname());
// 将段落添加到正文的内容集合中
body.getchildobjects().add(paragraph);
// 创建另一个新的段落并设置文本内容
paragraph = new paragraph(document);
paragraph.appendtext("为了更完整的试用我们的产品,我们免费提供一个月临时 license 给我们的每一位客户。请发送邮件到 sales @e-iceblue.com,我们会在一个工作日内将license发送给您。");
// 应用段落样式
paragraph.applystyle(paragraphstyle.getname());
// 将段落添加到正文的内容集合中
body.getchildobjects().add(paragraph);
// 保存文档到指定路径
document.savetofile("添加一个页面.docx", fileformat.docx);
// 关闭文档
document.close();
// 释放文档对象的资源
document.dispose();
}
}
java 在 word 文档中插入页面
在插入新页面之前,需要确定指定页面内容在节中的结束位置索引,然后逐个将新页面的内容添加到文档中。为了确保内容与后续页面分隔开来,需要在适当位置插入分页符。详细步骤如下:
- 创建一个 document 对象。
- 使用 document.loadfromfile() 方法加载示例 word 文档。
- 创建一个fixedlayoutdocument 对象。
- 获取文档中的一个页面的 fixedlayoutpage 对象。
- 获取页面最后一个段落在节中的索引位置。
- 创建一个新的段落样式 paragraphstyle 对象。
- 使用 document.getstyles().add(paragraphstyle) 方法将新段落样式添加到文档中。
- 创建一个新的段落 paragraph 对象并设置文本内容。
- 使用 paragraph.applystyle(paragraphstyle.getname()) 方法应用之前创建的段落样式到新段落。
- 使用 body.getchildobjects().insert(index, paragraph) 方法在指定位置(当前页最后一个段落之后)插入新段落。
- 创建另一个新的段落对象,设置其文本内容后,通过调用 paragraph.appendbreak(breaktype.page_break) 方法添加一个分页符,然后应用之前创建的段落样式,最后将这个段落插入到文档中。
- 使用 document.savetofile() 方法保存结果文档。
- java
import com.spire.doc.*;
import com.spire.doc.pages.*;
import com.spire.doc.documents.*;
public class insertonepage {
public static void main(string[] args) {
// 创建一个新的文档对象
document document = new document();
// 从文件加载示例文档
document.loadfromfile("示例.docx");
// 创建固定布局文档对象
fixedlayoutdocument layoutdoc = new fixedlayoutdocument(document);
// 获取第一页
fixedlayoutpage page = layoutdoc.getpages().get(0);
// 获取文档正文部分
body body = page.getsection().getbody();
// 获取当前页最后一列的段落
paragraph paragraphend = page.getcolumns().get(0).getlines().getlast().getparagraph();
// 初始化结束索引
int endindex = 0;
if (paragraphend != null)
{
// 获取最后一个段落的索引
endindex = body.getchildobjects().indexof(paragraphend);
}
// 创建一个新的段落样式
paragraphstyle paragraphstyle = new paragraphstyle(document);
paragraphstyle.setname("customparagraphstyle1");
paragraphstyle.getparagraphformat().setlinespacing(12);
paragraphstyle.getparagraphformat().setafterspacing(8);
paragraphstyle.getcharacterformat().setfontname("微软雅黑");
paragraphstyle.getcharacterformat().setfontsize(12);
// 将样式添加到文档中
document.getstyles().add(paragraphstyle);
// 创建新的段落并设置文本内容
paragraph paragraph = new paragraph(document);
paragraph.appendtext("非常感谢您使用我们的 spire.doc for java 产品。试用版除了会在生成的结果文档中添加红色水印,而且仅支持转换前 10 页到其它格式。当您购买并应用 license 后,会成功移除这些水印信息并解除功能限制。");
// 应用段落样式
paragraph.applystyle(paragraphstyle.getname());
// 在指定位置插入段落
body.getchildobjects().insert(endindex 1, paragraph);;
// 创建另一个新的段落并设置文本内容
paragraph = new paragraph(document);
paragraph.appendtext("为了更完整的试用我们的产品,我们免费提供一个月临时 license 给我们的每一位客户。请发送邮件到 sales @e-iceblue.com,我们会在一个工作日内将license发送给您。");
// 应用段落样式
paragraph.applystyle(paragraphstyle.getname());
// 添加分页符
paragraph.appendbreak(breaktype.page_break);
// 在指定位置插入段落
body.getchildobjects().insert(endindex 2, paragraph);
// 保存文档到指定路径
document.savetofile("在指定的页面后插入新的一页.docx",fileformat.docx);
// 关闭并释放文档对象的资源
document.close();
document.dispose();
}
}
java 从 word 文档中删除页面
要删除一个页面的内容,首先需要找到该页面的起始元素和结束元素在文档中的位置索引。接着,通过循环逐个移除这些元素,实现删除整个页面的内容。详细步骤如下:
- 创建一个 document 对象。
- 使用 document.loadfromfile() 方法加载示例 word 文档。
- 创建一个 fixedlayoutdocument 对象。
- 获取文档中的第一个页面 fixedlayoutpage 对象。
- 使用 fixedlayoutpage.getsection() 属性获取页面所在的节。
- 获取页面第一个段落在节中的索引位置。
- 获取页面最后一个段落在节中的索引位置。
- 使用一个 for 循环逐个移除页面的内容。
- 使用 document.savetofile() 方法保存结果文档。
- java
import com.spire.doc.*;
import com.spire.doc.pages.*;
import com.spire.doc.documents.*;
public class removeonepage {
public static void main(string[] args) {
// 创建一个新的文档对象
document document = new document();
// 从文件加载示例文档
document.loadfromfile("示例.docx");
// 创建固定布局文档对象
fixedlayoutdocument layoutdoc = new fixedlayoutdocument(document);
// 获取第二页
fixedlayoutpage page = layoutdoc.getpages().get(1);;
// 获取页面的节
section section = page.getsection();
// 获取第一页第一列的段落
paragraph paragraphstart = page.getcolumns().get(0).getlines().getfirst().getparagraph();
int startindex = 0;
if (paragraphstart != null)
{
// 获取起始段落的索引
startindex = section.getbody().getchildobjects().indexof(paragraphstart);
}
// 获取最后一页最后一列的段落
paragraph paragraphend = page.getcolumns().get(0).getlines().getlast().getparagraph();
int endindex = 0;
if (paragraphend != null)
{
// 获取结束段落的索引
endindex = section.getbody().getchildobjects().indexof(paragraphend);
}
// 删除指定范围内的段落
for (int i = 0; i <= (endindex - startindex); i )
{
section.getbody().getchildobjects().removeat(startindex);
}
// 保存文档到指定路径
document.savetofile("删除一个页面.docx", fileformat.docx);
// 关闭并释放文档对象的资源
document.close();
document.dispose();
}
}
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。