最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Python給PDF添加文本超鏈接和圖片超鏈接

 更新時(shí)間:2025年03月05日 10:08:38   作者:nuclear2011  
超鏈接是指向特定資源的鏈接,作為一種有效的導(dǎo)航工具,它能夠幫助讀者快速訪問相關(guān)信息,通過在PDF文檔中添加文本超鏈接和圖片超鏈接,你可以顯著提升文檔的互動(dòng)性和用戶體驗(yàn),這篇文章將詳細(xì)介紹如何使用Python給PDF添加文本超鏈接和圖片超鏈接,需要的朋友可以參考下

使用工具

要在Python應(yīng)用程序中實(shí)現(xiàn)給PDF文檔添加超鏈接,可以使用Spire.PDF for Python。它是一個(gè)專門用于在Python應(yīng)用程序中創(chuàng)建、讀取、操作和轉(zhuǎn)換PDF文檔的庫。

你可以通過在終端運(yùn)行以下命令來從PyPI安裝Spire.PDF for Python:

pip install Spire.PDF

Python給PDF添加網(wǎng)頁鏈接

網(wǎng)頁鏈接可以幫助用戶快速跳轉(zhuǎn)到指定的外部網(wǎng)頁。在PDF文檔中添加網(wǎng)頁鏈接,可以引導(dǎo)讀者訪問相關(guān)的在線資源,如文章、視頻或網(wǎng)站等。在商業(yè)或教育等用途的PDF中經(jīng)常用到網(wǎng)頁鏈接。

Spire.PDF提供了PdfTextWebLink類,用于生成網(wǎng)頁鏈接并將其繪制到PDF頁面上。下面是具體實(shí)現(xiàn)代碼:

from spire.pdf.common import *
from spire.pdf import *
 
# 創(chuàng)建PDF文檔
doc = PdfDocument()
 
# 添加頁面
page = doc.Pages.Add()
 
# 初始化x和y坐標(biāo)
x = 10.0
y = 50.0
 
# 創(chuàng)建字體
label_font = PdfTrueTypeFont("宋體", 14.0, PdfFontStyle.Regular, True)
link_font = PdfTrueTypeFont("宋體", 14.0, PdfFontStyle.Underline, True)
 
# 在頁面上繪制文本
label = "網(wǎng)頁鏈接:"
format = PdfStringFormat()
format.MeasureTrailingSpaces = True
page.Canvas.DrawString(label, label_font, PdfBrushes.get_Orange(), x, y, format)
x += label_font.MeasureString(label, format).Width
 
# 在頁面上繪制網(wǎng)頁鏈接
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("網(wǎng)頁鏈接.pdf")
doc.Close()

Python給PDF添加內(nèi)部文件鏈接

內(nèi)部文件鏈接可以讓讀者在同一PDF文檔內(nèi)快速跳轉(zhuǎn)至不同的頁面或章節(jié)。對(duì)于內(nèi)容較長(zhǎng)或結(jié)構(gòu)復(fù)雜的文檔,這種鏈接極大地改善了用戶的導(dǎo)航體驗(yàn),使他們能夠更快速、準(zhǔn)確地找到所需信息。

要給PDF添加內(nèi)部文件鏈接,可以使用PdfDocumentLinkAnnotation類。下面是具體實(shí)現(xiàn)代碼:

from spire.pdf.common import *
from spire.pdf import *
 
# 創(chuàng)建PDF文檔
doc = PdfDocument()
 
# 添加兩個(gè)頁面
doc.Pages.Add()
doc.Pages.Add()
 
# 初始化x和y坐標(biāo)
x = 10.0
y = 50.0
 
# 創(chuàng)建字體
label_font = PdfTrueTypeFont("宋體", 14.0, PdfFontStyle.Regular, True)
link_font = PdfTrueTypeFont("宋體", 14.0, PdfFontStyle.Underline, True)
 
# 在頁面上繪制文本
label = "內(nèi)部文件鏈接: "
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 = "跳轉(zhuǎn)到第2頁"
doc.Pages[0].Canvas.DrawString(text, link_font, PdfBrushes.get_Blue(), x, y)
 
# 創(chuàng)建矩形
rectangle = RectangleF(x, y, link_font.MeasureString(text).Width, link_font.MeasureString(text).Height)
# 創(chuàng)建內(nèi)部文件鏈接注釋
documentLinkAnnotation = PdfDocumentLinkAnnotation(rectangle)
# 設(shè)置注釋邊框
documentLinkAnnotation.Border = PdfAnnotationBorder(0.0)
# 指定目標(biāo)頁面的索引(從0開始)
destinationPageIndex = 1
# 設(shè)置注釋的目標(biāo)位置
documentLinkAnnotation.Destination = PdfDestination(destinationPageIndex, PointF(x, y), 1.0)
# 將注釋添加到第一頁
doc.Pages[0].Annotations.Add(documentLinkAnnotation)
 
# 保存生成的PDF文件
doc.SaveToFile("內(nèi)部文件鏈接.pdf")
doc.Close()

Python給PDF添加外部文件鏈接

外部文件鏈接允許用戶通過PDF直接打開其他文件,例如相關(guān)的文檔、表格或多媒體文件。這種鏈接的設(shè)置有助于構(gòu)建更豐富的資源環(huán)境,為用戶提供更多的參考資料和輔助信息。

要給PDF添加外部文件鏈接,可以使用PdfFileLinkAnnotation類。下面是具體實(shí)現(xiàn)代碼:

from spire.pdf.common import *
from spire.pdf import *
 
# 創(chuàng)建PDF文檔
doc = PdfDocument()
 
# 添加頁面
page = doc.Pages.Add()
 
# 初始化x和y坐標(biāo)
x = 10.0
y = 50.0
 
# 創(chuàng)建字體
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)
 
# 創(chuàng)建矩形
rectangle = RectangleF(x, y, link_font.MeasureString(text).Width, link_font.MeasureString(text).Height)
# 創(chuàng)建外部文件鏈接注釋
fileLinkAnnotation = PdfFileLinkAnnotation(rectangle, "C:/Users/Administrator/Desktop/images.png")
# 設(shè)置注釋邊框
fileLinkAnnotation.Border = PdfAnnotationBorder(0.0)
# 將注釋添加到頁面
page.Annotations.Add(fileLinkAnnotation)
 
# 保存生成的PDF文件
doc.SaveToFile("外部文件鏈接.pdf")
doc.Close()

Python給PDF中現(xiàn)有文本添加超鏈接

通過給PDF中的現(xiàn)有文本添加超鏈接,可以將文中的特定詞匯或短語轉(zhuǎn)化為可點(diǎn)擊的鏈接來指向網(wǎng)頁、文檔的內(nèi)部位置或其他外部文件。

要給PDF中的現(xiàn)有文本添加超鏈接,需要先使用PdfTextFinder類在PDF頁面上找到該文本,定位到其所在位置,然后使用PdfUriAnnotation類為其添加超鏈接。下面是具體實(shí)現(xiàn)代碼:

from spire.pdf.common import *
from spire.pdf import *
 
# 打開PDF文檔
doc = PdfDocument()
doc.LoadFromFile("什么是Adobe Acrobat.pdf")
 
# 標(biāo)記注釋是否已添加
annotation_added = False
 
# 遍歷文檔中的所有頁面
for i in range(doc.Pages.Count):
    if annotation_added:
        break
    # 獲取當(dāng)前頁面
    page = doc.Pages[i]
    # 創(chuàng)建PdfTextFinder對(duì)象
    finder = PdfTextFinder(page)
    # 查找所需文本
    textFragments = finder.Find("Adobe")
    if textFragments:
        # 獲取第一個(gè)實(shí)例
        textFragment = textFragments[0]
        # 在第一個(gè)實(shí)例所在位置創(chuàng)建URL注釋
        uriAnnotation = PdfUriAnnotation(textFragment.Bounds[0])
        # 設(shè)置注釋URL
        uriAnnotation.Uri = "https://www.adobe.com/"
        # 設(shè)置注釋邊框
        uriAnnotation.Border = PdfAnnotationBorder(1.0)
        # 設(shè)置注釋邊框顏色
        uriAnnotation.Color = PdfRGBColor(Color.get_Red())
        # 將注釋添加到文本存在的頁面
        page.Annotations.Add(uriAnnotation)
        annotation_added = True
 
# 保存生成的PDF文件
doc.SaveToFile("給現(xiàn)有文本添加注釋.pdf")
doc.Close()

Python在PDF中插入帶超鏈接的圖片

在PDF中插入帶有超鏈接的圖片,能夠?yàn)橛脩籼峁└又庇^的點(diǎn)擊體驗(yàn)。無論是指向網(wǎng)頁還是外部文件,這種視覺化的超鏈接形式,能有效吸引用戶注意,并提供更豐富的交互功能。

除了可以給文本添加超鏈接以外,PdfUriAnnotation類也可用于為PDF中的圖片添加超鏈接。下面是具體實(shí)現(xiàn)代碼:

from spire.pdf.common import *
from spire.pdf import *
 
# 創(chuàng)建PDF文檔
doc = PdfDocument()
 
# 添加頁面
page = doc.Pages.Add()
 
# 打開圖片
image = PdfImage.FromFile("C:/Users/Administrator/Downloads/Python.png")
# 創(chuàng)建矩形
rectangle = RectangleF(PointF(20.0, 50.0), SizeF(float(image.Width), float(image.Height)))
# 在頁面上的矩形區(qū)域內(nèi)繪制圖片
page.Canvas.DrawImage(image, rectangle)
 
# 在圖片所在位置創(chuàng)建URL注釋
uriAnnotation = PdfUriAnnotation(rectangle)
# 設(shè)置注釋URL
uriAnnotation.Uri = "https://www.python.org/"
# 設(shè)置注釋邊框
uriAnnotation.Border = PdfAnnotationBorder(0.0)
# 將注釋添加到頁面
page.Annotations.Add(uriAnnotation)
 
# 保存生成的PDF文件
doc.SaveToFile("插入帶超鏈接的圖片.pdf")
doc.Close()

Python給PDF中現(xiàn)有圖片添加超鏈接

除了插入帶有超鏈接的圖片,還可以在現(xiàn)有的PDF圖片上添加超鏈接。這樣,用戶點(diǎn)擊圖片時(shí)將直接跳轉(zhuǎn)到設(shè)定的網(wǎng)頁或其他文件,大大提升了PDF文檔的可用性和交互體驗(yàn)。

要給PDF中的現(xiàn)有圖片添加超鏈接,首先需要定位到該圖片所在位置,然后使用PdfUriAnnotation類為其添加超鏈接。下面是具體實(shí)現(xiàn)代碼:

from spire.pdf.common import *
from spire.pdf import *
 
# 打開PDF文檔
doc = PdfDocument()
doc.LoadFromFile("什么是Adobe Acrobat.pdf")
 
# 獲取第一頁
page = doc.Pages[0]
 
# 創(chuàng)建PdfImageHelper對(duì)象
imageHelper = PdfImageHelper()
 
# 在頁面上查找圖片
imageList = imageHelper.GetImagesInfo(page)
if imageList:
    # 獲取第一個(gè)圖片
    image = imageList[0]
    # 在圖片所在位置創(chuàng)建URL注釋
    uriAnnotation = PdfUriAnnotation(image.Bounds)
    # 設(shè)置注釋URL
    uriAnnotation.Uri = "https://www.adobe.com/"
    # 設(shè)置注釋邊框
    uriAnnotation.Border = PdfAnnotationBorder(0.0)
    # 將注釋添加到頁面
    page.Annotations.Add(uriAnnotation)
 
# 保存生成的PDF文件
doc.SaveToFile("給現(xiàn)有圖片添加超鏈接.pdf")
doc.Close()

到此這篇關(guān)于使用Python給PDF添加文本超鏈接和圖片超鏈接的文章就介紹到這了,更多相關(guān)Python PDF添加超鏈接內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python 二維數(shù)組90度旋轉(zhuǎn)的方法

    python 二維數(shù)組90度旋轉(zhuǎn)的方法

    今天小編就為大家分享一篇python 二維數(shù)組90度旋轉(zhuǎn)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python實(shí)現(xiàn)四舍五入的兩個(gè)方法總結(jié)

    Python實(shí)現(xiàn)四舍五入的兩個(gè)方法總結(jié)

    這篇文章主要介紹了python中實(shí)現(xiàn)四舍五入的兩種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-09-09
  • Python可視化庫之HoloViews的使用教程

    Python可視化庫之HoloViews的使用教程

    本文主要為大家介紹了Python中一個(gè)優(yōu)秀的可視化庫—HoloViews,不僅能實(shí)現(xiàn)一些常見的統(tǒng)計(jì)圖表繪制,而且其還擁有Matplotlib、Seaborn等庫所不具備的交互效果,快跟隨小編一起了解一下吧
    2022-02-02
  • python實(shí)現(xiàn)canny邊緣檢測(cè)

    python實(shí)現(xiàn)canny邊緣檢測(cè)

    本文主要講解了canny邊緣檢測(cè)原理:計(jì)算梯度幅值和方向、根據(jù)角度對(duì)幅值進(jìn)行非極大值抑制、用雙閾值算法檢測(cè)和連接邊緣以及python 實(shí)現(xiàn)
    2020-09-09
  • 分析機(jī)器學(xué)習(xí)之決策樹Python實(shí)現(xiàn)

    分析機(jī)器學(xué)習(xí)之決策樹Python實(shí)現(xiàn)

    決策樹是一種非參數(shù)的有監(jiān)督學(xué)習(xí)方法,它能夠從一系列有特征和標(biāo)簽的數(shù)據(jù)中總結(jié)出決策規(guī)則,并用樹狀圖的結(jié)構(gòu)來呈現(xiàn)這些規(guī)則,以解決分類和回歸問題。決策樹算法容易理解,適用各種數(shù)據(jù),在解決各種問題時(shí)都有良好表現(xiàn)
    2021-06-06
  • Keras 實(shí)現(xiàn)加載預(yù)訓(xùn)練模型并凍結(jié)網(wǎng)絡(luò)的層

    Keras 實(shí)現(xiàn)加載預(yù)訓(xùn)練模型并凍結(jié)網(wǎng)絡(luò)的層

    這篇文章主要介紹了Keras 實(shí)現(xiàn)加載預(yù)訓(xùn)練模型并凍結(jié)網(wǎng)絡(luò)的層,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • django框架使用方法詳解

    django框架使用方法詳解

    這篇文章主要介紹了django框架使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 使用Python?文件讀取的多種方式(四種方式)

    使用Python?文件讀取的多種方式(四種方式)

    這篇文章主要介紹了Python?文件讀取的4種方式,主要有直接打開就讀方式,用read()打開,用readines()以及用readline()方式,每種方式通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • 通過Pandas讀取大文件的實(shí)例

    通過Pandas讀取大文件的實(shí)例

    今天小編就為大家分享一篇通過Pandas讀取大文件的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • 基于python實(shí)現(xiàn)cdn日志文件導(dǎo)入mysql進(jìn)行分析

    基于python實(shí)現(xiàn)cdn日志文件導(dǎo)入mysql進(jìn)行分析

    這篇文章主要介紹了基于python實(shí)現(xiàn)cdn日志文件導(dǎo)入mysql進(jìn)行分析,本文以阿里云CDN日志作為輔助查詢數(shù)據(jù)展開主題內(nèi)容,其它云平臺(tái)大同小異,需要的小伙伴可以參考一下
    2022-05-05

最新評(píng)論

陈巴尔虎旗| 将乐县| 那坡县| 本溪| 临泽县| 米泉市| 镇巴县| 兴海县| 子洲县| 沂水县| 霍城县| 伊川县| 辉南县| 广水市| 长阳| 平邑县| 巴塘县| 青铜峡市| 筠连县| 桦甸市| 武鸣县| 和平县| 若尔盖县| 宁晋县| 渝北区| 喀喇| 呈贡县| 台山市| 惠安县| 罗江县| 呼图壁县| 墨玉县| 巩留县| 平泉县| 新巴尔虎右旗| 山阴县| 阿克陶县| 英超| 会宁县| 黑山县| 隆子县|