书签,意指一本书的标签,主要用于使读者更快地找到阅读或修改的位置。同理,在Word中编辑或阅读文档时,也可经过使用书签来对某一处或几处进行标记,以便后期可以快速定位到指定文档位置,节约查找时间。本文将经过使用Java程序来详解介绍如何在Word文档中添加、读取和删除书签。html
方法1:经过官方网站下载获取jar包。解压后将lib文件夹下的Spire.Doc.jar文件导入Java程序。(以下图)java
方法2:经过maven仓库安装导入。具体安装详情参见此网页。app
import com.spire.doc.*; import com.spire.doc.documents.Paragraph; public class AddBookMark { public static void main(String[] args) { //建立Document对象 Document doc = new Document(); //加载Word文档 doc.loadFromFile("D:\\Desktop\\Sample.doc"); //获取你想要添加书签的段落 Paragraph paragraph = doc.getSections().get(0).getParagraphs().get(6); //添加一个开始标签并移动到段落开头 BookmarkStart start = paragraph.appendBookmarkStart("个人书签"); paragraph.getItems().insert(0,start); //在段落末尾添加一个结束标签 paragraph.appendBookmarkEnd("个人书签"); //保存文档 doc.saveToFile("output/AddBookmark.docx", FileFormat.Docx_2013); } }
书签添加效果:maven
import com.spire.doc.Document; 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.FileNotFoundException; import java.io.PrintWriter; public class ReadBookMark { public static void main(String[] args) throws FileNotFoundException { //建立Document对象 Document doc = new Document(); //加载Word文档 doc.loadFromFile("D:\\Desktop\\AddBookmark.docx"); //获取指定书签 BookmarksNavigator navigator = new BookmarksNavigator(doc); navigator.moveToBookmark("个人书签"); //获取书签内容 TextBodyPart textBodyPart = navigator.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("output/BookmarkText.txt"); printWriter.println(text); printWriter.close(); } }
书签文本读取效果:工具
import com.spire.doc.Document; import com.spire.doc.FileFormat; public class DeleteBookMark { public static void main(String[] args) { //建立Document对象 Document doc = new Document(); //加载Word文档 doc.loadFromFile("D:\\Desktop\\AddBookmark.docx"); //移除index为0的书签,即第一个书签 doc.getBookmarks().remove(doc.getBookmarks().get(0)); //保存文档 doc.saveToFile("output/RemoveBookmark.docx", FileFormat.Docx); } }
书签删除效果:网站
(本文完)spa