溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java在PDF中如何添加頁(yè)面跳轉(zhuǎn)按鈕功能

發(fā)布時(shí)間:2021-09-27 15:43:46 來(lái)源:億速云 閱讀:185 作者:小新 欄目:編程語(yǔ)言

這篇文章將為大家詳細(xì)講解有關(guān)Java在PDF中如何添加頁(yè)面跳轉(zhuǎn)按鈕功能,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

使用工具:

Free Spire.PDF for Java (免費(fèi)版)  IntelliJ IDEA

Jar文件獲取及導(dǎo)入:

方法1:通過(guò)官網(wǎng)下載jar文件包。下載后,解壓文件,并將lib文件夾下的Spire.Pdf.jar文件導(dǎo)入java程序。參考如下導(dǎo)入效果:

方法2: 可通過(guò)maven倉(cāng)庫(kù)安裝導(dǎo)入。

Java 代碼示例

import com.spire.pdf.*;import com.spire.pdf.actions.*;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 Buttons {  public static void main(String[]args) throws Exception{    //創(chuàng)建文檔,添加頁(yè)面    PdfDocument pdf = new PdfDocument();    pdf.loadFromFile("test.pdf");    //分別獲取第一頁(yè)、第二頁(yè)及最后一頁(yè)    PdfPageBase page0 = pdf.getPages().get(0);    PdfPageBase page1 = pdf.getPages().get(1);    PdfPageBase page2 = pdf.getPages().get(pdf.getPages().getCount()-1);    //設(shè)置允許創(chuàng)建窗體    pdf.setAllowCreateForm(true);    //定義float變量來(lái)確定按鈕的位置及大小    float x = 480;    float y = 750;    float width = 70;    float height = 23;    //創(chuàng)建truetype字體    PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("楷體", Font.PLAIN, 9), true);    //創(chuàng)建按鈕0跳轉(zhuǎn)到最后一頁(yè)    PdfButtonField btn_0 = new PdfButtonField(page0, "btn_0");    Rectangle2D.Float rect = new Rectangle2D.Float(x, y + 15, width, height);    btn_0.setBounds(rect);    btn_0.setFont(font);    btn_0.setText("跳轉(zhuǎn)至最后一頁(yè)");    btn_0.setBackColor(new PdfRGBColor(245,245,245));    btn_0.setForeColor(new PdfRGBColor(Color.black));    btn_0.setBorderColor(new PdfRGBColor(Color.white));    PdfNamedAction namedAction = new PdfNamedAction(PdfActionDestination.LastPage);    btn_0.getActions().setMouseDown(namedAction);    pdf.getForm().getFields().add(btn_0);    //創(chuàng)建按鈕1跳轉(zhuǎn)到上一頁(yè)    PdfButtonField btn_1 = new PdfButtonField(page1, "btn_1");    rect = new Rectangle2D.Float(x, y, width, height);    btn_1.setBounds(rect);    btn_1.setFont(font);    btn_1.setText("上一頁(yè)");    btn_1.setBackColor(new PdfRGBColor(Color.white));    btn_1.setForeColor(new PdfRGBColor(Color.black));    btn_1.setBorderColor(new PdfRGBColor(245,245,245));    namedAction = new PdfNamedAction(PdfActionDestination.PrevPage);    btn_1.getActions().setMouseDown(namedAction);    pdf.getForm().getFields().add(btn_1);    //創(chuàng)建按鈕2跳轉(zhuǎn)下一頁(yè)    PdfButtonField btn_2 = new PdfButtonField(page1, "btn_2");    rect = new Rectangle2D.Float(x, y + height + 5, width, height);    btn_2.setBounds(rect);    btn_2.setFont(font);    btn_2.setText("下一頁(yè)");    btn_2.setBackColor(new PdfRGBColor(245,245,245));    btn_2.setForeColor(new PdfRGBColor(Color.black));    btn_2.setBorderColor(new PdfRGBColor(Color.white));    namedAction = new PdfNamedAction(PdfActionDestination.NextPage);    btn_2.getActions().setMouseDown(namedAction);    pdf.getForm().getFields().add(btn_2);    //創(chuàng)建按鈕3跳轉(zhuǎn)到首頁(yè)    PdfButtonField btn_3 = new PdfButtonField(page2, "btn_3");    rect = new Rectangle2D.Float(x, 60, width, height);    btn_3.setBounds(rect);    btn_3.setFont(font);    btn_3.setText("返回首頁(yè)");    btn_3.setBackColor(new PdfRGBColor(245,245,245));    btn_3.setForeColor(new PdfRGBColor(Color.black));    btn_3.setBorderColor(new PdfRGBColor(Color.white));    namedAction = new PdfNamedAction(PdfActionDestination.FirstPage);    btn_3.getActions().setMouseDown(namedAction);    pdf.getForm().getFields().add(btn_3);    //創(chuàng)建按鈕4跳轉(zhuǎn)到指定頁(yè)    PdfButtonField btn_4 = new PdfButtonField(page2, "btn_4");    rect = new Rectangle2D.Float( x,90 , width, height);    btn_4.setBounds(rect);    btn_4.setText("跳轉(zhuǎn)至第二頁(yè)");    btn_4.setFont(font);    btn_4.setBackColor(new PdfRGBColor(Color.white));    btn_4.setForeColor(new PdfRGBColor(Color.black));    btn_4.setBorderColor(new PdfRGBColor(245,245,245));    PdfGoToAction goToAction = new PdfGoToAction(new PdfDestination(pdf.getPages().get(1)));    btn_4.getActions().setMouseDown(goToAction);    pdf.getForm().getFields().add(btn_4);    //保存文檔    pdf.saveToFile("NavigationButton.pdf", FileFormat.PDF);    pdf.close();  }}

關(guān)于“Java在PDF中如何添加頁(yè)面跳轉(zhuǎn)按鈕功能”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI