新闻详情

新闻详情

首页 / 资讯中心 / 详情

使用C#代码更改或删除 PDF 中的超链接

发布时间:2026/9/30 12:59:00来源:尧图网络
使用C#代码更改或删除 PDF 中的超链接
PDF 文档中的超链接可以帮助用户快速跳转到指定页面或打开相关文档让 PDF 文件更加便捷、易用。但如果链接目标发生变化或者链接指向了错误的页面就可能给文档使用者带来困扰或误解。因此及时修改或删除 PDF 文档中的错误或无效超链接对于确保链接的准确性和可用性非常重要也能为用户提供更好的阅读体验。本文将介绍如何通过 .NET 程序更改或删除 PDF 文档中的超链接。安装 PDF 处理库首先需要将 PDF 处理库中的 DLL 文件添加为 .NET 项目的引用。相关 DLL 文件可以从官方站点下载也可以通过 NuGet 进行安装。PM Install-Package Spire.PDF更改 PDF 中超链接的 URL要更改 PDF 页面中超链接的 URL需要从页面的注释集合中获取超链接注释将其转换为PdfLinkAnnotation对象然后通过其PdfURIAction操作的URI属性重新设置 URL。具体步骤如下创建一个PdfDocument类的对象。使用PdfDocument.LoadFromFIle()方法加载 PDF 文件。使用PdfDocument.Pages[]属性获取文档的第一页。使用PdfPageBase.AnnotationsV2[]属性获取页面中的第一个超链接注释并将其转换为PdfLinkAnnotation对象。通过PdfLinkAnnotation对象的PdfURIAction操作中的URI属性重新设置超链接的 URL。使用PdfDocument.SaveToFile()方法保存文档。完整示例代码如下using Spire.Pdf; using Spire.Pdf.Annotations; using System; 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]; // 获取第一个超链接 PdfUriAnnotationWidget url (PdfUriAnnotationWidget)page.Annotations[0]; // 重新设置超链接的 URL url.Uri https://en.wikipedia.org/wiki/Climate_change; // 保存 PDF 文件 pdf.SaveToFile(ChangeHyperlink.pdf); pdf.Dispose(); } } }从 PDF 中删除超链接PDF 处理库提供了PdfPageBase.AnnotationsV2.RemoveAt()方法可以根据索引删除 PDF 页面中的指定超链接。如果需要删除 PDF 文档中的所有超链接则需要遍历文档中的各个页面获取每个页面的注释集合检查注释是否为PdfLinkAnnotation类的实例如果是则将其删除。具体步骤如下创建一个PdfDocument类的对象。使用PdfDocument.LoadFromFIle()方法加载 PDF 文档。如果需要删除指定的超链接获取包含该超链接的页面并使用PdfPageBase.AnnotationsV2.RemoveAt()方法根据索引删除该超链接。如果需要删除所有超链接遍历文档中的各个页面并通过PdfPageBase.AnnotationsV2属性获取每个页面的注释集合。检查注释是否为PdfLinkAnnotation类的实例。如果是则使用PdfAnnotationCollection.Remove(PdfLinkAnnotation)方法删除该注释。使用PdfDocument.SaveToFIle()方法保存文档。完整示例代码如下// 示例 1更改 PDF 中超链接的 URL using Spire.Pdf; using Spire.Pdf.Actions; using Spire.Pdf.Interactive.Annotations; 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]; // 获取第一个超链接 PdfLinkAnnotation url page.AnnotationsV2[0] as PdfLinkAnnotation; // 重新设置超链接的 URL (url.Action as PdfURIAction).URI https://en.wikipedia.org/wiki/Climate_change; // 保存 PDF 文件 pdf.SaveToFile(ChangeHyperlink.pdf); pdf.Dispose(); } } } // 示例 2删除 PDF 中的超链接 using Spire.Pdf; using Spire.Pdf.Interactive.Annotations; namespace DeleteHyperlink { internal class Program { static void Main(string[] args) { // 创建一个 PdfDocument 对象 PdfDocument pdf new PdfDocument(); // 加载 PDF 文件 pdf.LoadFromFile(Sample.pdf); // 删除第一页中的第二个超链接 //PdfPageBase page pdf.Pages[0]; //page.AnnotationsV2.RemoveAt(1); // 删除文档中的所有超链接 // 遍历文档中的各个页面 foreach (PdfPageBase page in pdf.Pages) { // 获取页面的注释集合 PdfAnnotationCollection collection page.AnnotationsV2; for (int i collection.Count - 1; i 0; i--) { PdfAnnotation annotation collection[i]; // 检查注释是否为 PdfLinkAnnotation 的实例 if (annotation is PdfLinkAnnotation) { PdfLinkAnnotation url (PdfLinkAnnotation)annotation; // 删除超链接 collection.Remove(url); } } } // 保存文档 pdf.SaveToFile(DeleteHyperlink.pdf); pdf.Dispose(); } } }总结本文介绍了如何使用 C# 和 .NET 程序修改或删除 PDF 文档中的超链接。通过获取 PDF 页面中的超链接注释可以重新设置超链接的 URL如果需要删除超链接则可以根据索引删除指定链接或遍历文档中的页面和注释集合批量删除所有超链接。这种方法适用于维护 PDF 文档中的链接内容帮助及时更新失效或错误的链接并保持文档的准确性和可用性。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

go-zero mon 存储模块迁移指南:MongoDB Go Driver 1.x 升级至 2.0 2026/9/30 13:55:19

go-zero mon 存储模块迁移指南:MongoDB Go Driver 1.x 升级至 2.0

后端RPC框架Web框架微服务API网关服务注册发现代码生成 【免费下载链接】go-zero A cloud-native Go microservices framework with cli tool for productivity. 项目地址: https://gitcode.com/GitHub_Trending/go/go-zero 点击查看 免费下载 本指南以 go-zero 仓…

阅读更多 →
二十八、从 Demo 到上线:部署实战与 CI/CD 集成 2026/9/30 13:55:12

二十八、从 Demo 到上线:部署实战与 CI/CD 集成

从 Demo 到上线:部署实战与 CI/CD 集成 📚 专栏导航:这是《LangChain 30篇精讲》的第 28 篇,模块六「生产部署」的收官篇。上一篇我们用 LangSmith 把"质量"变成了可量化的分数。这一篇,我们解决最后一个问题:分数够了,怎么让全世界的人都能用上它? 写在前面…

阅读更多 →
mercury-agent源码构建教程:从Bun编译独立二进制到跨平台发布的完整指南 2026/9/30 13:54:30

mercury-agent源码构建教程:从Bun编译独立二进制到跨平台发布的完整指南

mercury-agent源码构建教程:从Bun编译独立二进制到跨平台发布的完整指南 【免费下载链接】mercury-agent Soul-driven AI agent with permission-hardened tools, token budgets, and multi-channel access. Runs 24/7 from CLI, Telegram or More. 项目地址: htt…

阅读更多 →
大厂 AI 应用工程师核心技术栈梳理|Transformer、Agent 编排、向量检索、FastAPI 工程落地 2026/9/30 13:54:23

大厂 AI 应用工程师核心技术栈梳理|Transformer、Agent 编排、向量检索、FastAPI 工程落地

前言:AI 应用工程师的角色定位 在 2026 年的大厂技术体系中,AI 应用工程师已成为连接大模型能力与业务价值的关键角色。与专注模型训练和架构创新的算法工程师不同,AI 应用工程师的核心使命是基于现有大模型能力,构建可靠、高效、…

阅读更多 →
华为昇腾芯片命名规则与Atlas算力产品体系全解析(从910C到950DT/960DT) 2026/9/30 13:54:03

华为昇腾芯片命名规则与Atlas算力产品体系全解析(从910C到950DT/960DT)

华为昇腾芯片命名规则与 Atlas 算力产品体系全解析(从 910C 到 950DT/960DT)声明:本文作为笔者个人备忘的文章,不喜勿喷。 基于公开资料整理(华为官方、公众号、知乎/社区、券商研报等,2026-09&#xff09…

阅读更多 →
2026 年 9 月 AI 算力产业链全景梳理:从 2nm 制程涨价到国产 50 万卡集群 2026/9/30 13:54:02

2026 年 9 月 AI 算力产业链全景梳理:从 2nm 制程涨价到国产 50 万卡集群

摘要:本文从制程与封装、芯片、算力中心、成本传导四个维度,梳理 2026 年 9 月 AI 算力产业链的关键事件与趋势变量,重点拆解算力定价权、国产芯片集群化与对华供应预期三条主线。文中内容均来自公开行业资料,仅作产业技术层面观察…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉