使用Python刪除PPT中所有超鏈接的操作步驟
前言
在某些PPT使用場(chǎng)景中,比如需要打印幻燈片或者超鏈接已失效時(shí),演示文稿中的超鏈接可能會(huì)成為一種干擾。這時(shí)我們需要移除PowerPoint演示文稿中的超鏈接,以確保演示的連貫性和專(zhuān)業(yè)性。通過(guò)使用Python,我們可以高效地批量處理這一任務(wù),實(shí)現(xiàn)自動(dòng)化的工作流程。本文將介紹如何使用Python刪除PowerPoint演示文稿中的所有超鏈接。
本文所使用的方法需要用到Spire.Presentation for Python,PyPI:pip install Spire.Presentation。
用Python刪除PPT所有超鏈接
在演示文稿中,超鏈接可以添加到演示文稿的各種形狀中,如自動(dòng)形狀、表格、圖片,以及形狀中的文本上。因此,我們?cè)趧h除超鏈接時(shí),需要檢查形狀以及形狀中的文本是否包含超鏈接,并在包含時(shí)將其移除。
以下是詳細(xì)操作步驟:
- 導(dǎo)入所需資源。
- 創(chuàng)建
Presentation對(duì)象,并使用Presentation.LoadFromFile()方法載入PowerPoint演示文稿。 - 遍歷演示文稿中的幻燈片,然后遍歷幻燈片中的形狀;
- 檢查形狀是否有超鏈接,如果有,將
IShape.Click屬性設(shè)置為IShape.Click.get_NoAction()方法的結(jié)果來(lái)移除超鏈接。 - 檢查形狀是否為
IAutoShape對(duì)象,如果是,則遍歷形狀中的段落以及段落中的文本片段。檢查每個(gè)文本片段是否有超鏈接,如果有則將TextRange.ClickAction設(shè)置為None來(lái)移除超鏈接。 - 檢查形狀是否為
ITable對(duì)象,如果是,則遍歷每個(gè)單元格,單元格中的段落,以及段落中的文本片段。檢查文本片段是否包含超鏈接,并移除包含的超鏈接。
- 檢查形狀是否有超鏈接,如果有,將
- 使用
Presentation.SaveToFile()方法保存演示文稿。 - 釋放資源。
代碼示例
from spire.presentation import Presentation, IAutoShape, ITable, FileFormat
# 創(chuàng)建 Presentation 類(lèi)的實(shí)例并加載一個(gè) PowerPoint 演示文稿
演示文稿 = Presentation()
演示文稿.LoadFromFile("G:/Documents/Sample16.pptx")
# 遍歷演示文稿中的幻燈片
for 幻燈片 in 演示文稿.Slides:
# 遍歷幻燈片中的形狀
for 形狀 in 幻燈片.Shapes:
# 檢查形狀是否有超鏈接
if 形狀.Click is not None:
# 移除超鏈接
形狀.Click = 形狀.Click.get_NoAction()
# 檢查形狀是否為 IAutoShape 對(duì)象
if isinstance(形狀, IAutoShape):
自動(dòng)形狀 = IAutoShape(形狀)
# 遍歷自動(dòng)形狀中的段落
for 段落 in 自動(dòng)形狀.TextFrame.Paragraphs:
# 遍歷段落中的文本范圍
for 文本范圍 in 段落.TextRanges:
# 檢查文本范圍是否有超鏈接
if 文本范圍.ClickAction is not None:
# 移除超鏈接
文本范圍.ClickAction = None
# 檢查形狀是否為 ITable 對(duì)象
if isinstance(形狀, ITable):
表格 = ITable(形狀)
# 遍歷表格中的行
for 行 in 表格.TableRows:
# 遍歷行中的單元格
for 單元格 in 行:
# 遍歷單元格中的段落
for 段落 in 單元格.TextFrame.Paragraphs:
# 遍歷段落中的文本范圍
for 文本范圍 in 段落.TextRanges:
# 檢查文本范圍是否有超鏈接
if 文本范圍.ClickAction is not None:
# 移除超鏈接
文本范圍.ClickAction = None
# 保存演示文稿
演示文稿.SaveToFile("output/RemovePresentationHyperlinks.pptx", FileFormat.Pptx2019)
演示文稿.Dispose()
結(jié)果

本文演示了如何使用Python移除PowerPoint演示文稿中的所有超鏈接。
到此這篇關(guān)于使用Python刪除PPT中所有超鏈接的操作步驟的文章就介紹到這了,更多相關(guān)Python刪除PPT超鏈接內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python設(shè)置windows桌面壁紙的實(shí)現(xiàn)代碼
每天換一個(gè)壁紙,每天好心情。喜歡的朋友可以參考下2013-01-01
Python設(shè)置Excel條件格式的實(shí)戰(zhàn)教程
條件格式是一項(xiàng)強(qiáng)大的功能,它可以根據(jù)單元格值自動(dòng)應(yīng)用不同的格式樣式,本文將介紹如何使用 Python 在 Excel 工作表中應(yīng)用條件格式,實(shí)現(xiàn)數(shù)據(jù)的可視化展示,感興趣的小伙伴可以了解下2026-03-03
Python實(shí)戰(zhàn)使用XPath采集數(shù)據(jù)示例解析
這篇文章主要為大家介紹了Python實(shí)戰(zhàn)之使用XPath采集數(shù)據(jù)實(shí)現(xiàn)示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>2023-04-04
PyQt5連接MySQL及QMYSQL driver not loaded錯(cuò)誤解決
這篇文章主要介紹了PyQt5連接MySQL及QMYSQL driver not loaded錯(cuò)誤解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
利用Python第三方庫(kù)xlrd讀取Excel中數(shù)據(jù)實(shí)例代碼
python操作excel主要用到xlrd和xlwt這兩個(gè)庫(kù),即xlrd是讀excel,xlwt是寫(xiě)excel的庫(kù),下面這篇文章主要給大家介紹了關(guān)于利用Python第三方庫(kù)xlrd讀取Excel中數(shù)據(jù)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07
Python實(shí)現(xiàn)爬取某站視頻彈幕并繪制詞云圖
這篇文章主要介紹了利用Python爬取某站的視頻彈幕,并將其繪制成詞云圖,文中的示例代碼講解詳細(xì),對(duì)我學(xué)習(xí)Python爬蟲(chóng)有一定的幫助,需要的朋友可以參考一下2021-12-12
python內(nèi)置函數(shù)delattr()與dict()舉例詳解
這篇文章主要介紹了關(guān)于python內(nèi)置函數(shù)delattr()與dict()的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
Python調(diào)用Java可執(zhí)行jar包問(wèn)題
這篇文章主要介紹了Python調(diào)用Java可執(zhí)行jar包問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12

