如何通过Java程序来添加及删除Word书签
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,这篇文章主要介绍了如何通过Java程序来添加及删除Word书签,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Word中,书签功能常用于
千家信息网最后更新 2025年02月05日如何通过Java程序来添加及删除Word书签
这篇文章主要介绍了如何通过Java程序来添加及删除Word书签,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
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仓库安装导入。可参考安装导入方法。
【示例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("bookmark1"));//通过书签名删除 doc.getBookmarks().removeAt(0);//通过索引值删除 //保存文档 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(); } }
书签读取结果:
感谢你能够认真阅读完这篇文章,希望小编分享的"如何通过Java程序来添加及删除Word书签"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
书签
文档
文本
段落
文件
字符
示例
字符串
篇文章
程序
内容
效果
方法
标签
参考
功能
对象
项目
定位
实用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器能开机但容易重启
dell 服务器远程管理
软件开发crm管理
常用的网络安全技术
服务器配置后怎么加载程序
什么时候可以开一个红月服务器
软件开发公司用的什么软件聊天
atlas玩哪个服务器人多
查询数据库的科目编码
b2b平台网络安全
文科生适合软件开发
小学生网络安全知识竞赛题目
网络安全应急指挥中心设计
互联网科技创新应用案例
青浦区运营网络技术均价
工业物联网的网络技术
股配软件开发平台
百度推广服务器
镁光服务器内存温度
酒店网络技术员述职报告
在数据库领域我们把表称作什么
奥比中光java软件开发实习
服务器操作系统驱动软件
网络安全人人有责班会主题
计算机网络技术推荐书籍
渝中区网络软件开发服务公司
服务器系统运维收费
自走棋dota 无法连接服务器
pda软件开发技术
数据库工厂管理系统c代码