Chinaunix首页 | 论坛 | 博客
  • 博客访问: 129287
  • 博文数量: 47
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 394
  • 用 户 组: 普通用户
  • 注册时间: 2017-10-27 10:00
  • 认证徽章:
文章分类

全部博文(47)

文章存档

2018年(38)

2017年(9)

我的朋友

分类: C#/.net

2018-05-14 16:36:32

一、概述

在以下示例中,将介绍在PDF文档页面设置页面切换按钮的方法。示例中将页面切换按钮的添加分为了两种情况,一种是设置按钮跳转到首页、下页、上页或者最后一页,另一种是设置按钮跳转到指定页面。两种方法适应不同的程序设计需要,可自行选择合适的添加方法。

二、说明

这里的代码示例需要使用类库Spire.PDF for .NET,版本4.0 。在使用该类库时,在项目程序中引用Spire.Pdf.dll即可(dll文件在安装路径下的Bin文件中获取)。
如:



三、代码操作示例(供参考)

1.跳转至特定页(首页、下一页、上一页、最后一页)

【C#】

  1. using Spire.Pdf;
  2. using Spire.Pdf.Actions;
  3. using Spire.Pdf.Fields;
  4. using Spire.Pdf.Graphics;
  5. using System.Drawing;

  6. namespace ButtonToAppointedPage_PDF
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             //实例化PdfDocument类,加载PDF测试F文档
  13.             PdfDocument doc = new PdfDocument();
  14.             doc.LoadFromFile("sample.pdf");

  15.             //允许添加Form
  16.             doc.AllowCreateForm = true;

  17.             //获取文档最后一页
  18.             PdfPageBase lastPage = doc.Pages[doc.Pages.Count - 1];

  19.             //在页面指定位置添加指定大小的按钮
  20.             PdfButtonField button = new PdfButtonField(lastPage, "Click To Back ");
  21.             button.Bounds = new RectangleF(lastPage.ActualSize.Width - 150, lastPage.ActualSize.Height - 400, 60, 20);

  22.             //设置按钮边框颜色
  23.             button.BorderStyle = PdfBorderStyle.Solid;
  24.             button.BorderColor = new PdfRGBColor(Color.White);

  25.             //设置按钮背景色
  26.             button.BackColor = Color.Azure;

  27.             //设置按钮提示语 
  28.             button.ToolTip = "To the first page";

  29.             //设置按钮文字字体和颜色 
  30.             PdfTrueTypeFont trueTypeFont = new PdfTrueTypeFont(new Font("Avant Garde", 9f), true);
  31.             button.Font = trueTypeFont;
  32.             button.ForeColor = Color.Black;

  33.             //创建PdfNamedAction实例,在传入的参数中选择上一页、下一页、首页或最后一页
  34.             PdfNamedAction namedAction = new PdfNamedAction(PdfActionDestination.FirstPage);

  35.             //应用动作
  36.             button.Actions.MouseDown = namedAction;

  37.             //添加按钮到文档
  38.             doc.Form.Fields.Add(button);

  39.             //保存并打开PDF文档
  40.             doc.SaveToFile("result.pdf", FileFormat.PDF);
  41.             System.Diagnostics.Process.Start("result.pdf");

  42.         }
  43.     }
  44. }

PS这里的PdfNameAction类支持四种按钮跳转动作



添加结果(截图):



点击文中的按钮时,即可跳转至按钮指向的页面。

2.跳转至指定页面

【C#】


  1. using Spire.Pdf;
  2. using Spire.Pdf.Actions;
  3. using Spire.Pdf.Fields;
  4. using Spire.Pdf.General;
  5. using Spire.Pdf.Graphics;
  6. using System.Drawing;

  7. namespace Buttom2
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             //实例化PdfDocument类,加载PDF文档
  14.             PdfDocument doc = new PdfDocument();
  15.             doc.LoadFromFile("sample.pdf");

  16.             //允许添加Form
  17.             doc.AllowCreateForm = true;

  18.             //获取最后一页
  19.             PdfPageBase lastPage = doc.Pages[doc.Pages.Count - 1];

  20.             //在页面指定位置添加按钮
  21.             PdfButtonField button = new PdfButtonField(lastPage, "Back");
  22.             button.Bounds = new RectangleF(lastPage.ActualSize.Width - 150, lastPage.ActualSize.Height - 700, 50, 20);

  23.             //设置按钮边框颜色
  24.             button.BorderStyle = PdfBorderStyle.Solid;
  25.             button.BorderColor = new PdfRGBColor(Color.Transparent);

  26.             //设置按钮背景色
  27.             button.BackColor = Color.WhiteSmoke;

  28.             //设置按钮提示语 
  29.             button.ToolTip = "Click and back to the third page";

  30.             //设置按钮文字字体和颜色 
  31.             PdfTrueTypeFont trueTypeFont = new PdfTrueTypeFont(new Font("Avant Garde", 9f), true);
  32.             button.Font = trueTypeFont;
  33.             button.ForeColor = Color.Black;

  34.             //实例化PdfDestination对象,传入指定页码到第3页
  35.             PdfDestination destination = new PdfDestination(doc.Pages[2]);

  36.             //创建go to动作
  37.             PdfGoToAction goToAction = new PdfGoToAction(destination);

  38.             //应用动作
  39.             button.Actions.MouseDown = goToAction;

  40.             //添加按钮到文档
  41.             doc.Form.Fields.Add(button);

  42.             //保存并打开PDF文档
  43.             doc.SaveToFile("result.pdf", FileFormat.PDF);
  44.             System.Diagnostics.Process.Start("result.pdf");
  45.         }
  46.     }
  47. }

添加效果(截图):




点击按钮,即可跳转至指定的文档第3页。

关于添加PDF页面跳转按钮的方法,本文到这里就介绍完毕,希望文中的代码能给各位开发者提供一定参考价值。


阅读(172) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册