Java 添加、讀取、刪除Word書籤

書籤,意指一本書的標籤,主要用於使讀者更快地找到閱讀或修改的位置。同理,在Word中編輯或閱讀文檔時,也可經過使用書籤來對某一處或幾處進行標記,以便後期可以快速定位到指定文檔位置,節約查找時間。本文將經過使用Java程序來詳解介紹如何在Word文檔中添加、讀取和刪除書籤。html

使用工具:Free Spire.Doc for Java(免費版)

Jar文件獲取及導入:

方法1:經過官方網站下載獲取jar包。解壓後將lib文件夾下的Spire.Doc.jar文件導入Java程序。(以下圖)java

安裝圖片.gif

方法2:經過maven倉庫安裝導入。具體安裝詳情參見此網頁app

【示例1】添加書籤

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

效果1.jpg

【示例2】讀取書籤文本

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();
    }
}

書籤文本讀取效果:工具

效果2.jpg

【示例3】刪除書籤

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);
    }
}

書籤刪除效果:網站

效果3.jpg

(本文完)spa

相關文章
相關標籤/搜索