欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 美景 > Python 在PDF中插入文本超链接和图片超链接 (详解)

Python 在PDF中插入文本超链接和图片超链接 (详解)

2024/10/24 9:22:28 来源:https://blog.csdn.net/nuclear2011/article/details/142519237  浏览:    关键词:Python 在PDF中插入文本超链接和图片超链接 (详解)

目录

使用工具

Python给PDF添加网页链接

Python给PDF添加内部文件链接

Python给PDF添加外部文件链接

Python给PDF中现有文本添加超链接

Python在PDF中插入带超链接的图片

Python给PDF中现有图片添加超链接


超链接是指向特定资源(如外部网页、文档内部位置或其他外部文件)的链接。作为一种有效的导航工具,它能够帮助读者快速访问相关信息。通过在PDF文档中添加文本超链接和图片超链接,你可以显著提升文档的互动性和用户体验。这篇文章将详细介绍如何使用Python给PDF添加文本超链接和图片超链接,包括以下内容:

  • Python给PDF添加网页链接
  • Python给PDF添加内部文件链接
  • Python给PDF添加外部文件链接
  • Python给PDF中现有文本添加超链接
  • Python在PDF中插入带超链接的图片
  • Python给PDF中现有图片添加超链接

使用工具

要在Python应用程序中实现给PDF文档添加超链接,可以使用Spire.PDF for Python。它是一个专门用于在Python应用程序中创建、读取、操作和转换PDF文档的库。

你可以通过在终端运行以下命令来从PyPI安装Spire.PDF for Python:

pip install Spire.PDF

Python给PDF添加网页链接

网页链接可以帮助用户快速跳转到指定的外部网页。在PDF文档中添加网页链接,可以引导读者访问相关的在线资源,如文章、视频或网站等。在商业或教育等用途的PDF中经常用到网页链接。

Spire.PDF提供了PdfTextWebLink类,用于生成网页链接并将其绘制到PDF页面上。下面是具体实现代码:

from spire.pdf.common import *
from spire.pdf import *# 创建PDF文档
doc = PdfDocument()# 添加页面
page = doc.Pages.Add()# 初始化x和y坐标
x = 10.0
y = 50.0# 创建字体
label_font = PdfTrueTypeFont("宋体", 14.0, PdfFontStyle.Regular, True)
link_font = PdfTrueTypeFont("宋体", 14.0, PdfFontStyle.Underline, True)# 在页面上绘制文本
label = "网页链接:"
format = PdfStringFormat()
format.MeasureTrailingSpaces = True
page.Canvas.DrawString(label, label_font, PdfBrushes.get_Orange(), x, y, format)
x += label_font.MeasureString(label, format).Width# 在页面上绘制网页链接
web_link = PdfTextWebLink()
web_link.Text = "CSDN首页"
web_link.Url = "https://www.csdn.net/"
web_link.Font = link_font
web_link.Brush = PdfBrushes.get_Blue()
web_link.DrawTextWebLink(page.Canvas, PointF(x, y))# 保存生成的PDF文件
doc.SaveToFile("网页链接.pdf")
doc.Close()

Python插入网页链接到PDF

Python给PDF添加内部文件链接

内部文件链接可以让读者在同一PDF文档内快速跳转至不同的页面或章节。对于内容较长或结构复杂的文档,这种链接极大地改善了用户的导航体验,使他们能够更快速、准确地找到所需信息。

要给PDF添加内部文件链接,可以使用PdfDocumentLinkAnnotation类。下面是具体实现代码:

from spire.pdf.common import *
from spire.pdf import *# 创建PDF文档
doc = PdfDocument()# 添加两个页面
doc.Pages.Add()
doc.Pages.Add()# 初始化x和y坐标
x = 10.0
y = 50.0# 创建字体
label_font = PdfTrueTypeFont("宋体", 14.0, PdfFontStyle.Regular, True)
link_font = PdfTrueTypeFont("宋体", 14.0, PdfFontStyle.Underline, True)# 在页面上绘制文本
label = "内部文件链接: "
format = PdfStringFormat()
format.MeasureTrailingSpaces = True
doc.Pages[0].Canvas.DrawString(label, label_font, PdfBrushes.get_Orange(), x, y, format)
x += label_font.MeasureString(label, format).Width# 在页面上绘制文本
text = "跳转到第2页"
doc.Pages[0].Canvas.DrawString(text, link_font, PdfBrushes.get_Blue(), x, y)# 创建矩形
rectangle = RectangleF(x, y, link_font.MeasureString(text).Width, link_font.MeasureString(text).Height)
# 创建内部文件链接注释
documentLinkAnnotation = PdfDocumentLinkAnnotation(rectangle)
# 设置注释边框
documentLinkAnnotation.Border = PdfAnnotationBorder(0.0)
# 指定目标页面的索引(从0开始)
destinationPageIndex = 1
# 设置注释的目标位置
documentLinkAnnotation.Destination = PdfDestination(destinationPageIndex, PointF(x, y), 1.0)
# 将注释添加到第一页
doc.Pages[0].Annotations.Add(documentLinkAnnotation)# 保存生成的PDF文件
doc.SaveToFile("内部文件链接.pdf")
doc.Close()

Python链接到PDF的其他页面

Python给PDF添加外部文件链接

外部文件链接允许用户通过PDF直接打开其他文件,例如相关的文档、表格或多媒体文件。这种链接的设置有助于构建更丰富的资源环境,为用户提供更多的参考资料和辅助信息。

要给PDF添加外部文件链接,可以使用PdfFileLinkAnnotation类。下面是具体实现代码:

from spire.pdf.common import *
from spire.pdf import *# 创建PDF文档
doc = PdfDocument()# 添加页面
page = doc.Pages.Add()# 初始化x和y坐标
x = 10.0
y = 50.0# 创建字体
label_font = PdfTrueTypeFont("宋体", 14.0, PdfFontStyle.Regular, True)
link_font = PdfTrueTypeFont("宋体", 14.0, PdfFontStyle.Underline, True)# 在页面上绘制文本
label = "外部文件链接: "
format = PdfStringFormat()
format.MeasureTrailingSpaces = True
doc.Pages[0].Canvas.DrawString(label, label_font, PdfBrushes.get_Orange(), x, y, format)
x += label_font.MeasureString(label, format).Width# 在页面上绘制文本
text = "打开图片"
page.Canvas.DrawString(text, link_font, PdfBrushes.get_Blue(), x, y)# 创建矩形
rectangle = RectangleF(x, y, link_font.MeasureString(text).Width, link_font.MeasureString(text).Height)
# 创建外部文件链接注释
fileLinkAnnotation = PdfFileLinkAnnotation(rectangle, "C:/Users/Administrator/Desktop/images.png")
# 设置注释边框
fileLinkAnnotation.Border = PdfAnnotationBorder(0.0)
# 将注释添加到页面
page.Annotations.Add(fileLinkAnnotation)# 保存生成的PDF文件
doc.SaveToFile("外部文件链接.pdf")
doc.Close()

Python插入外部文件链接到PDF

Python给PDF中现有文本添加超链接

通过给PDF中的现有文本添加超链接,可以将文中的特定词汇或短语转化为可点击的链接来指向网页、文档的内部位置或其他外部文件。

要给PDF中的现有文本添加超链接,需要先使用PdfTextFinder类在PDF页面上找到该文本,定位到其所在位置,然后使用PdfUriAnnotation类为其添加超链接。下面是具体实现代码:

from spire.pdf.common import *
from spire.pdf import *# 打开PDF文档
doc = PdfDocument()
doc.LoadFromFile("什么是Adobe Acrobat.pdf")# 标记注释是否已添加
annotation_added = False# 遍历文档中的所有页面
for i in range(doc.Pages.Count):if annotation_added:break# 获取当前页面page = doc.Pages[i]# 创建PdfTextFinder对象finder = PdfTextFinder(page)# 查找所需文本textFragments = finder.Find("Adobe")if textFragments:# 获取第一个实例textFragment = textFragments[0]# 在第一个实例所在位置创建URL注释uriAnnotation = PdfUriAnnotation(textFragment.Bounds[0])# 设置注释URLuriAnnotation.Uri = "https://www.adobe.com/"# 设置注释边框uriAnnotation.Border = PdfAnnotationBorder(1.0)# 设置注释边框颜色uriAnnotation.Color = PdfRGBColor(Color.get_Red())# 将注释添加到文本存在的页面page.Annotations.Add(uriAnnotation)annotation_added = True# 保存生成的PDF文件
doc.SaveToFile("给现有文本添加注释.pdf")
doc.Close()

Python给PDF现有文本添加超链接

Python在PDF中插入带超链接的图片

在PDF中插入带有超链接的图片,能够为用户提供更加直观的点击体验。无论是指向网页还是外部文件,这种视觉化的超链接形式,能有效吸引用户注意,并提供更丰富的交互功能。

除了可以给文本添加超链接以外,PdfUriAnnotation类也可用于为PDF中的图片添加超链接。下面是具体实现代码:

from spire.pdf.common import *
from spire.pdf import *# 创建PDF文档
doc = PdfDocument()# 添加页面
page = doc.Pages.Add()# 打开图片
image = PdfImage.FromFile("C:/Users/Administrator/Downloads/Python.png")
# 创建矩形
rectangle = RectangleF(PointF(20.0, 50.0), SizeF(float(image.Width), float(image.Height)))
# 在页面上的矩形区域内绘制图片
page.Canvas.DrawImage(image, rectangle)# 在图片所在位置创建URL注释
uriAnnotation = PdfUriAnnotation(rectangle)
# 设置注释URL
uriAnnotation.Uri = "https://www.python.org/"
# 设置注释边框
uriAnnotation.Border = PdfAnnotationBorder(0.0)
# 将注释添加到页面
page.Annotations.Add(uriAnnotation)# 保存生成的PDF文件
doc.SaveToFile("插入带超链接的图片.pdf")
doc.Close()

Python插入带超链接的图片到PDF

Python给PDF中现有图片添加超链接

除了插入带有超链接的图片,还可以在现有的PDF图片上添加超链接。这样,用户点击图片时将直接跳转到设定的网页或其他文件,大大提升了PDF文档的可用性和交互体验。

要给PDF中的现有图片添加超链接,首先需要定位到该图片所在位置,然后使用PdfUriAnnotation类为其添加超链接。下面是具体实现代码:

from spire.pdf.common import *
from spire.pdf import *# 打开PDF文档
doc = PdfDocument()
doc.LoadFromFile("什么是Adobe Acrobat.pdf")# 获取第一页
page = doc.Pages[0]# 创建PdfImageHelper对象
imageHelper = PdfImageHelper()# 在页面上查找图片
imageList = imageHelper.GetImagesInfo(page)
if imageList:# 获取第一个图片image = imageList[0]# 在图片所在位置创建URL注释uriAnnotation = PdfUriAnnotation(image.Bounds)# 设置注释URLuriAnnotation.Uri = "https://www.adobe.com/"# 设置注释边框uriAnnotation.Border = PdfAnnotationBorder(0.0)# 将注释添加到页面page.Annotations.Add(uriAnnotation)# 保存生成的PDF文件
doc.SaveToFile("给现有图片添加超链接.pdf")
doc.Close()

Python给PDF现有图片添加超链接

以上就是如何使用Python在PDF中添加网页链接、内部/外部文件链接,以及为图片添加超链接的全部内容。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com