日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java pdf 书签_Java PDF书签——添加、编辑、删除、读取书签

發布時間:2025/3/13 java 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java pdf 书签_Java PDF书签——添加、编辑、删除、读取书签 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文介紹通過Java程序來操作PDF書簽,根據對書簽的不同操作要求,分以下情況來介紹:

1. 添加書簽(包括添加一級書簽、多級子書簽)

3. 刪除書簽(包括刪除所有書簽、刪除子書簽等)

4. 讀取書簽

工具使用

程序使用輔助工具:Free Spire.PDF for Java(免費版)

方法1

:可下載

jar包,解壓并將lib文件夾下的jar文件導入java程序(手動導入)

方法2

: 通過創建Maven項目程序,在pom.xml中配置maven倉庫路徑并指定Free Spire.PDF for Java 的依賴,配置完成后,在IDEA中,點擊“Import Changes”導入JAR包:

com.e-iceblue

http://repo.e-iceblue.cn/repository/maven-public/

e-iceblue

spire.pdf.free

2.6.3

(Ecllipse

的導入方法,參考這篇

)

jar導入結果如下圖所示:

1.

添加書簽到PDF

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?AddBookmark?{

public?static?void?main(String[]?args)?{

//創建PdfDocument實例

PdfDocument?pdf?=?new?PdfDocument();

//加載PDF文檔

pdf.loadFromFile("test.pdf");

//獲取第一頁

PdfPageBase?page?=?pdf.getPages().get(0);

//添加書簽

PdfBookmark?bookmark?=?pdf.getBookmarks().add("第一部分?調查研究概述");

bookmark.setDisplayStyle(PdfTextStyle.Bold);//設置字體樣式

bookmark.setColor(new?PdfRGBColor(new?Color(139,?69,?19)));//設置字體顏色

PdfDestination?destination?=?new?PdfDestination(page,?new?Point2D.Float(0,?0));//設置書簽的目標頁面和位置

bookmark.setAction(new?PdfGoToAction(destination));

//添加二級子書簽

PdfBookmark?childBookmark?=?bookmark.add("第一節?菌種特性研究");

childBookmark.setColor(new?PdfRGBColor(new?Color(255,?127,?80)));//設置字體顏色

childBookmark.setDisplayStyle(PdfTextStyle.Italic);//設置字體樣式

PdfDestination?childDestination?=?new?PdfDestination(page,?new?Point2D.Float(0,?100));//設置子書簽的目標頁面和位置

childBookmark.setAction(new?PdfGoToAction(childDestination));

//添加三級子書簽

PdfBookmark?childBookmark1?=?childBookmark.add("1.?菌種特性概念");

childBookmark1.setColor(new?PdfRGBColor(new?Color(125,?152,?100)));//設置字體顏色

childBookmark1.setDisplayStyle(PdfTextStyle.Italic);//設置字體樣式

PdfDestination?childDestination1?=?new?PdfDestination(page,?new?Point2D.Float(50,?100));//設置子書簽的目標頁面和位置

childBookmark1.setAction(new?PdfGoToAction(childDestination1));

//保存文檔

pdf.saveToFile("AddBookmarks.pdf");

pdf.dispose();

}

}

書簽添加效果:

2.

編輯PDF

中已有的書簽

import?com.spire.pdf.*;

import?com.spire.pdf.bookmarks.PdfBookmark;

import?com.spire.pdf.bookmarks.PdfTextStyle;

import?com.spire.pdf.graphics.PdfRGBColor;

import?java.awt.*;

public?class?ModifyBookmark?{

public?static?void?main(String[]?args)?{

//創建PdfDocument實例

PdfDocument?pdf?=?new?PdfDocument();

//加載PDF文檔

pdf.loadFromFile("AddBookmarks.pdf");

//獲取第一個書簽,修改書簽標題、字體顏色、字體樣式

PdfBookmark?bookmark?=?pdf.getBookmarks().get(0);

bookmark.setTitle("新標題");

bookmark.setColor(new?PdfRGBColor(new?Color(255,20,147)));

bookmark.setDisplayStyle(PdfTextStyle.Bold);

//修改子書簽的字體、顏色和字體樣式等

for?(int?i?=?0?;?i

//修改二級子書簽

PdfBookmark?childBookmark?=??bookmark.get(0);

childBookmark.setColor(new?PdfRGBColor(new?Color(148,0,211)));

childBookmark.setDisplayStyle(PdfTextStyle.Italic);

//修改三級子書簽

PdfBookmark?childBookmark1?=?childBookmark.get(0);

childBookmark1.setColor(new?PdfRGBColor(new?Color(255,215,0))?);

childBookmark1.setDisplayStyle(PdfTextStyle.Italic);

}

//保存文檔

pdf.saveToFile("ModifyBookmarks.pdf");

pdf.close();

}

}

書簽編輯結果:

3.

刪除PDF

中的書簽

import?com.spire.pdf.*;

public?class?DeleteBookmark?{

public?static?void?main(String[]?args)?{

//創建PdfDocument實例,加載PDF文檔

PdfDocument?pdf?=?new?PdfDocument();

pdf.loadFromFile("AddBookmarks.pdf");

//刪除第一個書簽(包括刪除其包含的子書簽)

pdf.getBookmarks().removeAt(0);

/*//僅刪除子書簽

PdfBookmark?childBookmark?=?pdf.getBookmarks().get(0);

childBookmark.removeAt(0);*/

//保存文檔

pdf.saveToFile("RemoveBookmark.pdf");

pdf.dispose();

}

}

4.

讀取PDF

中的書簽

import?com.spire.pdf.*;

import?com.spire.pdf.bookmarks.PdfBookmark;

import?com.spire.pdf.bookmarks.PdfBookmarkCollection;

import?java.io.FileWriter;

import?java.io.IOException;

public?class?GetBookmark?{

public?static?void?main(String[]?args)?{

//加載包含書簽的PDF文檔

PdfDocument?pdf?=?new?PdfDocument();

pdf.loadFromFile("AddBookmarks.pdf");

//獲取書簽集合

PdfBookmarkCollection?bookmarkCollection?=?pdf.getBookmarks();

//實例化StringBuilder類

StringBuilder?stringbuilder?=?new?StringBuilder();

//定義方法獲取書簽

GetBookmarkTitle(bookmarkCollection,?stringbuilder);

//聲明txt文件,并將獲得的多級書簽寫入到文件.txt

FileWriter?writer;

try?{

writer?=?new?FileWriter("讀取的書簽.txt");

writer.write(stringbuilder.toString());

writer.flush();

}?catch?(IOException?e)?{

e.printStackTrace();

}

pdf.dispose();

}

//定義方法獲取書簽標題

static?void?GetBookmarkTitle(PdfBookmarkCollection?bookmarkCollection,?StringBuilder?stringbuilder)

{

if?(bookmarkCollection.getCount()>?0)

{

for(int?i?=?0?;?i

{

PdfBookmark?parentBookmark?=?bookmarkCollection.get(i);

stringbuilder.append(parentBookmark.getTitle());

//遞歸文檔多級書簽

GetBookmarkTitle(parentBookmark,?stringbuilder);

}

}

}

}

書簽讀取結果:

(完)

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的java pdf 书签_Java PDF书签——添加、编辑、删除、读取书签的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。