C# 给PDF文档添加超链接

男娘i 2023-10-17 17:28 145阅读 0赞

超链接指的是能跳转到其他位置或对象的链接,常见的超链接可以链接到网址、电子邮箱地址和外部文件等。这里我将介绍如何使用免费PDF组件Free Spire.PDF和C#添加这三种超链接到PDF文档。实现这个功能需要下载Free Spire.PDF并将相应的dll文件添加到应用程序中。

一、链接到外部网页

  1. //创建PDF文档并添加一页
  2. PdfDocument pdf = new PdfDocument();
  3. PdfPageBase page =pdf.Pages.Add();
  4. //定义坐标变量并赋初值
  5. float x = 10;
  6. float y = 50;
  7. //创建字体
  8. PdfTrueTypeFont font1 = new PdfTrueTypeFont(new Font("Arial Unicode MS", 12f, FontStyle.Regular), true);
  9. //添加文本到页面
  10. string text = "更多详情请访问E-iceblue官方网站: ";
  11. page.Canvas.DrawString(text, font1, PdfBrushes.Black, newPointF(x, y));
  12. PdfStringFormat format = new PdfStringFormat();
  13. format.MeasureTrailingSpaces = true;
  14. x = x + font1.MeasureString(text, format).Width;
  15. //创建字体
  16. PdfTrueTypeFont font2 = new PdfTrueTypeFont(new Font("Arial Unicode MS", 12f, FontStyle.Underline), true);
  17. //创建PdfTextWebLink对象
  18. PdfTextWebLink webLink = new PdfTextWebLink();
  19. //设置超链接地址
  20. webLink.Url = "https://www.e-iceblue.cn/";
  21. //设置超链接文本
  22. webLink.Text = "www.e-iceblue.cn";
  23. //设置超链接字体和字体颜色
  24. webLink.Font = font2;
  25. webLink.Brush = PdfBrushes.Blue;
  26. //添加超链接到页面
  27. webLink.DrawTextWebLink(page.Canvas, new PointF(x, y));
  28. //保存文档
  29. pdf.SaveToFile("WebLink.pdf");

20171215155556110

二、链接到文档内部的指定页面

  1. //创建PDF文档并添加两页
  2. PdfDocument pdf = new PdfDocument();
  3. PdfPageBase page1 =pdf.Pages.Add();
  4. PdfPageBase page2 =pdf.Pages.Add();
  5. //创建字体
  6. PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial Unicode MS", 12f, FontStyle.Regular), true);
  7. //添加文本到页面
  8. page1.Canvas.DrawString("第一页",font, PdfBrushes.Black, new PointF(20,20));
  9. page2.Canvas.DrawString("第二页",font, PdfBrushes.Black, new PointF(20,20));
  10. string text = "跳转到第二页";
  11. //创建RectangleF对象并添加文本
  12. RectangleF rectangle = new RectangleF(20,80, 70, 20);
  13. page1.Canvas.DrawString(text, font, PdfBrushes.ForestGreen, rectangle);
  14. //创建PdfDocumentLinkAnnotation对象
  15. PdfDocumentLinkAnnotation documentLink = new PdfDocumentLinkAnnotation(rectangle,new PdfDestination(page2));
  16. //设置边框颜色
  17. documentLink.Color = Color.DarkSeaGreen;
  18. //添加超链接到第一页
  19. page1.AnnotationsWidget.Add(documentLink);
  20. //保存文档
  21. pdf.SaveToFile("InternalFileLink.pdf");

20171215155626147

链接到文档内部的其他页面或位置,还可以通过添加按钮(button)和动作(action)的方式来实现,我会在后面的文章中介绍。

三、链接到外部文档

  1. //创建PDF文档并添加一页
  2. PdfDocument document = new PdfDocument();
  3. PdfPageBase page =document.Pages.Add();
  4. //创建字体
  5. PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial Unicode MS", 12f, FontStyle.Regular), true);
  6. string text = "打开1.jpg";
  7. //创建RectangleF对象并添加文本
  8. RectangleF rectangle = new RectangleF(20,40, 80, 20);
  9. page.Canvas.DrawString(text, font, PdfBrushes.ForestGreen, rectangle);
  10. //创建PdfFileLinkAnnotation对象
  11. PdfFileLinkAnnotation fileLink = new PdfFileLinkAnnotation(rectangle,@"1.jpg");
  12. //设置超链接边框颜色
  13. fileLink.Color = Color.DarkSeaGreen;
  14. //添加超链接到页面
  15. page.AnnotationsWidget.Add(fileLink);
  16. //保存文档
  17. document.SaveToFile("ExternalFileLink.pdf");

20171215160225380

发表评论

表情:
评论列表 (有 0 条评论,145人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C# PDF文档添加

    超链接指的是能跳转到其他位置或对象的链接,常见的超链接可以链接到网址、电子邮箱地址和外部文件等。这里我将介绍如何使用免费PDF组件Free Spire.PDF和C\添加这三种超