Java 在PDF中添加页面跳转按钮功能(代码演示)
2020-02-13 13:13
736 查看
在PDF 中可通过按钮来添加动作跳转到指定页面,包括跳转到文档首页、文档末页、跳转到上一页、下一页、或跳转到指定页面等。下面将通过java代码来演示如何添加具有以上几种功能的按钮。
使用工具:
- Free Spire.PDF for Java (免费版)
- IntelliJ IDEA
Jar文件获取及导入:
方法1:通过官网下载jar文件包。下载后,解压文件,并将lib文件夹下的Spire.Pdf.jar文件导入java程序。参考如下导入效果:
方法2: 可通过maven仓库安装导入。
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{ //创建文档,添加页面 PdfDocument pdf = new PdfDocument(); pdf.loadFromFile("test.pdf"); //分别获取第一页、第二页及最后一页 PdfPageBase page0 = pdf.getPages().get(0); PdfPageBase page1 = pdf.getPages().get(1); PdfPageBase page2 = pdf.getPages().get(pdf.getPages().getCount()-1); //设置允许创建窗体 pdf.setAllowCreateForm(true); //定义float变量来确定按钮的位置及大小 float x = 480; float y = 750; float width = 70; float height = 23; //创建truetype字体 PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("楷体", Font.PLAIN, 9), true); //创建按钮0跳转到最后一页 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("跳转至最后一页"); 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); //创建按钮1跳转到上一页 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("上一页"); 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); //创建按钮2跳转下一页 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("下一页"); 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); //创建按钮3跳转到首页 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("返回首页"); 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); //创建按钮4跳转到指定页 PdfButtonField btn_4 = new PdfButtonField(page2, "btn_4"); rect = new Rectangle2D.Float( x,90 , width, height); btn_4.setBounds(rect); btn_4.setText("跳转至第二页"); 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(); } }
按钮添加效果:
总结
以上所述是小编给大家介绍的Java 在PDF中添加页面跳转按钮功能(代码演示),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
您可能感兴趣的文章:
相关文章推荐
- 在页面中,我们经常看到,一个button按钮,如果属标点击,就会触发一个窗口的显示,如果二次点击并可以隐藏,那么如何通过JAVA配合html来实现这一功能呢?
- Launcher功能的修改及添加,本篇是一些小功能的展示,通知栏显隐,dock显隐,屏幕页面跳转,(语音)搜索,等小功能
- js点击button按钮跳转到页面代码
- java代码在页面实现展示pdf文件
- vscode php 添加代码跳转功能
- 在java代码中输出Html代码实现按钮点击链接跳转
- js点击button按钮跳转到页面代码
- 给按钮添加跳转功能【类似a标签】
- java中进行页面跳转的时候添加“/”和不添加“/”
- vue-router--路由传参结合请求数据(页面底部按钮跳转功能实现参考)
- Java Hello World例子和添加按钮事件与功能
- 在iframe子页面中添加导航功能代码
- 用JAVA代码为android应用添加一个按钮
- 纯代码给WordPress网站添加独立下载页面功能
- JAVA安卓开发在MainActivity之前添加一个含有按钮页面跳转
- js点击button按钮跳转到页面代码
- C# PDF Page操作——设置页面切换按钮 C# 添加、读取Word脚注尾注 C#为什么不能像C/C++一样的支持函数只读传参 web 给大家分享一个好玩的东西,也许你那块就用的到
- layui自己添加图片按钮并点击跳转页面的例子
- JAVA 添加、修改和删除PDF书签的示例代码
- 【自然框架】通用权限的视频演示(一):添加角色,权限到功能节点和按钮