文档半岛外围网上直营>>Spire.PDF教程>>PDF管理控件Spire.PDF使用教程:如何添加、更新和删除超链接
PDF管理控件Spire.PDF使用教程:如何添加、更新和删除超链接
更多资源查看:Spire.XLS工作表教程 | Spire.Doc系列教程 | Spire.PDF系列教程
Spire.PDF是一个专业的PDF组件,能够独立地创建、编写、编辑、操作和阅读PDF文件,支持 .NET、Java、WPF和Silverlight。Spire.PDF的PDF API拥有丰富的功能,如安全设置(包括数字签名)、PDF文本/附件/图片提取、PDF文件合并/拆分、元数据更新、章节和段落优化、图形/图像描绘和插入、表格创建和处理、数据导入等等。>>下载Spire.PDF最新试用版
C# 给 PDF 文档添加超链接
Spire.PDF允许用户在PDF文档中添加超链接来链接到外部网页、文档内部的指定页面或是某些外部文档。以下示例将介绍如何使用Spire.PDF组件和C#添加这三种超链接到PDF文档。
链接到外部网页
//创建PDF文档并添加一页
PdfDocument pdf = new PdfDocument();
PdfPageBase page = pdf.Pages.Add();
//定义坐标变量并赋初值
float x = 10;
float y = 50;
//创建字体
PdfTrueTypeFont font1 = new PdfTrueTypeFont(new Font("Arial Unicode MS", 12f, FontStyle.Regular), true);
//添加文本到页面
string text = "更多详情请访问E-iceblue官方网站: ";
page.Canvas.DrawString(text, font1, PdfBrushes.Black, new PointF(x, y));
PdfStringFormat format = new PdfStringFormat();
format.MeasureTrailingSpaces = true;
x = x + font1.MeasureString(text, format).Width;
//创建字体
PdfTrueTypeFont font2 = new PdfTrueTypeFont(new Font("Arial Unicode MS", 12f, FontStyle.Underline), true);
//创建PdfTextWebLink对象
PdfTextWebLink webLink = new PdfTextWebLink();
//设置超链接地址
webLink.Url = "//www.e-iceblue.cn/";
//设置超链接文本
webLink.Text = "www.e-iceblue.cn";
//设置超链接字体和字体颜色
webLink.Font = font2;
webLink.Brush = PdfBrushes.Blue;
//添加超链接到页面
webLink.DrawTextWebLink(page.Canvas, new PointF(x, y));
//保存文档
pdf.SaveToFile("WebLink.pdf");
链接到文档内部的指定页面
//创建PDF文档并添加两页
PdfDocument pdf = new PdfDocument();
PdfPageBase page1 = pdf.Pages.Add();
PdfPageBase page2 = pdf.Pages.Add();
//创建字体
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial Unicode MS", 12f, FontStyle.Regular), true);
//添加文本到页面
page1.Canvas.DrawString("第一页", font, PdfBrushes.Black, new PointF(20, 20));
page2.Canvas.DrawString("第二页", font, PdfBrushes.Black, new PointF(20, 20));
string text = "跳转到第二页";
//创建RectangleF对象并添加文本
RectangleF rectangle = new RectangleF(20, 80, 70, 20);
page1.Canvas.DrawString(text, font, PdfBrushes.ForestGreen, rectangle);
//创建PdfDocumentLinkAnnotation对象
PdfDocumentLinkAnnotation documentLink = new PdfDocumentLinkAnnotation(rectangle, new PdfDestination(page2));
//设置边框颜色
documentLink.Color = Color.DarkSeaGreen;
//添加超链接到第一页
page1.AnnotationsWidget.Add(documentLink);
//保存文档
pdf.SaveToFile("InternalFileLink.pdf");
链接到外部文档
//创建PDF文档并添加一页
PdfDocument document = new PdfDocument();
PdfPageBase page = document.Pages.Add();
//创建字体
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial Unicode MS", 12f, FontStyle.Regular), true);
string text = "打开1.jpg";
//创建RectangleF对象并添加文本
RectangleF rectangle = new RectangleF(20, 40, 80, 20);
page.Canvas.DrawString(text, font, PdfBrushes.ForestGreen, rectangle);
//创建PdfFileLinkAnnotation对象
PdfFileLinkAnnotation fileLink = new PdfFileLinkAnnotation(rectangle, @"1.jpg");
//设置超链接边框颜色
fileLink.Color = Color.DarkSeaGreen;
//添加超链接到页面
page.AnnotationsWidget.Add(fileLink);
//保存文档
document.SaveToFile("ExternalFileLink.pdf");
C# 如何更新和删除 PDF 文档中的超链接
前面我们介绍了如何使用Spire.PDF组件添加超链接到PDF文档,接下来将详细介绍如何使用C#更新和删除PDF文档中的超链接。

//加载PDF示例文档
PdfDocument document = new PdfDocument();
document.LoadFromFile("PDFLink.pdf");
//获取第一页
PdfPageBase page = document.Pages[0];
//获取所有的PDF 超链接集合
PdfAnnotationCollection widgetCollection = page.AnnotationsWidget;
//更新第一个超链接Target link
PdfUriAnnotationWidget uri = widgetCollection[0] as PdfUriAnnotationWidget;
uri.Uri = "//www.e-iceblue.cn/Introduce/Spire-PDF-NET.html";
//删除第二个超链接
widgetCollection.RemoveAt(1);
//保存文档
document.SaveToFile("Result.pdf");程序运行后,第一个超链接的网址被修改,第二个超链接被删除,但是字体样式依然存在:

如果你有任何问题或意见,可在下方评论区留言,点击资源列表查看更多教程资源~
*想要购买正版授权的朋友可以哦~
扫描关注“慧聚IT”微信公众号,及时获取更多产品最新动态及最新资讯



QQ交谈
在线咨询

渝公网安备
50010702500608号

客服热线