概述
在以下示例中, 将介绍在 PDF 文档页面设置页面切换按钮的方法. 示例中将页面切换按钮的添加分为了两种情况, 一种是设置按钮跳转到首页, 下页, 上页或者最后一页, 另一种是设置按钮跳转到指定页面. 两种方法适应不同的程序设计需要, 可自行选择合适的添加方法.
说明
这里的代码示例需要使用类库 Spire.PDF for .NET https://www.e-iceblue.cn/Introduce/Spire-PDF-NET.html , 版本 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 页面跳转按钮的方法, 本文介绍到这里, 希望文中的代码能给各位开发者提供一定参考价值.
来源: https://www.cnblogs.com/Yesi/p/8979938.html