Java在PDF中添加页面跳转按钮功能(代码演示)

  

在PDF中可通过按钮来添加动作跳转到指定页面,包括跳转到文档首页,文档末页,跳转到上一页,下一页,或跳转到指定页面等。下面将通过java代码来演示如何添加具有以上几种功能的按钮。

  

使用工具:

  
      <李>免费的尖顶。Java PDF(免费版)   <李> IntelliJ IDEA李   
  

Jar文件获取及导入:

  

方法1:通过官网下载jar文件包。下载后,解压文件,并将自由文件夹下的Spire.Pdf.jar文件导入java程序。参考如下导入效果:

  

癑ava在PDF中添加页面跳转按钮功能(代码演示)"

  

方法2:可通过maven仓库安装导入。

  

Java代码示例

  

        进口com.spire.pdf。*;   进口com.spire.pdf.actions。*;   进口com.spire.pdf.fields.PdfButtonField;   进口com.spire.pdf.general.PdfDestination;   进口com.spire.pdf.graphics.PdfRGBColor;   进口com.spire.pdf.graphics.PdfTrueTypeFont;   进口java.awt。*;   进口java.awt.geom.Rectangle2D;   公共类按钮{   公共静态void main (String [] args){抛出异常//创建文档,添加页面   PdfDocument pdf=new PdfDocument ();   pdf.loadFromFile (“test.pdf”);//分别获取第一页,第二页及最后一页   PdfPageBase page0=pdf.getPages () . get (0);   PdfPageBase page1=pdf.getPages () . get (1);   所以page2 PdfPageBase=pdf.getPages () . get (pdf.getPages () .getCount () 1);//设置允许创建窗体   pdf.setAllowCreateForm(真正的);//定义浮动变量来确定按钮的位置及大小   浮动x=480;   浮动y=750;   浮动宽度=70;   浮子高度=23;//创建truetype字体   PdfTrueTypeFont字体=new PdfTrueTypeFont(新字体(“楷体”,字体。平原,9),真正的);//创建按钮0跳转到最后一页   PdfButtonField btn_0=new PdfButtonField (page0 btn_0);   Rectangle2D。矩形=new Rectangle2D浮动。浮动(x, y + 15,宽度、高度);   btn_0.setBounds(矩形);   btn_0.setFont(字体);   btn_0.setText(“跳转至最后一页”);   btn_0。setBackColor(新PdfRGBColor (245245245));   btn_0。setForeColor(新PdfRGBColor (Color.black));   btn_0。setBorderColor(新PdfRGBColor (Color.white));   PdfNamedAction namedAction=new PdfNamedAction (PdfActionDestination.LastPage);   btn_0.getActions () .setMouseDown (namedAction);   阀门.getFields pdf.getForm () () (btn_0);//创建按钮1跳转到上一页   page1 PdfButtonField btn_1=new PdfButtonField (,“btn_1”);   新Rectangle2D矩形=8《?x, y,宽度、高度);   btn_1.setBounds(矩形);   btn_1.setFont(字体);   btn_1.setText(“上一页”);   btn_1。setBackColor(新PdfRGBColor (Color.white));   btn_1。setForeColor(新PdfRGBColor (Color.black));   btn_1。setBorderColor(新PdfRGBColor (245245245));   namedAction=new PdfNamedAction (PdfActionDestination.PrevPage);   btn_1.getActions () .setMouseDown (namedAction);   阀门.getFields pdf.getForm () () (btn_1);//创建按钮2跳转下一页   page1 PdfButtonField btn_2=new PdfButtonField (,“btn_2”);   新Rectangle2D矩形=8《?x, y +身高+ 5、宽度、高度);   btn_2.setBounds(矩形);   btn_2.setFont(字体);   btn_2.setText(“下一页”);   btn_2。setBackColor(新PdfRGBColor (245245245));   btn_2。setForeColor(新PdfRGBColor (Color.black));   btn_2。setBorderColor(新PdfRGBColor (Color.white));   namedAction=new PdfNamedAction (PdfActionDestination.NextPage);   btn_2.getActions () .setMouseDown (namedAction);   阀门.getFields pdf.getForm () () (btn_2);//创建按钮3跳转到首页   所以page2 PdfButtonField btn_3=new PdfButtonField (,“btn_3”);   新Rectangle2D矩形=8《?x, 60,宽度、高度);   btn_3.setBounds(矩形);   btn_3.setFont(字体);   btn_3.setText(“返回首页”);   btn_3。setBackColor(新PdfRGBColor (245245245));   btn_3。setForeColor(新PdfRGBColor (Color.black));   btn_3。setBorderColor(新PdfRGBColor (Color.white));   namedAction=new PdfNamedAction (PdfActionDestination.FirstPage);   btn_3.getActions () .setMouseDown (namedAction);   阀门.getFields pdf.getForm () () (btn_3);//创建按钮4跳转到指定页   所以page2 PdfButtonField btn_4=new PdfButtonField (,“btn_4”);   新Rectangle2D矩形=8《?x, 90,宽度、高度);   btn_4.setBounds(矩形);   btn_4.setText(“跳转至第二页”);   btn_4.setFont(字体);   btn_4。setBackColor(新PdfRGBColor (Color.white));   btn_4。setForeColor(新PdfRGBColor (Color.black));   btn_4。setBorderColor(新PdfRGBColor (245245245));   PdfGoToAction goToAction=new PdfGoToAction(新PdfDestination (pdf.getPages () . get (1)));   btn_4.getActions () .setMouseDown (goToAction);   阀门.getFields pdf.getForm () () (btn_4);//保存文档   pdf.saveToFile (“NavigationButton。pdf”, FileFormat.PDF);   pdf.close ();   }   }

Java在PDF中添加页面跳转按钮功能(代码演示)