java书签_Java 操作Word书签(一):添加、删除、读取书签
Word中,书签功能常用于查找、定位、标记特定字符或段落,对于篇幅较大的文档,此功能非常实用。下面,将介绍通过Java程序来添加及删除Word书签的方法。示例要点包括:
1. 添加书签
1.1 给指定段落添加书签
1.2 给指定字符串添加书签
2. 删除书签
2.1删除书签
2.2 删除书签文本
3. 读取书签文本
使用工具:Free Spire.Doc for Java (免费版)
Jar文件获取及导入:
方法1: 通过官网
方法2:可通过maven仓库
Java 代码示例
【示例1】给指定段落添加书签
import com.spire.doc.*;importcom.spire.doc.documents.Paragraph;public classAppendBookmark {public static voidmain(String[]args){//加载需要添加书签的Word文档
Document doc = newDocument();
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.*;importcom.spire.doc.documents.Paragraph;importcom.spire.doc.documents.TextSelection;importcom.spire.doc.fields.TextRange;public classAppendBookmarkToCharacter {public static voidmain(String[]args){//加载文档
Document doc = newDocument();
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.*;importcom.spire.doc.documents.BookmarksNavigator;public classDeleteBookmarkAndBookmarkcontent {public static voidmain(String[]args){//加载文档
Document doc = newDocument();
doc.loadFromFile("test.docx");//定位到特定的书签
BookmarksNavigator bookmarksNavigator = newBookmarksNavigator(doc);
bookmarksNavigator.moveToBookmark("bookmark1");//删除书签处的内容
bookmarksNavigator.deleteBookmarkContent(true);//删除书签(仅删除书签标签,原文书签处的内容)
doc.getBookmarks().remove(doc.getBookmarks().get("bookmark1"));//通过书签名删除
doc.getBookmarks().removeAt(0);//通过索引值删除//保存文档
doc.saveToFile("deletebookmark.docx",FileFormat.Docx_2013);
}
}
【示例4】读取书签文本
import com.spire.doc.*;importcom.spire.doc.documents.BookmarksNavigator;importcom.spire.doc.documents.Paragraph;importcom.spire.doc.documents.TextBodyPart;importcom.spire.doc.fields.TextRange;importjava.io.IOException;importjava.io.PrintWriter;public classGetBookmarkText {public static void main(String[]args) throwsIOException {//加载包含书签的Word文档
Document doc = newDocument();
doc.loadFromFile("test.docx");//获取书签
BookmarksNavigator bookmarksNavigator = newBookmarksNavigator(doc);
bookmarksNavigator.moveToBookmark("bookmark1");//获取书签文本
TextBodyPart textBodyPart =bookmarksNavigator.getBookmarkContent();//创建String变量
String text = "";//遍历书签内容的项目
for(Object item : textBodyPart.getBodyItems()) {//判断项目是否为段落
if (item instanceofParagraph) {
Paragraph paragraph=(Paragraph) item;//遍历段落中的子对象
for(Object childObj : paragraph.getChildObjects()) {//判断子对象是否为TextRange
if (childObj instanceofTextRange) {//获取TextRange中的文本
TextRange textRange =(TextRange) childObj;
text= text +textRange.getText();
}
}
}
}//将获取到的文本写入Txt文件
PrintWriter printWriter = new PrintWriter("BookmarkText.txt");
printWriter.println(text);
printWriter.close();
}
}
书签读取结果:
(本文完)
java书签_Java 操作Word书签(一):添加、删除、读取书签相关推荐
- phpexcel_cell 获取表格样式_Java 操作Word表格——创建嵌套表格、添加/复制表格行或列、设置表格是否禁止跨页断行...
精品推荐 国内稀缺优秀Java全栈课程-Vue+SpringBoot通讯录系统全新发布! Docker快速手上视频教程(无废话版)[免费] 作者:E-iceblue https://www.cnblo ...
- java word 颜色设置_Java 给Word文档添加背景颜色
前言 当我们制作好Word文档后,想要让枯燥乏味的文本显得有活力,或是想高亮显示文档中指定的段落或文字,此时我们可以通过为整个文档或某特定文字/段落添加背景色的形式来实现.本文将使用Free Spir ...
- java 加背景颜色_Java 给Word文档添加背景颜色
前言 当我们制作好Word文档后,想要让枯燥乏味的文本显得有活力,或是想高亮显示文档中指定的段落或文字,此时我们可以通过为整个文档或某特定文字/段落添加背景色的形式来实现.本文将使用Free Spir ...
- Java程序中操作Word表格
本文将对如何在Java程序中操作Word表格作进一步介绍.操作要点包括 如何在Word中创建嵌套表格. 对已有表格添加行或者列 复制已有表格中的指定行或者列 对跨页的表格可设置是否禁止跨页断行 创建表 ...
- java使用poi操作word模板,插入图片、段落、表格
java使用poi操作word插入图片.段落.表格 其他链接 准备工作 创建word模板.docx文件 编写模板格式.xml文件 java上手poi maven依赖 使用到的包 具体应用 对应封装方法 ...
- 总结java关于jacob操作word这几天遇到的问题!
由于这几天的客户需求使用到了java关于jacob操作word的问题,下面对这几天遇到的问题进行一下总结: 本机第一次使用jacob的时候,本机装的WPS接下来一路畅通,直到最后完成word的导出功能 ...
- 如何在word表格中添加删除线,划去不想要的部分?
如何在word表格中添加删除线,划去不想要的部分? 一.在word的表格中不能直接添加删除线,只能先在excel表格中加上删除线,再复制到word表格中 二.excel表格中添加删除线: 右击选中需要 ...
- java使用jacob操作word添加图片
1.操作word需要的jacobjar包和dll文件.(请多多支持!) java使用jacob给word添加水印.这是给word添加水印,当业务需求在多页word文档中,某一页添加水印一样的盖章,这个 ...
- java读写word模板_Java操作Word模板插入列表
Java操作Word模板插入列表 通过poi操作word,插入各种编号的列表,包括数字,字母,罗马字符,自定义任意字符.下面的示例就用了音乐符♬. 1.制作模板,插入列表使用语法*,模板内容为{{*n ...
最新文章
- 在CentOS 6.6 64bit上安装Oracle VirtualBox 5.0.12
- python语言自学教程-3D图示Python标准自学教程入门篇
- 10件开发者和老板都要知道的HTML5的那些事
- 电脑教程从入门到精通_HALCON机器视觉软件零基础入门学习到精通实用教学视频教程...
- C#——《C#语言程序设计》实验报告——继承与多态——电视和电灯委托
- 记录 之 TypeError: ‘int‘ object is not subscriptable
- Java关键字(53个关键字)
- PID控制器改进笔记之五:改进PID控制器之串级设定
- Python库:jieba库中文分词
- struct interface_今天就谈谈go中的接受 interface 参数,返回 struct
- 解决Linux里面未启用网卡的问题
- docker容器下mysql更改WordPress的site address和home(URL)
- windows bat与vbs与reg脚本整合 持续更新
- linux 更新软件命令 失败,(2015.1.13 更新)联合DSDT和SSDT进行反编译——减少DSDT和SSDT错误的尝试...
- 记录 UiPath 学习中遇到的一些问题以及解决办法
- 【JZOJ4587】Snow的追寻
- TF flags的简介
- 网易2019实习生招聘编程题集合
- 理工科科研结果展示怎样让PPT高大上?
- 蒸汽式粉条机发展和销售乱象
热门文章
- 出现BOOTMGR is missing 最简单实用的解决方案
- H264 AVCC 格式转 ANNEX B格式
- hpp文件和h文件有什么区别
- k8s 1.24 dashboard
- 数学建模 MATLAB MATLAB全局优化算法
- 英特尔SST音频驱动导致Windows11电脑蓝屏,驱动人生带来电脑蓝屏解决方案
- 机顶盒 img打包工具_安卓网络机顶盒如何通过KODI看m3u8电视直播
- Java 编写在线考试系统-049 窗体程序 完整源码
- 常用颜色的十六进制和rgb格式
- torch.nn 和 torch.functional 的区别