PDF中的書簽功能可快速定位到指定閱讀位置,對多層書簽可根據閱讀喜好設定層級展開或折疊,本文將通過Java程式代碼介紹如何來實作PDF書簽展開或折疊,
程式環境
- Spire.Pdf.jar( 免費版3.9.0版本)
- JDK1.8.0(版本在1.6.0及更高版本均可)
- IDEA
Jar檔案匯入(兩種方法任選其一):
1. 手動下載jar包匯入:下載并解壓將lib檔案夾下的Spire.Pdf.jar檔案添加參考到Java程式;
2. Maven倉庫路徑中匯入:程式中需要配置pom.xml檔案,指定maven倉庫路徑及Spire.Pdf.free的依賴,如下:
<repositories> <repository> <id>com.e-iceblue</id> <url>http://repo.e-iceblue.cn/repository/maven-public/</url> </repository> </repositories> <dependencies> <dependency> <groupId> e-iceblue </groupId> <artifactId>spire.pdf.free</artifactId> <version>3.9.0</version> </dependency> </dependencies>
配置完成后,匯入jar到程式,Eclipse中的匯入方法參考這里,
Jar匯入如圖:

Java程式代碼
設定展開或者折疊書簽時,可針對全文所有書簽設定,也可針對某個書簽單獨設定,代碼方法參考如下:
1. 設定全部書簽展開(或折疊)
import com.spire.pdf.*; public class ExpandOrCollapseBookmark { public static void main(String[] args) { //加載PDF測驗檔案 PdfDocument pdf = new PdfDocument(); pdf.loadFromFile("sample.pdf"); // 展開所有書簽(true為展開,false為折疊) pdf.getViewerPreferences().setBookMarkExpandOrCollapse(true); //保存檔案 pdf.saveToFile("ExpandAllBookmark.pdf"); pdf.dispose(); } }
全部書簽展開效果:

2. 設定指定書簽展開(或折疊)
import com.spire.pdf.*; import com.spire.pdf.bookmarks.PdfBookmark; import com.spire.pdf.bookmarks.PdfBookmarkCollection; public class ExpandOrCollapseBookmark { public static void main(String[] args) { //加載PDF測驗檔案 PdfDocument pdf = new PdfDocument(); pdf.loadFromFile("sample.pdf"); //設定BookMarkExpandOrCollapse 為 "true" 展開第3個書簽 PdfBookmarkCollection pdfBookmark = pdf.getBookmarks().get(2); ((PdfBookmark) pdfBookmark).setExpandBookmark(true); //同時設定展開第3個書簽下的子書簽(注意:這里展開子書簽是展開下一級的書簽,并非展開書簽中包含的所有多層子書簽,展開子書簽需要一層一層地展開) for(int i = 0; i < pdfBookmark.getCount();i++) { pdfBookmark.get(i).setExpandBookmark(true); } //保存檔案 pdf.saveToFile("ExpandSpecificBookmarks.pdf"); pdf.close(); } }
指定書簽及子書簽展開效果:

閱讀推薦:
- Java 添加、編輯、洗掉、讀取PDF書簽
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/239387.html
標籤:Java
