Java在PDF中如何添加页面跳转按钮功能
发表于:2024-10-24 作者:千家信息网编辑
千家信息网最后更新 2024年10月24日,这篇文章将为大家详细讲解有关Java在PDF中如何添加页面跳转按钮功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用工具:Free Spire.PDF for
千家信息网最后更新 2024年10月24日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安全错误
数据库的锁怎样保障安全
怎样在vs中连接数据库
多维数据库 软件
深圳C0B测试软件开发
软件开发任务说明书
潮州网络技术优化公司
海淀区正规软件开发单价
全面构建网络安全防护体系
地狱潜者怎么换服务器
天津网络技术信息采购
酒店系统软件开发
深圳市佳付网络技术有限公司
幸福工厂怎么建服务器
临沂鑫康网络技术有限公司员工
网络安全大学生调查
数据库字段去重复数据
眼镜行业软件开发在哪里找
方舟怎么自建免费服务器手游
信息网络安全评估方法是
提升网络技术水平
如何备案阿里云服务器
异地数据库服务器同步
网络安全法案例 6个月日志
联网用的软件开发
监控网络技术员怎么办
qq企业服务器
济南数据库软件开发
软件开发项目规划软件
数据库怎么转换成date类型
岵山服务器
青海数据库通用多路锁控板设置