Java 添加頁面跳轉按鈕到PDF文檔

2020-09-23 冰藍科技

概述

當我們在查閱含有大量頁面的PDF時,可通過在頁面上添加跳轉按鈕來實現頁面轉換,以達到節約時間,提高效率的目的。本文將通過Java程序來演示如何給PDF文檔添加頁面跳轉按鈕。通常來說跳轉可分為兩種情況:一是跳轉至特殊頁面(首頁、最後一頁、上一頁、下一頁);二是跳轉至指定頁面(例如:第四頁)。

配置測試環境

本文代碼示例使用到的工具是Free Spire.PDF for Java,可通過E-iceblue中文官網下載獲取。解壓後將lib文件夾下的Spire.Pdf.jar手動導入IDEA即可。

當然,也可以通過Maven倉庫來導入產品及相關依賴。創建一個Maven程序,在pom.xml文件中配置Maven倉庫路徑,並指定Spire.PDF for Java的Maven依賴。

<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>2.6.3</version> </dependency></dependencies>

配置完成後,只需點擊」Import Changes」即可導入JAR包。

參考代碼

1、跳轉至特殊頁面(首頁、最後一頁、上一頁、下一頁)

import com.spire.pdf.FileFormat;import com.spire.pdf.PdfDocument;import com.spire.pdf.PdfPageBase;import com.spire.pdf.actions.PdfActionDestination;import com.spire.pdf.actions.PdfNamedAction;import com.spire.pdf.fields.PdfButtonField;import com.spire.pdf.graphics.PdfRGBColor;import com.spire.pdf.graphics.PdfTrueTypeFont;import java.awt.*;import java.awt.geom.Rectangle2D;public class AddNavigationButton { public static void main(String[] args) throws Exception { //創建PdfDocument對象,加載PDF文檔 PdfDocument doc = new PdfDocument(); doc.loadFromFile(&34;); //獲取最後一頁 PdfPageBase lastPage = doc.getPages().get(doc.getPages().getCount() - 1); //允許在PDF中創建窗體 doc.setAllowCreateForm(true); //定義float變量來確定按鈕的位置及大小 float x = 90; float y = 450; float width = 150; float height = 22; //創建truetype字體 PdfTrueTypeFont font = new PdfTrueTypeFont(new Font(&34;, Font.PLAIN, 13), true); //創建一個按鈕跳轉至首頁 PdfButtonField btn_1 = new PdfButtonField(lastPage, &34;); Rectangle2D.Float rect = new Rectangle2D.Float(x, y, width, height); btn_1.setBounds(rect); btn_1.setFont(font);//設置字體 btn_1.setText(&34;);//設置按鈕提示語 btn_1.setBackColor(new PdfRGBColor(Color.ORANGE));//設置背景顏色 btn_1.setForeColor(new PdfRGBColor(Color.red));//設置提示語字體顏色 btn_1.setBorderColor(new PdfRGBColor(Color.blue));//設置按鈕邊框顏色 //創建PdfNamedAction實例,在傳入的參數中選擇上一頁、下一頁、首頁或最後一頁 PdfNamedAction namedAction = new PdfNamedAction(PdfActionDestination.FirstPage); btn_1.getActions().setMouseDown(namedAction);//應用動作 doc.getForm().getFields().add(btn_1);//添加按鈕至文檔 //保存文檔 doc.saveToFile(&34;, FileFormat.PDF); doc.close(); }}

註:此處的PdfNamedAction類支持四種按鈕跳轉動作。分別可實現頁面跳轉至上一頁、首頁、下一頁和最後一頁。

添加效果:

2、跳轉至指定頁面(以下代碼演示跳轉至文檔第四頁)

import com.spire.pdf.FileFormat;import com.spire.pdf.PdfDocument;import com.spire.pdf.PdfPageBase;import com.spire.pdf.actions.PdfGoToAction;import com.spire.pdf.fields.PdfButtonField;import com.spire.pdf.general.PdfDestination;import com.spire.pdf.graphics.PdfRGBColor;import com.spire.pdf.graphics.PdfTrueTypeFont;import java.awt.*;import java.awt.geom.Rectangle2D;public class AddNavigationButton2 { public static void main(String[] args) throws Exception { //創建PdfDocument對象,加載PDF文檔 PdfDocument doc = new PdfDocument(); doc.loadFromFile(&34;); //獲取最後一頁 PdfPageBase lastPage = doc.getPages().get(doc.getPages().getCount() - 1); //允許在PDF中創建窗體 doc.setAllowCreateForm(true); //定義float變量來確定按鈕的位置及大小 float x = 90; float y = 450; float width = 150; float height = 22; //創建truetype字體 PdfTrueTypeFont font = new PdfTrueTypeFont(new Font(&34;, Font.PLAIN, 13), true); //創建一個按鈕跳轉到指定頁 PdfButtonField btn_1 = new PdfButtonField(lastPage, &34;); Rectangle2D.Float rect = new Rectangle2D.Float(x, y + height + 5, width, height); btn_1.setBounds(rect);//設置按鈕大小及位置 btn_1.setText(&34;);//設置按鈕提示語 btn_1.setFont(font);//設置字體 btn_1.setBackColor(new PdfRGBColor(Color.GREEN));//設置背景顏色 btn_1.setForeColor(new PdfRGBColor(Color.red));//設置提示語字體顏色 btn_1.setBorderColor(new PdfRGBColor(Color.blue));//設置按鈕邊框顏色 //創建PdfNamedAction實例,並指定跳轉頁碼 PdfGoToAction goToAction = new PdfGoToAction(new PdfDestination(doc.getPages().get(3))); btn_1.getActions().setMouseDown(goToAction);//應用動作 doc.getForm().getFields().add(btn_1);//添加按鈕至文檔 //保存文檔 doc.saveToFile(&34;, FileFormat.PDF); doc.close(); }}

添加效果:

(本文完)

相關焦點

  • Java 添加頁碼到PDF文檔
    本文介紹通過Java程序來添加頁碼到PDF文檔的方法。*;import java.awt.>float y = (float) pageSize.getHeight() - 40;//遍歷文檔中的所有頁面for (int i = 0; i < pdf.getPages().getCount(); i++) {//初始化頁碼域
  • 如何給PDF文檔中的目錄設置跳轉到頁面?
    我們在編輯文檔時,如果內容比較多,一般都會在第一頁編寫目錄,然後做一個快速跳轉。Word文檔的目錄很多人都會使用,那麼PDF文檔的目錄要如何設置跳轉到對應的頁面呢?1、首先用極速PDF編輯器打開PDF文檔後,選擇工具欄的「超連結工具」;2、這時滑鼠變成十字狀,按住滑鼠左鍵框出每一個子目錄的區域;3、鬆開滑鼠後,會自動彈出一個連結屬性的窗口,在類型的下拉菜單中選擇「轉到視圖」;4、先不要急著點擊確定,下一步要找到已框選的這個子目錄所要跳轉的頁面
  • 如何給PDF文檔添加超連結?
    有時我們在編輯PDF文檔時,需要給目錄做快速跳轉或給文中的某些內容跳轉到其他網頁,這就需要用到超連結的功能。下面就一起看看給PDF文檔添加超連結的是如何操作的。1、首先用極速PDF編輯器打開我們需要添加超連結的PDF文檔,然後點擊工具欄「超連結」,選中需要添加超連結的文本內容,即可彈出「連結屬性」設置窗口。2、我們可以看到「連結類型」的下拉菜單有6種類型,下面分別說一說這幾種方式的特點,和應用範圍。
  • 如何利用pdf在線閱讀網站給文檔添加注釋
    pdf在線閱讀顧名思義就是利用在線的方式閱讀pdf文檔,現如今很多文檔都會以pdf格式保存,例如一些電子書籍或練習大綱會封裝成pdf格式。由於pdf文檔不容易修改,查閱文件時發現如果想給文檔做筆記添加注釋時是不方便的。接下來小編教你利用在線pdf閱讀的方式給文檔添加注釋。
  • 怎麼翻譯pdf文檔?需要下載哪款pdf轉換器?
    怎麼翻譯pdf文檔?當文件兩頭所接觸的人群不同,我們便需要藉助軟體對它進行翻譯,例如把中文轉英文、英文轉中文。不知道怎麼選擇軟體的話,小夥伴們可以下載、使用迅捷PDF轉換器,看看它適不適合自己。下面有軟體翻譯pdf的操作技巧,大家繼續往下看。
  • pdf轉word文檔怎麼弄?2種簡單轉換文檔格式的方法
    下面教你兩種轉換文檔格式的技巧。軟體轉換法:選擇功能並添加文件:打開PDF軟體後會默認來到我們所需的「PDF轉換-PDF轉換其他-文件轉word」界面,所以此時直接用按鈕或拖拽的方式添加好需要轉換的pdf文檔。
  • Java 列印PDF文檔
    本文將介紹如何在Java應用程式中列印PDF文檔。代碼示例靜默列印import com.spire.pdf.*;import java.awt.print.*;public class Print { public static void main(String[] args) { //加載文檔 PdfDocument pdf = new PdfDocument(); pdf.loadFromFile(&34;); PrinterJob loPrinterJob = PrinterJob.getPrinterJob
  • word怎麼轉pdf?安利轉換文檔格式的方法
    有小夥伴私信問我word怎麼轉pdf?word是我們常用的一種文字處理程序,其生成的文件通常為doc和docx格式。然而很多小夥伴在打開word後經常會由於鍵盤或滑鼠誤觸而導致文檔被莫名修改的情況,因此很多小夥伴想將其轉換成不易修改的pdf格式。
  • 怎樣給PDF文檔添加目錄或書籤?
    PDF是我們日常經常會使用到的文檔格式,如果文檔內容或章節比較多,需要快速找到某一段內容就非常麻煩,如果可以給文檔添加不同書籤快速定位就比較方便,那麼如何給PDF文檔添加書籤呢?方法一:1、用極速PDF閱讀器打開需要操作的文檔,點擊左側工具欄就有「書籤」工具;2、打開書籤設置頁面,導航欄從左到右工具鍵依次為:新增書籤、修改書籤名稱、刪除書籤、關閉書籤工具欄;3、首先滑動文檔並停留在當前需要添加的頁面後,在書籤工具欄單擊滑鼠右鍵並選擇
  • word怎麼轉pdf?安利2個文檔轉換的方法,可以了解一下
    word怎麼轉pdf?所謂『會者不難,難者不會』,對於把word格式轉換成pdf其實並非難事,但是有些新小夥伴由於接觸文檔轉換比較少所以不知道從何做起,下面小編就來安利2個文檔轉換的方法,有興趣的小夥伴可以試著了解一下。
  • Spire.Cloud.PDF 添加、刪除PDF頁面
    Spire.Cloud.PDF Java SDK提供了PdfPagesApi接口用於操作PDF文檔中的頁面,包括添加、刪除頁面,以及獲取頁面信息,如名稱,頁碼,頁面屬性等。本文將介紹如何添加和刪除PDF頁面。
  • pdf轉word在線怎麼轉?分享好用的文檔轉換方法
    pdf轉word在線:要把pdf轉word在線轉換可以藉助迅捷在線PDF轉換器進行,打開網站後看到首頁有pdf轉word、word轉pdf和pdf轉圖片等眾多文檔轉換和文檔處理方式,而我們僅需根據自己的轉換需求選擇對應的pdf轉word功能。
  • pdf文檔翻譯怎麼做?怎麼把pdf文檔翻譯成中文?
    pdf文檔翻譯怎麼做?平時工作上,很多小夥伴需要和外國客戶打交道。這時候,便需要使用迅捷PDF轉換器翻譯pdf文檔後,再發送出去。這款軟體可以把pdf文檔中文翻外文,也支持把pdf文檔翻譯成中文。下面,我們一起來看看怎麼用它翻譯pdf文檔哦。
  • pdf轉cad怎麼轉?安利2種常用的文檔轉換方法
    pdf轉cad怎麼轉?pdf和cad都是較為常用的文檔格式,在製作好cad圖紙後為了方便查看很多人會選擇將其轉換成pdf格式,但是當你需要再次編輯圖紙時發現pdf文檔其實是不容易編輯的。這時就會將pdf轉cad以還原文檔格式讓文檔便於修改。
  • pdf在線轉換器怎麼用?通過在線方式對文檔進行轉換
    pdf在線轉換器怎麼用?pdf是我們常見的一種文檔格式,pdf文件格式不管在Windows、unix還是mac os作業系統中都是通用的,使得越來越多的人喜歡把手中的文檔轉換成pdf格式。然而在之前也講解過用工具去轉換pdf的方法,那你知道如果使用pdf在線轉換器去轉換文檔格式呢?感興趣的小夥伴可以跟隨小編一起轉換文檔格式哦!轉換準備:首先確立好想要轉換的文檔格式,例如是想將cad轉pdf、word轉pdf還是將pdf轉word、pdf轉cad等。其次確立好支持轉換這個格式的迅捷pdf在線轉換器等工具。
  • PDF文檔怎麼添加標籤?PDF文檔加標籤方法
    2021-01-09 10:43:00 來源: 穿越了 舉報     平時在看文檔的時候
  • pdf轉mobi怎麼實現?教你通過在線的方式快速轉換文檔格式
    然而很多小夥伴並不知道如何去實現pdf轉mobi,接下來通過在線轉換的方式教你快速轉換手中的文檔。藉助網站:在線迅捷PDF轉換器操作方法:第一步:選擇功能由於我們所使用的是在線轉換法,因此首先要通過電腦的瀏覽器打開支持把pdf轉mobi的網站,並選擇我們需要用到的文檔轉換方式(pdf轉mobi)。
  • 知網caj轉pdf的方法有哪些?教你兩種常用的文檔轉換方法
    知網caj轉pdf的方法有哪些?相信不少小夥伴接觸過知網,尤其是近期臨近畢業需要寫論文的大學生會或多或少的看看知網。但是當保存知網文件後發現其下載格式通常為caj格式,當我們沒有對應的閱讀器通常是不能直接打開的,因此有些小夥伴會把知網caj轉pdf以便文檔通過更多方式打開。
  • Java 加密和解密PDF文檔
    前言在日常辦公時,為了保護文檔不被他人篡改,我們可為文檔設置打開口令,即加密。同時,因需要我們也可對加密文檔進行解密,以便能夠查看和編輯文檔。本文將通過Java程序來演示如何對PDF文檔進行加密和解密。此次代碼示例用到的控制項是Free Spire.PDF for Java。
  • 演示PDF文檔時,如何快速跳轉到文件中的某一頁?
    小編最近收到一個用戶的提問:要給別人看一份幾百頁的PDF文件,但是這份文件沒有單獨的目錄頁,有什麼辦法可以直接跳轉到特定頁。當然有!而且還是省時快捷的好辦法。方法一首先,使用福昕PDF閱讀器打開文檔,找到你要演示的頁面,點擊滑鼠右鍵添加書籤,不需要幾百頁都添加,為了方便查找,我們也可以給書籤加上自定義名稱。點擊書籤就能直接跳轉到對應頁面啦,不需要建目錄,快速演示PDF文檔。