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 文档中,超链接是以注释(Annotation)的形式添加到页面上的。要在 PDF 的已有文本上插入超链接,首先需要定位目标文本;获取其所在位置后,即可创建一个包含链接的 PdfUriAnnotation 对象,并将其添加到对应位置。

具体步骤如下:

  1. 创建 PdfDocument 对象,并使用 PdfDocument.LoadFromFile() 方法加载 PDF 文件。
  2. 通过 PdfDocument.Pages 属性获取第一页。
  3. 创建 PdfTextFinder 对象,并通过 PdfTextFinder.Options.Parameter 属性设置查找选项。
  4. 使用 PdfTextFinder.Find() 方法在页面中查找指定文本,并获取其第三次出现的位置。
  5. 遍历该文本出现位置的文本边界(由于被搜索的文本可能跨越多行,且可能包含多个边界,查找到的文本边界会以列表形式返回,以适应这种情况)。
  6. 在对应的文本边界内创建 PdfUriAnnotation 对象,并通过其属性设置链接地址、边框样式和边框颜色。
  7. 使用 PdfPageBase.AnnotationsWidget.Add(PdfUriAnnotation) 方法将超链接添加到页面注释中。
  8. 调用 PdfDocument.SaveToFile() 方法保存 PDF 文件。

具体示例代码如下:

using Spire.Pdf;
using Spire.Pdf.Annotations;
using Spire.Pdf.Texts;
using System.Collections.Generic;
using System.Drawing;
using TextFindParameter = Spire.Pdf.Texts.TextFindParameter;

namespace ChangeHyperlink
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 创建 PdfDocument 类的对象
            PdfDocument pdf = new PdfDocument();

            // 加载 PDF 文件
            pdf.LoadFromFile("Sample.pdf");

            // 获取第一页
            PdfPageBase page = pdf.Pages[0];

            // 创建 PdfTextFinder 对象并设置查找选项
            PdfTextFinder finder = new PdfTextFinder(page);
            finder.Options.Parameter = TextFindParameter.IgnoreCase;

            // 在页面中查找指定文本,并获取第三次出现的位置
            List<PdfTextFragment> collection = finder.Find("climate change");
            PdfTextFragment fragment = collection[2];

            // 遍历该文本出现位置的所有文本边界
            foreach (RectangleF bounds in fragment.Bounds)
            {
                // 创建一个超链接注释
                PdfUriAnnotation url = new PdfUriAnnotation(bounds);
                // 设置超链接的 URL
                url.Uri = "https://en.wikipedia.org/wiki/Climate_change";
                // 设置超链接注释的边框
                url.Border = new PdfAnnotationBorder(1f);
                // 设置边框颜色
                url.Color = Color.Blue;
                // 将超链接注释添加到页面中
                page.Annotations.Add(url);
            }

            // 保存 PDF 文件
            pdf.SaveToFile("AddHyperlinks.pdf");
            pdf.Dispose();
        }
    }
}

申请临时许可证

如果您希望移除生成文档中的评估提示,或解除功能限制,请申请一份有效期为 30 天 的临时许可证。

标签: none

添加新评论