• C# 插入超链接到PDF文档(3种情况)


    超链接可以实现不同元素之间的连接,用户可以通过点击被链接的元素来激活这些链接。具有高效、快捷、准确的特点。本文中,将分享通过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 = "注:
    本文主要数据来源参考自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 = "https://www.wto.org/";
    //设置超链接文本
    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 = "注:
    本文主要数据来源参考自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 = "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");
                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

    (本文完)

    转载请注明出处。

  • 相关阅读:
    CAShapeLayer
    iOS开发多线程篇—NSOperation基本操作
    OS开发多线程篇—NSOperation简单介绍
    iOS开发多线程篇—GCD的常见用法
    iOS开发多线程篇—GCD的基本使用
    iOS开发多线程篇—线程的状态
    iOS开发多线程篇—线程间的通信
    iOS开发多线程篇—线程安全
    iOS开发多线程篇—创建线程
    iOS开发多线程篇—多线程简单介绍
  • 原文地址:https://www.cnblogs.com/Yesi/p/9844042.html
Copyright © 2020-2023  润新知