C# PDF Page操作设置页面切换按钮的方法
作者:E-iceblue 发布时间:2021-11-18 04:33:43
标签: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页。
以上所述是小编给大家介绍的C# PDF Page操作设置页面切换按钮的方法网站的支持!
来源:https://www.cnblogs.com/Yesi/p/8979938.html


猜你喜欢
- 一、什么是内存泄露?Java使用有向图机制,通过GC自动检查内存中的对象(什么时候检查由虚拟机决定),如果GC发现一个或一组对象为不可到达状
- 当需要重绘TabControl的背景颜色时,有两种方法。方法一网上有很多文章介绍,将tabControl的DrawMode属性设为Owner
- 一、MessageBox弹出框MessageBox.Show(<字符串> Text, <字符串> Title, &l
- 对象的初始化和清理生活中我们买的电子产品都基本会有出厂设置,在某一天我们不用时候也会删除一些自己信息数据保证安全。C++中的面向对象来源于生
- 一、问题描述开发中,需要使Decimal类型数据保留小数点后的两位小数且不需要进行四舍五入操作,即直接截取小数点后面的两位小数即可。例如:1
- android多线程断点下载,带进度条和百分比显示,断点下载的临时数据保存到SD卡的文本文档中,建议可以保存到本地数据库中,这样可以提高存取
- 前言似乎委托对于C#而言是一种高级属性,但是我依旧希望你就算第一次看我的文章,也能有很大的收获。所以本博客的语言描述尽量简单易懂,知识点也是
- 要想充分理解C# out和ref,必须先明确如下两个概念(对值类型与引用类型掌握比较好的,可以跳过“一、明确两个基本概念”)一、明确两个基本
- 前言之前做的几个微信小程序项目,大部分客户都有要在微信小程序前端提现的需求。提现功能的实现,自然使用企业付款接口,不过这个功能开通比较麻烦,
- 整理文档,搜刮出一个android 通过MediaRecorder实现简单的录音示例,稍微整理精简一下做下分享。MainActivitypa
- 在Java中,我们可以对List集合进行如下几种方式的遍历:List<Integer> list = new ArrayList
- 引言在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在
- 通常情况下,Android实现自定义控件无非三种方式。Ⅰ、继承现有控件,对其控件的功能进行拓展。Ⅱ、将现有控件进行组合,实现功能更加强大控件
- 先介绍去掉标题栏的方法: 第一种:也一般入门的时候经常使用的一种方法 requestWindowFeature(Window.FEATURE
- Android实现九宫格图案解锁,自带将图案转化成数字密码的功能,代码如下:LockPatternView.javapackage com.
- Navigation 组件支持 Jetpack Compose 应用。我们可以在利用 Navigation 组件的基础架构和功能,在可组合项
- 本文实例讲述了C#实现鼠标移动到曲线图上显示值的方法。分享给大家供大家参考。具体实现方法如下:一、问题:完成折线图报表后,产品经理要求把折线
- 将一个字符串转化成String[]数组,提供两种方法前言将字符串转化成数组提供两种方法:1.split("");2.to
- 之前有个兄弟给我的卷一re了帖子,我当时没有g,m,直到他把它删掉才后悔莫及,人生最痛苦的事情莫过于此。。。。。。好,即便如此,我们还是满怀
- 一、前言本文主要来介绍一个实际案例就是如何通过这个框架来修改系统的地理位置信息来实现隐藏功能,在如今社交工具的发展特别是微信,他有一个实时位