超链接可以实现不同元素之间的连接,用户可以通过点击被链接的元素来激活这些链接。具有高效、快捷、准确的特点。本文中,将分享通过C#编程在PDF文档中插入超链接的方法。内容包含以下要点:
工具
下载安装后,注意将Spire.Pdf.dll引用到程序(dll文件可在安装路径下的Bin文件夹中获取)
示例代码(供参考)
【示例1】插入网页链接
步骤 1:创建实例,并添加页
PdfDocument pdf = new PdfDocument(); PdfPageBase page = pdf.Pages.Add();
步骤 2:定义坐标变量
float x = 10; float y = 50;
步骤 3:创建字体1,并添加文本到页面
//创建字体1 PdfTrueTypeFont font1 = new PdfTrueTypeFont(new Font("Arial Unicode MS", 12f, FontStyle.Regular), true); //添加文本到页面 string text = "注:n本文主要数据来源参考自WTO,查看原文请点击:"; 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;
步骤 4:创建字体2 ,添加超链接文本,并设置格式
//创建字体2 PdfTrueTypeFont font2 = new PdfTrueTypeFont(new Font("Arial Unicode MS",12f, FontStyle.Underline), true); //创建PdfTextWebLink对象 PdfTextWebLink webLink = new PdfTextWebLink(); //设置超链接地址 webLink.Url = "/"; //设置超链接文本 webLink.Text = "WTO Official Website"; //设置超链接字体和字体颜色 webLink.Font = font2; webLink.Brush = PdfBrushes.Blue;
步骤 5 :添加超链接到页面,并保存文档
//添加超链接到页面 webLink.DrawTextWebLink(page.Canvas, new PointF(x, y+15));//保存文档 pdf.SaveToFile("WebLink.pdf");
网页链接效果:
全部代码:
using Spire.Pdf; using Spire.Pdf.Annotations; using Spire.Pdf.Graphics; using System.Drawing;namespace Weblink {class Program{static void Main(string[] args){//创建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 = "注:n本文主要数据来源参考自WTO,查看原文请点击:";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 = "/";//设置超链接文本webLink.Text = "WTO Official Website";//设置超链接字体和字体颜色webLink.Font = font2;webLink.Brush = PdfBrushes.Blue;//添加超链接到页面webLink.DrawTextWebLink(page.Canvas, new PointF(x, y+15));//保存文档pdf.SaveToFile("WebLink.pdf");System.Diagnostics.Process.Start("Weblink.pdf");}} }View Code
【示例2】链接到外部文档
步骤 1:创建实例,并添加页
PdfDocument document = new PdfDocument(); PdfPageBase page = document.Pages.Add();
步骤 2:创建字体,并绘制超链接文本
//创建字体 PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial Unicode MS", 15f, FontStyle.Regular), true);//添加超链接文本 string text = "Clik and View the Original Document"; //创建RectangleF对象并添加文本 RectangleF rectangle = new RectangleF(20, 40, 300,40); page.Canvas.DrawString(text, font, PdfBrushes.SteelBlue, rectangle);//创建PdfFileLinkAnnotation对象 PdfFileLinkAnnotation fileLink = new PdfFileLinkAnnotation(rectangle, @"sample.docx"); //设置超链接边框颜色 fileLink.Color = Color.White;
步骤 3 :添加超链接到页面,并保存文档
//添加超链接到页面 page.AnnotationsWidget.Add(fileLink);//保存并打开文档 document.SaveToFile("ExternalFileLink.pdf");
外部文档连接效果:
全部代码:
using Spire.Pdf; using Spire.Pdf.Annotations; using Spire.Pdf.Graphics; using System.Drawing;namespace Filelink {class Program{static void Main(string[] args){//创建PDF文档并添加一页PdfDocument document = new PdfDocument();PdfPageBase page = document.Pages.Add();//创建字体PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial Unicode MS", 15f, FontStyle.Regular), true);//添加超链接文本 string text = "Clik and View the Original Document";//创建RectangleF对象并添加文本RectangleF rectangle = new RectangleF(20, 40, 300,40);page.Canvas.DrawString(text, font, PdfBrushes.SteelBlue, rectangle);//创建PdfFileLinkAnnotation对象 PdfFileLinkAnnotation fileLink = new PdfFileLinkAnnotation(rectangle, @"sample.docx");//设置超链接边框颜色fileLink.Color = Color.White;//添加超链接到页面 page.AnnotationsWidget.Add(fileLink);//保存并打开文档document.SaveToFile("ExternalFileLink.pdf");System.Diagnostics.Process.Start("ExternalFileLink.pdf");}} }View Code
【示例3】插入文档页面跳转链接
步骤 1 :创建文档,并添加3页
PdfDocument pdf = new PdfDocument(); PdfPageBase page1 = pdf.Pages.Add(); PdfPageBase page2 = pdf.Pages.Add(); PdfPageBase page3 = pdf.Pages.Add();
步骤 2:创建字体,添加文本到页面
//创建字体 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)); page3.Canvas.DrawString("(第三页)", font, PdfBrushes.Black, new PointF(20, 20));//创建超链接文本 string text = "点击跳转至最后一页";//创建RectangleF对象并添加文本 RectangleF rectangle = new RectangleF(40, 50, 900, 20); page1.Canvas.DrawString(text, font, PdfBrushes.SteelBlue, rectangle);//创建PdfDocumentLinkAnnotation对象 PdfDocumentLinkAnnotation documentLink = new PdfDocumentLinkAnnotation(rectangle, new PdfDestination(page3));//设置边框颜色 documentLink.Color = Color.White;
步骤 3: 添加超链接到页面并保存文档
//添加超链接到第一页 page1.AnnotationsWidget.Add(documentLink);//保存文档 pdf.SaveToFile("InternalFileLink.pdf");
页面跳转链接效果:
全部代码:
using Spire.Pdf; using Spire.Pdf.Annotations; using Spire.Pdf.General; using Spire.Pdf.Graphics; using System.Drawing;namespace Documentlink {class Program{static void Main(string[] args){//创建PDF文档并添加3页PdfDocument pdf = new PdfDocument();PdfPageBase page1 = pdf.Pages.Add();PdfPageBase page2 = pdf.Pages.Add();PdfPageBase page3 = 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));page3.Canvas.DrawString("(第三页)", font, PdfBrushes.Black, new PointF(20, 20));//创建超链接文本string text = "点击跳转至最后一页";//创建RectangleF对象并添加文本 RectangleF rectangle = new RectangleF(40, 50, 900, 20);page1.Canvas.DrawString(text, font, PdfBrushes.SteelBlue, rectangle);//创建PdfDocumentLinkAnnotation对象PdfDocumentLinkAnnotation documentLink = new PdfDocumentLinkAnnotation(rectangle, new PdfDestination(page3));//设置边框颜色 documentLink.Color = Color.White;//添加超链接到第一页 page1.AnnotationsWidget.Add(documentLink);//保存文档并打开pdf.SaveToFile("InternalFileLink.pdf");System.Diagnostics.Process.Start("InternalFileLink.pdf");}} }View Code
(本文完)
转载请注明出处。
转载于:.html
本文发布于:2024-02-03 06:09:10,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170691174849146.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |