Word中,书签功能常用于查找、定位、标记特定字符或段落,对于篇幅较大的文档,此功能非常实用。下面,将介绍通过Java程序来添加及删除Word书签的方法。示例要点包括:
1. 添加书签
1.1 给指定段落添加书签
1.2 给指定字符串添加书签
2. 删除书签
2.1删除书签
2.2 删除书签文本
3. 读取书签文本
使用工具:Free Spire.Doc for Java (免费版)
Jar文件获取及导入:
方法1: 通过官网下载jar文件包。下载后,解压文件。并将lib文件夹下的Spire.Doc.jar文件导入到java程序。参考如下导入效果:
方法2:可通过maven仓库安装导入。可参考安装导入方法。
Java代码示例
【示例1】给指定段落添加书签
import com.spire.doc.*;
import com.spire.doc.documents.Paragraph;
public class AppendBookmark {
public static void main(String[]args){
//加载需要添加书签的Word文档
Document doc = new Document();
doc.loadFromFile("sample.docx");
//获取需要添加书签的段落
Paragraph para = doc.getSections().get(0).getParagraphs().get(1);
//在段落起始、末尾添加书签的开始标签和结束标签,并命名书签
BookmarkStart start = para.appendBookmarkStart("bookmark01");
para.getItems().insert(0,start);
para.appendBookmarkEnd("bookmark01");
//保存文档
doc.saveToFile("appendbookmark.docx",FileFormat.Docx_2013);
doc.dispose();
}
}
书签添加效果:
【示例2】给指定字符串添加书签
import com.spire.doc.*;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.TextSelection;
import com.spire.doc.fields.TextRange;
public class AppendBookmarkToCharacter {
public static void main(String[]args){
//加载文档
Document doc = new Document();
doc.loadFromFile("sample.docx");
//查找指定字符串
TextSelection textSelection = doc.findString("采用蕴含深意的象征语言,揭示人生的哲理。",false,false);
TextRange range = textSelection.getAsOneRange();
Paragraph para = range.getOwnerParagraph();
int index = para.getChildObjects().indexOf(range);
//添加书签
BookmarkStart start = new BookmarkStart(doc,"书签1");
BookmarkEnd end = new BookmarkEnd(doc, "书签1");
para.getChildObjects().insert(index, start);
para.getChildObjects().insert(index + 2, end);
//保存文档
doc.saveToFile("appendbookmarktocharacter.docx",FileFormat.Docx_2013);
doc.dispose();
}
}
书签添加效果
【示例3】删除书签、书签文本
import com.spire.doc.*;
import com.spire.doc.documents.BookmarksNavigator;
public class DeleteBookmarkAndBookmarkcontent {
public static void main(String[]args){
//加载文档
Document doc = new Document();
doc.loadFromFile("test.docx");
//定位到特定的书签
BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(doc);
bookmarksNavigator.moveToBookmark("bookmark1");
//删除书签处的内容
bookmarksNavigator.deleteBookmarkContent(true);
//删除书签(仅删除书签标签,原文书签处的内容)
doc.getBookmarks().remove(doc.getBookmarks().get("bookmark2"));//通过书签名删除
doc.getBookmarks().removeAt(1);//通过索引值删除
//保存文档
doc.saveToFile("deletebookmark.docx",FileFormat.Docx_2013);
}
}
运行程序后,生成的文档可查看书签删除效果。
【示例4】读取书签文本
import com.spire.doc.*;
import com.spire.doc.documents.BookmarksNavigator;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.TextBodyPart;
import com.spire.doc.fields.TextRange;
import java.io.IOException;
import java.io.PrintWriter;
public class GetBookmarkText {
public static void main(String[]args) throws IOException {
//加载包含书签的Word文档
Document doc = new Document();
doc.loadFromFile("test.docx");
//获取书签
BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(doc);
bookmarksNavigator.moveToBookmark("bookmark1");
//获取书签文本
TextBodyPart textBodyPart = bookmarksNavigator.getBookmarkContent();
//创建String变量
String text = "";
//遍历书签内容的项目
for (Object item : textBodyPart.getBodyItems()) {
//判断项目是否为段落
if (item instanceof Paragraph) {
Paragraph paragraph = (Paragraph) item;
//遍历段落中的子对象
for (Object childObj : paragraph.getChildObjects()) {
//判断子对象是否为TextRange
if (childObj instanceof TextRange) {
//获取TextRange中的文本
TextRange textRange = (TextRange) childObj;
text = text + textRange.getText();
}
}
}
}
//将获取到的文本写入Txt文件
PrintWriter printWriter = new PrintWriter("BookmarkText.txt");
printWriter.println(text);
printWriter.close();
}
}
书签读取结果:
- 大小: 37.7 KB
- 大小: 121.8 KB
- 大小: 125.4 KB
- 大小: 199.2 KB
分享到:
相关推荐
非常好的基于word模版,标签,导出word数据的例子
QT 操作word表格 及word书签替换的资源
Java面试题72:数据库的读写分离.mp4
本人编写的用java 实现对word文档的新建,打开,写入保存。需要包含poi外包实现。
使用POI读写Word doc文件 Apache poi的hwpf模块是专门用来对word doc文件进行读写操作的。在hwpf里面我们使用HWPFDocument来表示一个word doc文档
java对word的读写操作,解压后把jar放入项目组,就可以使用
poi读写word模板/JAVA生成word包
java读写word文件,是java2word,而不是poi,在网上找到的poi写入,其实写的还是一个文本文档,再用poi类就打不开了
Java读写 简单易懂,有完整的资历
利用Java下的IO读取或写入xml及word,txt文件,且能有效去除乱码(很适用,且和POI组建比,少占了很多内存),这是我根据网上很多不同的版本,整合而出的一种最易最好的IO读写文件代码;
java读写Excel,POI.JAR,Word内容读取
java文件读写操作大全java文件读写操作大全java文件读写操作大全java文件读写操作大全java文件读写操作大全
提供从本地或者服务器读取文件,获取其文件中的内容,以及提供写文件的功能,IDEA编译。
java 删除某行和读写txt文件 java中貌似没有直接删除某行的方法,这里用的方法是把文件里的内容读出来,写入一个String里,(不要的那行找到,不要写入String),然后再重新写入文件
使用java生成word的完美解决方案,非常的帮!
操作excel表单是程序猿必备技能。 这里很详细的总结了如何使用开源项目POI来操作excel表单。...推荐java初学者上http://www.happycoki.com网站去学习,这里为java初学者总结了一套学习教材,非常实用。
java操作word用的java2word.jar和java2word.exe。java读写word动态向word模板总填充数据,支持2003、2007、2010word版本。功能简单强大。需要的童靴可以试一下,代码很简单。
C# 可以读写word,可以插入表格,用标签写入word文件 1. 通过模板创建新文档 2. 保存新文件 3、 在书签处插入值 4插入表格,bookmark书签 5、修改word样式
java读写xml文件 java读写xml文件 java读写xml文件 java读写xml文件 java读写xml文件 java读写xml文件