使用C#语言在.NET框架下向PDF文档中添加动作,不仅能够提升文档的交互性和用户体验,还能够在自动化工作流中发挥关键作用,例如自动跳转至特定页面、链接外部资源或播放音频资源等操作。这种能力使得开发者能够根据具体需求定制PDF文档的互动操作,进而提高文档的实用性。本文将介绍如何在.NET平台使用C#在PDF文档中添加动作。
文章目录
本文所使用的方法需要用到免费Free Spire.PDF for .NET,可通过NuGet安装:PM> Install-Package Spire.PDF
。
用C#在PDF中添加动作的一般步骤
利用C#以及该库可以向PDF文档中嵌入多种互动组件动作,如浏览控制按钮、外部文件和网页连接以及声音播放功能,以此来提升用户的阅读体验。下面简要介绍实现PDF内的动作添加的主要步骤:
- 创建
PdfDocument
类的实例。 - 通过
PdfDocument.LoadFromFile()
方法加载 PDF 文档。 - 使用
PdfDocument.Pages[]
属性获取页面。 - 创建表示动作的类的实例,并设置其属性。
- 将动作添加到PDF文档:
- 可以使用动作在页面的矩形区域内创建
PdfActionAnnotation
类的实例,并为动作添加提示文字(可选)。然后使用PdfPageBase.Annotations.Add()
方法将动作注释添加到页面上,从而创建可点击触发的动作。 - 也可以通过
PdfDocument.AfterOpenAction
、PdfDocument.BeforeCloseAction
等属性直接将动作设置为在进行其他特定操作时执行的动作。
- 可以使用动作在页面的矩形区域内创建
- 使用
PdfDocument.SaveToFile()
方法保存生成的文档。 - 释放资源。
在PDF中创建文档内跳转动作
文档内跳转动作的创建通过PdfGoToAction
类实现。代码示例:
using Spire.Pdf;
using Spire.Pdf.Actions;
using Spire.Pdf.Annotations;
using Spire.Pdf.General;
using Spire.Pdf.Graphics;
using System.Drawing;
namespace AddNavigationButtonPDF
{
class Program
{
static void Main(string[] args)
{
// 创建 PdfDocument 的实例
PdfDocument pdf = new PdfDocument();
// 加载 PDF 文件
pdf.LoadFromFile("示例.pdf");
// 创建 PdfDestination 实例并设置目标位置
PdfDestination destination = new PdfDestination(pdf.Pages[1]);
destination.Location = new PointF(0, 0);
destination.Mode = PdfDestinationMode.Location;
destination.Zoom = 0.6f;
// 基于目标位置创建 PdfGoToAction 实例
PdfGoToAction action = new PdfGoToAction(destination);
// 创建矩形并绘制到第一页
RectangleF rect = new RectangleF(70, pdf.PageSettings.Size.Height - 120, 140, 20);
pdf.Pages[0].Canvas.DrawRectangle(PdfBrushes.LightGray, rect);
// 在矩形中绘制文本
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("HarmonyOS Sans SC", 14f, FontStyle.Bold), true);
PdfStringFormat stringFormat = new