热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C#PDFPage操作设置页面切换按钮的方法

C#PDFPage操作设置页面切换按钮的方法-概述在以下示例中,将介绍在PDF文档页面设置页面切换按钮的方法。示例中将页面切换按钮的添加分为了两种情况,一种是设置按钮跳转到首页、下

概述

在以下示例中,将介绍在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#编程中,数值结果的格式化展示是提高代码可读性和用户体验的重要手段。本文探讨了多种格式化方法和技巧,如使用格式说明符、自定义格式字符串等,以实现对数值结果的精确控制。通过实例演示,展示了如何灵活运用这些技术来满足不同的展示需求。 ... [详细]
  • Python 伦理黑客技术:深入探讨后门攻击(第三部分)
    在《Python 伦理黑客技术:深入探讨后门攻击(第三部分)》中,作者详细分析了后门攻击中的Socket问题。由于TCP协议基于流,难以确定消息批次的结束点,这给后门攻击的实现带来了挑战。为了解决这一问题,文章提出了一系列有效的技术方案,包括使用特定的分隔符和长度前缀,以确保数据包的准确传输和解析。这些方法不仅提高了攻击的隐蔽性和可靠性,还为安全研究人员提供了宝贵的参考。 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • 如何撰写适应变化的高效代码:策略与实践
    编写高质量且适应变化的代码是每位程序员的追求。优质代码的关键在于其可维护性和可扩展性。本文将从面向对象编程的角度出发,探讨实现这一目标的具体策略与实践方法,帮助开发者提升代码效率和灵活性。 ... [详细]
  • 本文详细介绍了批处理技术的基本概念及其在实际应用中的重要性。首先,对简单的批处理内部命令进行了概述,重点讲解了Echo命令的功能,包括如何打开或关闭回显功能以及显示消息。如果没有指定任何参数,Echo命令会显示当前的回显设置。此外,文章还探讨了批处理技术在自动化任务执行、系统管理等领域的广泛应用,为读者提供了丰富的实践案例和技术指导。 ... [详细]
  • 如何在C#中配置组合框的背景颜色? ... [详细]
  • Python全局解释器锁(GIL)机制详解
    在Python中,线程是操作系统级别的原生线程。为了确保多线程环境下的内存安全,Python虚拟机引入了全局解释器锁(Global Interpreter Lock,简称GIL)。GIL是一种互斥锁,用于保护对解释器状态的访问,防止多个线程同时执行字节码。尽管GIL有助于简化内存管理,但它也限制了多核处理器上多线程程序的并行性能。本文将深入探讨GIL的工作原理及其对Python多线程编程的影响。 ... [详细]
  • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
  • 探索偶数次幂二项式系数的求和方法及其数学意义 ... [详细]
  • MATLAB字典学习工具箱SPAMS:稀疏与字典学习的详细介绍、配置及应用实例
    SPAMS(Sparse Modeling Software)是一个强大的开源优化工具箱,专为解决多种稀疏估计问题而设计。该工具箱基于MATLAB,提供了丰富的算法和函数,适用于字典学习、信号处理和机器学习等领域。本文将详细介绍SPAMS的配置方法、核心功能及其在实际应用中的典型案例,帮助用户更好地理解和使用这一工具箱。 ... [详细]
  • 在Android平台中,播放音频的采样率通常固定为44.1kHz,而录音的采样率则固定为8kHz。为了确保音频设备的正常工作,底层驱动必须预先设定这些固定的采样率。当上层应用提供的采样率与这些预设值不匹配时,需要通过重采样(resample)技术来调整采样率,以保证音频数据的正确处理和传输。本文将详细探讨FFMpeg在音频处理中的基础理论及重采样技术的应用。 ... [详细]
  • 在Kohana 3框架中,实现最优的即时消息显示方法是许多开发者关注的问题。本文将探讨如何高效、优雅地展示flash消息,包括最佳实践和技术细节,以提升用户体验和代码可维护性。 ... [详细]
  • 本文探讨了 Kafka 集群的高效部署与优化策略。首先介绍了 Kafka 的下载与安装步骤,包括从官方网站获取最新版本的压缩包并进行解压。随后详细讨论了集群配置的最佳实践,涵盖节点选择、网络优化和性能调优等方面,旨在提升系统的稳定性和处理能力。此外,还提供了常见的故障排查方法和监控方案,帮助运维人员更好地管理和维护 Kafka 集群。 ... [详细]
  • 本文介绍了如何在iOS平台上使用GLSL着色器将YV12格式的视频帧数据转换为RGB格式,并展示了转换后的图像效果。通过详细的技术实现步骤和代码示例,读者可以轻松掌握这一过程,适用于需要进行视频处理的应用开发。 ... [详细]
  • 2018年9月21日,Destoon官方发布了安全更新,修复了一个由用户“索马里的海贼”报告的前端GETShell漏洞。该漏洞存在于20180827版本的某CMS中,攻击者可以通过构造特定的HTTP请求,利用该漏洞在服务器上执行任意代码,从而获得对系统的控制权。此次更新建议所有用户尽快升级至最新版本,以确保系统的安全性。 ... [详细]
author-avatar
yuzhenhua09
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有