Java在PDF中如何添加页面跳转按钮功能
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章将为大家详细讲解有关Java在PDF中如何添加页面跳转按钮功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用工具:Free Spire.PDF for
千家信息网最后更新 2025年02月02日Java在PDF中如何添加页面跳转按钮功能
这篇文章将为大家详细讲解有关Java在PDF中如何添加页面跳转按钮功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
使用工具:
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中如何添加页面跳转按钮功能"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
按钮
文件
页面
篇文章
功能
文档
方法
更多
上一
首页
参考
不错
实用
仓库
代码
位置
内容
变量
大小
字体
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
形容软件开发人员的句子
北京电费缴费软件开发团队
如何锁住数据库
cmd 管理员启动服务器
丹东app软件开发服务
虚拟机安装网络安全基础
王者服务器记录
项目管理数据库设计案例
网络安全专业薪资水平
类脑计算网络安全检测
魔兽世界5.48物品数据库
数据库云备份
网络安全法倒卖个人信息罪
怎么给数据库增加文件组
ibm服务器的管理密码重置
软件开发收费有哪些
省国土资源局网络安全培训
天津市河东网络安全保卫总队
gnomad数据库
哈利波特所有服务器都通吗
edge数据库插件
图书馆数据库每年花费
中石油网络安全规范
数据库多少数据分表
软件开发方向日语
ibm服务器的管理密码重置
南京微信软件开发工程师
万兆万品软件开发有限责任公司
关系数据库中关系被称为什么
计算机网络技术专业找工作