C# PDF Page操作——设置页面切换按钮
概述
在以下示例中,将介绍在PDF文档页面设置页面切换按钮的方法。示例中将页面切换按钮的添加分为了两种情况,一种是设置按钮跳转到首页、下页、上页或者最后一页,另一种是设置按钮跳转到指定页面。两种方法适应不同的程序设计需要,可自行选择合适的添加方法。
说明
这里的代码示例需要使用类库Spire.PDF for .NET,版本4.0 。在使用该类库时,在项目程序中引用Spire.Pdf.dll即可(dll文件在安装路径下的Bin文件中获取)。
如:
代码操作示例(供参考)
1.跳转至特定页(首页、下一页、上一页、最后一页)
【C#】
using Spire.Pdf; using Spire.Pdf.Actions; using Spire.Pdf.Fields; using Spire.Pdf.Graphics; using System.Drawing; namespace ButtonToAppointedPage_PDF { class Program { static void Main(string[] args) { //实例化PdfDocument类,加载PDF测试F文档 PdfDocument doc = new PdfDocument(); doc.LoadFromFile("sample.pdf"); //允许添加Form doc.AllowCreateForm = true; //获取文档最后一页 PdfPageBase lastPage = doc.Pages[doc.Pages.Count - 1]; //在页面指定位置添加指定大小的按钮 PdfButtonField button = new PdfButtonField(lastPage, "Click To Back "); button.Bounds = new RectangleF(lastPage.ActualSize.Width - 150, lastPage.ActualSize.Height - 400, 60, 20); //设置按钮边框颜色 button.BorderStyle = PdfBorderStyle.Solid; button.BorderColor = new PdfRGBColor(Color.White); //设置按钮背景色 button.BackColor = Color.Azure; //设置按钮提示语 button.ToolTip = "To the first page"; //设置按钮文字字体和颜色 PdfTrueTypeFont trueTypeFont = new PdfTrueTypeFont(new Font("Avant Garde", 9f), true); button.Font = trueTypeFont; button.ForeColor = Color.Black; //创建PdfNamedAction实例,在传入的参数中选择上一页、下一页、首页或最后一页 PdfNamedAction namedAction = new PdfNamedAction(PdfActionDestination.FirstPage); //应用动作 button.Actions.MouseDown = namedAction; //添加按钮到文档 doc.Form.Fields.Add(button); //保存并打开PDF文档 doc.SaveToFile("result.pdf", FileFormat.PDF); System.Diagnostics.Process.Start("result.pdf"); } } }
PS:这里的PdfNameAction类支持四种按钮跳转动作
添加效果(截图):
点击文中的按钮时,即可跳转至按钮指向的页面。
2.跳转至指定页面
【C#】
using Spire.Pdf; using Spire.Pdf.Actions; using Spire.Pdf.Fields; using Spire.Pdf.General; using Spire.Pdf.Graphics; using System.Drawing; namespace Buttom2 { class Program { static void Main(string[] args) { //实例化PdfDocument类,加载PDF文档 PdfDocument doc = new PdfDocument(); doc.LoadFromFile("sample.pdf"); //允许添加Form doc.AllowCreateForm = true; //获取最后一页 PdfPageBase lastPage = doc.Pages[doc.Pages.Count - 1]; //在页面指定位置添加按钮 PdfButtonField button = new PdfButtonField(lastPage, "Back"); button.Bounds = new RectangleF(lastPage.ActualSize.Width - 150, lastPage.ActualSize.Height - 700, 50, 20); //设置按钮边框颜色 button.BorderStyle = PdfBorderStyle.Solid; button.BorderColor = new PdfRGBColor(Color.Transparent); //设置按钮背景色 button.BackColor = Color.WhiteSmoke; //设置按钮提示语 button.ToolTip = "Click and back to the third page"; //设置按钮文字字体和颜色 PdfTrueTypeFont trueTypeFont = new PdfTrueTypeFont(new Font("Avant Garde", 9f), true); button.Font = trueTypeFont; button.ForeColor = Color.Black; //实例化PdfDestination对象,传入指定页码到第3页 PdfDestination destination = new PdfDestination(doc.Pages[2]); //创建go to动作 PdfGoToAction goToAction = new PdfGoToAction(destination); //应用动作 button.Actions.MouseDown = goToAction; //添加按钮到文档 doc.Form.Fields.Add(button); //保存并打开PDF文档 doc.SaveToFile("result.pdf", FileFormat.PDF); System.Diagnostics.Process.Start("result.pdf"); } } }
添加效果(截图):
点击按钮,即可跳转至指定的文档第3页。
关于添加PDF页面跳转按钮的方法,本文介绍到这里,希望文中的代码能给各位开发者提供一定参考价值。
如需转载,请注明出处。
感谢阅读!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
前端开发路线图
编者按:很多人都想学编程。但是苦于没有具体的步骤和指导。比如想找份前端开发的工作,却不知道应该先学习什么再学习什么,也不知道该选择什么样的工具。因为经常被人问到类似的问题,全栈开发者Kamran Ahmed索性在github上制订了一份现代前端开发的路线图,并且用一篇文章对前端开发的整个学习过程进行了详细解释。感兴趣的初学者不容错过。 进入正题之前先交代一下我和这张路线图的背景。过去5年我一直在进行全栈开发,目前是tajawal的首席工程师(我得有很多头衔)。关注趋势并且让其他开发者训练得当不仅是我的爱好也是我的工作职责。在如何跟上形势方面我发现有很多新手(也包括一些有经验的)都感到很困惑。2017年的时候我有很多朋友都发邮件给我寻求指导,他们想知道做这一行的话应该学些什么。所以为了避免自己老是要碰到这样的麻烦同时也是为了帮助别人,我决定一劳永逸准备这些图表,这样只要有人问我时就把这些图表的链接发给他们。所以这些图表就是这么诞生的。 一开始他们只是想要一些工具的推荐,但是昨天我决定给他们一份更加结构化一点的东西,增加了细节并且设计成步骤的形式以便你可以更好地理解该选择什么,按照什么样的...
- 下一篇
Java 8 Lambda 表达式解析
Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。使用 Lambda 表达式可以使代码变的更加简洁紧凑。坦白的说,初次看见Lambda表达式瞬间头就大了,为了更好的理解,我们可以把Lambda 表达式当作是一种匿名函数(对 Java 而言这并不完全正确,但现在姑且这么认为),简单地说,就是没有声明的方法,即没有访问修饰符、返回值声明和名字。 Lambda 表达式的结构 Java 中的 Lambda 表达式通常使用(argument) -> (body)语法书写,例如: (arg1, arg2...) -> { body } (type1 arg1, type2 arg2...) -> { body } Lambda 表达式的结构说明: 一个 Lambda 表达式可以有零个或多个参数 参数的类型既可以明确声明,也可以根据上下文来推断。例如:(int a)与(a)效果相同 所有参数需包含在圆括号内,参数之间用逗号相隔。例如:(a, b)或(int a, int b)或(String a, int b, float c) 空圆括号代表参数集为空...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Hadoop3单机部署,实现最简伪集群
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7设置SWAP分区,小内存服务器的救世主