Java PDF書籤——新增、編輯、刪除、讀取書籤
概述
本文介紹透過Java程式來操作PDF書籤,根據對書籤的不同操作要求,分以下情況來介紹:
1. 新增書籤(包括新增一級書籤、多級子書籤)
2. 編輯書籤(包括重置書籤標題、書籤樣式等)
3. 刪除書籤(包括刪除所有書籤、刪除子書籤等)
4. 讀取書籤
工具使用
程式使用輔助工具:Free Spire.PDF for Java(免費版),
方法1:可下載,解壓並將lib資料夾下的jar檔案匯入java程式(手動匯入)
方法2: 透過建立Maven專案程式,在pom.xml中配置maven倉庫路徑並指定Free Spire.PDF for Java 的依賴,配置完成後,在IDEA中,點選“Import Changes”匯入JAR包:
<repositories> <repository> <id>com.e-iceblue</id> <url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.pdf.free</artifactId> <version>2.6.3</version> </dependency> </dependencies>
(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< pdf.getBookmarks().getCount(); 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< bookmarkCollection.getCount(); i++ ) { PdfBookmark parentBookmark = bookmarkCollection.get(i); stringbuilder.append(parentBookmark.getTitle()); //遞迴文件多級書籤 GetBookmarkTitle(parentBookmark, stringbuilder); } } } }
書籤讀取結果:
(完)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4479/viewspace-2825946/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- google書籤刪除了怎麼恢復?谷歌瀏覽器刪除的書籤怎麼恢復?Go谷歌瀏覽器
- 書籤收藏
- 卡片書籤——簡潔的 Chrome 書籤擴充套件Chrome套件
- Git刪除tag標籤Git
- python爬蟲練習之爬取豆瓣讀書所有標籤下的書籍資訊Python爬蟲
- Chrome瀏覽器如何匯出所有書籤並匯入書籤Chrome瀏覽器
- Mac中Chrome書籤被誤刪後如何恢復MacChrome
- Chrome書籤被誤刪後如何一鍵恢復Chrome
- Bookmarks Menu (mac書籤管理)Mac
- Java 新增、讀取、刪除Excel中的圖表趨勢線JavaExcel
- 標籤式電子書閱讀器:Clearview X for MacViewMac
- chrome獲取書籤目錄下收藏的所有連結Chrome
- 書籤收集管理軟體懸浮閱讀和知識庫與瀏覽器書籤之間的資料遷移瀏覽器
- Mac音訊標籤編輯器Mac音訊
- floccus加堅果雲同步書籤
- Synkmark for Mac(書籤同步管理器)Mac
- Aliyun SSL 證書籤發&安裝
- HistoryHound for mac書籤快速搜尋工具Mac
- (一)Chrome書籤連結跳轉Chrome
- 求助帖:關於 python 操作 Word 文件獲取書籤名集合Python
- Tagr for Mac(音樂標籤編輯器)Mac
- docker批次刪除標籤為none的映象DockerNone
- 【Android】書客編輯器安卓Java版Android安卓Java
- 使用BookMarkHub外掛進行書籤同步
- pdf編輯閱讀器PDF Reader Pro for MacMac
- Json.NET實現json的讀取,新增,刪除,修改JSON
- Java書籤 #MyBatis之批量插入並返回自增主鍵idJavaMyBatis
- Java 新增 、讀取以及刪除PPT幻燈片中的視訊、音訊檔案Java音訊
- Java 操作PDF中的超連結——新增、更新、刪除超連結Java
- JavaScript物件導向怎樣刪除標籤頁?JavaScript物件
- Java在PDF中刪除註釋Java
- Cookie新增、獲取以及刪除操作Cookie
- RSA的主場-證書籤名&OpenSSL演示
- Mac瀏覽器書籤管理工具Mac瀏覽器
- 自籤SSL證書有哪些安全隱患
- 列表頁取出刪除編輯功能
- 作為編輯,以讀者的身份去讀一本書
- Mac書籤閱讀寫作助手,量身定做筆記,體驗輕鬆閱讀Mac筆記