JAVA 添加、修改和刪除PDF書(shū)簽的示例代碼
當(dāng)閱讀篇幅較長(zhǎng)的PDF文檔時(shí),為方便我們?cè)俅伍喿x時(shí)快速定位到上一次的閱讀位置,可以插入一個(gè)書(shū)簽進(jìn)行標(biāo)記;此外,對(duì)于文檔中已有的書(shū)簽,我們也可以根據(jù)需要進(jìn)行修改或者刪除等操作。本篇文章將通過(guò)Java編程來(lái)展示如何添加、修改以及刪除PDF書(shū)簽。
工具使用:
•Free Spire.Pdf for Java 2.4.4 (免費(fèi)版)
•IntelliJ IDEA
Jar包導(dǎo)入:
方式一:首先,從官網(wǎng)獲取Free Spire.PDF for Java之后解壓,以下是三種在IDEA中快速打開(kāi)Project Structure界面的方式;如下圖:

然后,按照以下步驟進(jìn)行操作:① 選擇“Modules”—“Dependencies”,添加外置jar包;② 進(jìn)入"Attach File or Directories"界面選擇jar文件路徑,然后點(diǎn)擊“OK”;③ 勾選jar路徑選項(xiàng),點(diǎn)擊”O(jiān)K”/”Apply”;④ 導(dǎo)入完成。如下圖:

方式二:使用Maven配置導(dǎo)包??梢詤⒖紝?dǎo)入方法。
測(cè)試文檔:

JAVA代碼示例參考:
1. 添加書(shū)簽
import com.spire.pdf.*;
import com.spire.pdf.actions.PdfGoToAction;
import com.spire.pdf.bookmarks.PdfBookmark;
import com.spire.pdf.bookmarks.PdfTextStyle;
import com.spire.pdf.general.PdfDestination;
import com.spire.pdf.graphics.PdfRGBColor;
import java.awt.*;
import java.awt.geom.Point2D;
public class bookmark {
public static void main(String[] args) throws Exception{
//創(chuàng)建PDF實(shí)例
PdfDocument doc = new PdfDocument();
//從系統(tǒng)中加載PDF文件
doc.loadFromFile("data/Sample.pdf");
PdfPageBase page = doc.getPages().get(2);
//添加書(shū)簽
PdfBookmark bookmark = doc.getBookmarks().add("第三頁(yè)");
//獲取位置,頁(yè)碼的開(kāi)頭
PdfDestination bookmarkLocation = new PdfDestination(page, new Point2D.Float(0 , 0));
bookmark.setAction(new PdfGoToAction(bookmarkLocation));
//書(shū)簽樣式
bookmark.setColor(new PdfRGBColor(Color.BLUE));
bookmark.setDisplayStyle(PdfTextStyle.Bold);
PdfPageBase page1 = doc.getPages().get(3);
PdfBookmark bookmark1 = doc.getBookmarks().add("第四頁(yè)");
PdfDestination bookmarkLocation1 = new PdfDestination(page1, new Point2D.Float(0 , 0));
bookmark1.setAction(new PdfGoToAction(bookmarkLocation1));
bookmark1.setColor(new PdfRGBColor(Color.RED));
bookmark1.setDisplayStyle(PdfTextStyle.Bold);
//保存PDF文件
doc.saveToFile("output/bookmarks.pdf");
doc.close();
}
}
書(shū)簽添加效果:

2. 修改書(shū)簽
import com.spire.pdf.PdfDocument;
import com.spire.pdf.bookmarks.*;
import com.spire.pdf.graphics.PdfRGBColor;
import java.awt.*;
public class updateBookmark {
public static void main(String[] args) {
//創(chuàng)建PDF實(shí)例
PdfDocument doc = new PdfDocument();
//從系統(tǒng)中加載PDF文件
doc.loadFromFile("output/bookmarks.pdf");
//獲取第一個(gè)書(shū)簽
PdfBookmark bookmark = doc.getBookmarks().get(0);
//更改書(shū)簽
bookmark.setTitle("已更新的書(shū)簽");
// 設(shè)置書(shū)簽的顏色
bookmark.setColor(new PdfRGBColor(Color.black));
//設(shè)置書(shū)簽文本加粗
bookmark.setDisplayStyle(PdfTextStyle.Bold);
//保存文件
doc.saveToFile("output/updateBookmark.pdf");
doc.close();
}
}
書(shū)簽修改效果:

3. 刪除書(shū)簽
import com.spire.pdf.PdfDocument;
public class deleteBookmark {
public static void main(String[] args) {
//創(chuàng)建PDF實(shí)例
PdfDocument doc = new PdfDocument();
//從系統(tǒng)中加載PDF文件
doc.loadFromFile("output/bookmarks.pdf");
//removeAt()方法移除書(shū)簽
doc.getBookmarks().removeAt(0);
//保存文件
doc.saveToFile("output/deleteBookmark.pdf");
doc.close();
}
}
書(shū)簽刪除效果:

總結(jié)
以上所述是小編給大家介紹的JAVA 添加、修改和刪除PDF書(shū)簽的示例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
ssm開(kāi)發(fā)使用redis作為緩存的使用步驟
在開(kāi)發(fā)中經(jīng)常遇到大量的重復(fù)的,高并發(fā)的查詢(xún),此時(shí)可以使用redis緩存。這篇文章主要介紹了ssm開(kāi)發(fā)使用redis作為緩存的使用步驟,感興趣的小伙伴們可以參考一下2018-11-11
關(guān)于springboot集成阿里云短信的問(wèn)題
這篇文章主要介紹了springboot集成阿里云短信的方法,本文通過(guò)實(shí)例代碼圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-11-11
Idea連接數(shù)據(jù)庫(kù)并執(zhí)行SQL語(yǔ)句的方法示例
這篇文章主要介紹了Idea連接數(shù)據(jù)庫(kù)并執(zhí)行SQL語(yǔ)句的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
SpringBoot整合POI導(dǎo)出通用Excel的方法示例
這篇文章主要介紹了SpringBoot整合POI導(dǎo)出通用Excel的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
springboot項(xiàng)目docker分層構(gòu)建的配置方式
在使用dockerfile構(gòu)建springboot項(xiàng)目時(shí),速度較慢,用時(shí)比較長(zhǎng),為了加快構(gòu)建docker鏡像的速度,采用分層構(gòu)建的方式,這篇文章主要介紹了springboot項(xiàng)目docker分層構(gòu)建,需要的朋友可以參考下2024-03-03
詳解Java的JDBC中Statement與PreparedStatement對(duì)象
這篇文章主要介紹了詳解Java的JDBC中Statement與PreparedStatement對(duì)象,PreparedStatement一般來(lái)說(shuō)比使用Statement效率更高,需要的朋友可以參考下2015-12-12
Java中的鍵盤(pán)事件處理及監(jiān)聽(tīng)機(jī)制解析
這篇文章主要介紹了Java中的鍵盤(pán)事件處理及監(jiān)聽(tīng)機(jī)制解析,Java事件處理采用了委派事件模型,在這個(gè)模型中,當(dāng)事件發(fā)生時(shí),產(chǎn)生事件的對(duì)象將事件信息傳遞給事件的監(jiān)聽(tīng)者進(jìn)行處理,在Java中,事件源是產(chǎn)生事件的對(duì)象,比如窗口、按鈕等,需要的朋友可以參考下2023-10-10

