栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C# 添加超链接到PDF文档

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C# 添加超链接到PDF文档

超链接可以实现不同元素之间的连接,用户可以通过点击被链接的元素来激活这些链接,快速访问链接内容。本文中,将分享通过C#编程在PDF文档中插入超链接的方法,包含以下几种链接:

  • 插入网页链接

  • 插入外部文档链接

  • 插入文档页面跳转链接


工具:Free Spire.PDF for .NET (免费版)

下载安装后,注意将Spire.Pdf.dll引用到程序(dll文件可在安装路径下的Bin文件夹中获取)

示例代码(供参考)

【示例1】插入网页链接

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;  
                     
          //创建字体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;             
          
          //创建字体2            
          PdfTrueTypeFont font2 = new PdfTrueTypeFont(new Font("Arial Unicode MS", 12f, FontStyle.Underline), true);            
          //创建PdfTextWeblink对象            
          PdfTextWeblink weblink = new PdfTextWeblink();            
          //设置超链接地址            
          weblink.Url = "https://www.wto.org/";            
          //设置超链接文本            
          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");  
            
        }   
     }
  }

网页链接效果:


【示例2】链接到外部文档

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");     
           }   
      }
 }

外部文档连接效果:



【示例3】插入文档页面跳转链接

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");   
       }    
   }
}

页面跳转链接效果:



(本文完)

转载请注明出处。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/230635.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号