C# 插入超连接到PDF文档(3种状况)

超连接能够实现不一样元素之间的链接,用户能够经过点击被连接的元素来激活这些连接。具备高效、快捷、准确的特色。本文中,将分享经过C#编程在PDF文档中插入超连接的方法。内容包含如下要点:html

  • 插入网页连接
  • 插入外部文档连接
  • 插入文档页面跳转连接

工具web

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

示例代码(供参考)ide

【示例1】插入网页连接工具

步骤 1:建立实例,并添加页字体

PdfDocument pdf = new PdfDocument();
PdfPageBase page = pdf.Pages.Add();

步骤 2:定义坐标变量spa

float x = 10;
float y = 50;

步骤 3:建立字体1,并添加文本到页面3d

//建立字体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 ,添加超连接文本,并设置格式code

 //建立字体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 :添加超连接到页面,并保存文档orm

//添加超连接到页面
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 = "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

(本文完)

转载请注明出处。

相关文章
相关标签/搜索