Java 展開或摺疊PDF中的書籤

PDF中的書籤功能可快速定位到指定閱讀位置。對多層書籤可根據閱讀喜愛設置層級展開或摺疊。本文將經過Java程序代碼介紹如何來實現PDF書籤展開或摺疊。html

程序環境

  • Spire.Pdf.jar( 免費版3.9.0版本)
  • JDK1.8.0(版本在1.6.0及更高版本都可)
  • IDEA

Jar文件導入(兩種方法任選其一):java

1. 手動下載jar包導入:下載並解壓將lib文件夾下的Spire.Pdf.jar文件添加引用到Java程序;maven

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中的導入方法參考這裏url

Jar導入如圖:spa

 

Java程序代碼

設置展開或者摺疊書籤時,可針對全文全部書籤設置,也可針對某個書籤單獨設置,代碼方法參考以下:code

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

所有書籤展開效果:xml

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

指定書籤及子書籤展開效果:htm

 

 

閱讀推薦:blog