書籤,意指一本書的標籤,主要用於使讀者更快地找到閱讀或修改的位置。同理,在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