PDF 中的超链接是一项很有价值的功能,它可以让读者轻松地访问指定页面。通过在 PDF 文档中添加超链接,我们可以更容易地向读者提供文档的补充信息,或者引导他们前往相关资源。当读者单击超链接时,相应的页面就会在浏览器中打开,这样可以极大地提升阅读体验。本文将介绍如何使用 Spire.PDF for .NET 通过 .NET 程序添加超链接到 PDF 中的现有文本。
安装 Spire.PDF for .NET
首先,您需要添加 Spire.PDF for .NET 包中包含的 DLL 文件作为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过 NuGet 安装。
PM> Install-Package Spire.PDF通过 C#/VB.NET 插入超链接到 PDF 中的现有文本
PDF 文档中的超链接是作为一种注释元素插入到页面中的。在 PDF 文档中添加超链接到指定文本需要先定位该文本。获取文本位置后,就可以创建一个带指定 URL 动作的 PdfLinkAnnotation 对象,并插入到获取的位置,从而实现添加超链接到指定文本。详细操作步骤如下:
- 创建一个 PdfDocument 类的对象,并使用 PdfDocument.LoadFromFile() 方法载入 PDF 文件。
- 使用 PdfDocument.Pages 属性获取文档第一页。
- 创建一个 PdfTextFinder 类的对象,并使用 PdfTextFinder.Options.Parameter 属性设置查找器选项。
- 使用 PdfTextFinder.Find() 方法在页面中查找指定文本,并获取第二个查找结果。
- 循环遍历第二个查找结果的文本范围(被检索的文本可能跨越多行并有一个以上的范围,因此检索结果的范围被存储在一个列表中以应对这种不确定性)。
- 在文本范围内创建一个 PdfURIAction 对象用于设置要链接的网址,再创建 PdfLinkAnnotation 类的对象,通过 PdfLinkAnnotation 类下的属性设置注释范围、边框宽度和边框颜色。
- 使用 PdfPageBase.AnnotationsV2.Add(PdfLinkAnnotation) 方法将超链接插入到页面中。
- 使用 PdfDocument.SaveToFile() 方法保存该 PDF 文件。
- C#
- VB.NET
using Spire.Pdf;
using Spire.Pdf.Actions;
using Spire.Pdf.Interactive.Annotations;
using Spire.Pdf.Texts;
using System.Drawing;
namespace ChangeHyperlink
{
internal class Program
{
static void Main(string[] args)
{
//创建一个PdfDocument的对象
PdfDocument pdf = new PdfDocument();
//载入PDF文件
pdf.LoadFromFile("示例.pdf");
//获取文档第一页
PdfPageBase page = pdf.Pages[0];
//创建一个PdfTextFinder的对象并设置查找器选项
PdfTextFinder finder = new PdfTextFinder(page);
finder.Options.Parameter = TextFindParameter.WholeWord;
//在页面中查找指定文本并获取第二个查找结果
List<PdfTextFragment> collection = finder.Find("气候变化");
PdfTextFragment fragment = collection[1];
//循环遍历第二个查找结果的文本范围
foreach (RectangleF bounds in fragment.Bounds)
{
/创建一个PdfLinkAnnotation对象,并指定其PdfURIAction动作
PdfURIAction act = new PdfURIAction("https://www.ccchina.org.cn/");
PdfLinkAnnotation url = new PdfLinkAnnotation(page, bounds, act);
//设置超链接的边框
url.Border.Width = 1f;
//设置边框颜色
url.Color = Color.Blue;
//将超链接插入到页面上
page.AnnotationsV2.Add(url);
}
//保存PDF文件
pdf.SaveToFile("添加超链接.pdf");
pdf.Dispose();
}
}
}Imports System.Drawing
Imports Spire.Pdf
Imports Spire.Pdf.Actions
Imports Spire.Pdf.Texts
Namespace ChangeHyperlink
Friend Class Program
Shared Sub Main(ByVal args() As String)
'创建一个PdfDocument的对象
Dim pdf As PdfDocument = New PdfDocument()
'载入PDF文件
pdf.LoadFromFile("示例.pdf")
'获取文档第一页
Dim page As PdfPageBase = pdf.Pages(0)
'创建一个PdfTextFinder的对象并设置查找器选项
Dim finder As PdfTextFinder = New PdfTextFinder(page)
finder.Options.Parameter = TextFindParameter.WholeWord
'在页面中查找指定文本并获取第二个查找结果
Dim collection As List(Of PdfTextFragment) = finder.Find("气候变化")
Dim fragment As PdfTextFragment = collection(1)
'循环遍历第二个查找结果的文本范围
Dim bounds As RectangleF
For Each bounds In fragment.Bounds
'创建一个PdfLinkAnnotation对象,并指定其PdfURIAction动作
Dim act As New PdfURIAction("https://www.ccchina.org.cn/")
Dim url As New Interactive.Annotations.PdfLinkAnnotation(page, bounds, act)
'设置超链接的边框宽度
url.Border.Width = 1.0F
'设置边框颜色
url.Color = Color.Blue
'将超链接插入到页面的注释集中
page.AnnotationsV2.Add(url)
Next
'保存PDF文件
pdf.SaveToFile("添加超链接.pdf")
pdf.Dispose()
End Sub
End Class
End Namespace
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。







