使用Python刪除PPT中所有超鏈接的操作步驟
前言
在某些PPT使用場景中,比如需要打印幻燈片或者超鏈接已失效時,演示文稿中的超鏈接可能會成為一種干擾。這時我們需要移除PowerPoint演示文稿中的超鏈接,以確保演示的連貫性和專業(yè)性。通過使用Python,我們可以高效地批量處理這一任務,實現(xiàn)自動化的工作流程。本文將介紹如何使用Python刪除PowerPoint演示文稿中的所有超鏈接。
本文所使用的方法需要用到Spire.Presentation for Python,PyPI:pip install Spire.Presentation。
用Python刪除PPT所有超鏈接
在演示文稿中,超鏈接可以添加到演示文稿的各種形狀中,如自動形狀、表格、圖片,以及形狀中的文本上。因此,我們在刪除超鏈接時,需要檢查形狀以及形狀中的文本是否包含超鏈接,并在包含時將其移除。
以下是詳細操作步驟:
- 導入所需資源。
- 創(chuàng)建
Presentation對象,并使用Presentation.LoadFromFile()方法載入PowerPoint演示文稿。 - 遍歷演示文稿中的幻燈片,然后遍歷幻燈片中的形狀;
- 檢查形狀是否有超鏈接,如果有,將
IShape.Click屬性設置為IShape.Click.get_NoAction()方法的結(jié)果來移除超鏈接。 - 檢查形狀是否為
IAutoShape對象,如果是,則遍歷形狀中的段落以及段落中的文本片段。檢查每個文本片段是否有超鏈接,如果有則將TextRange.ClickAction設置為None來移除超鏈接。 - 檢查形狀是否為
ITable對象,如果是,則遍歷每個單元格,單元格中的段落,以及段落中的文本片段。檢查文本片段是否包含超鏈接,并移除包含的超鏈接。
- 檢查形狀是否有超鏈接,如果有,將
- 使用
Presentation.SaveToFile()方法保存演示文稿。 - 釋放資源。
代碼示例
from spire.presentation import Presentation, IAutoShape, ITable, FileFormat
# 創(chuàng)建 Presentation 類的實例并加載一個 PowerPoint 演示文稿
演示文稿 = Presentation()
演示文稿.LoadFromFile("G:/Documents/Sample16.pptx")
# 遍歷演示文稿中的幻燈片
for 幻燈片 in 演示文稿.Slides:
# 遍歷幻燈片中的形狀
for 形狀 in 幻燈片.Shapes:
# 檢查形狀是否有超鏈接
if 形狀.Click is not None:
# 移除超鏈接
形狀.Click = 形狀.Click.get_NoAction()
# 檢查形狀是否為 IAutoShape 對象
if isinstance(形狀, IAutoShape):
自動形狀 = IAutoShape(形狀)
# 遍歷自動形狀中的段落
for 段落 in 自動形狀.TextFrame.Paragraphs:
# 遍歷段落中的文本范圍
for 文本范圍 in 段落.TextRanges:
# 檢查文本范圍是否有超鏈接
if 文本范圍.ClickAction is not None:
# 移除超鏈接
文本范圍.ClickAction = None
# 檢查形狀是否為 ITable 對象
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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python數(shù)組條件過濾filter函數(shù)使用示例
數(shù)組條件過濾簡潔實現(xiàn)方式,使用filter函數(shù),實現(xiàn)一個條件判斷函數(shù)即可,示例代碼如下2014-07-07
pandas基礎(chǔ)?Series與Dataframe與numpy對二進制文件輸入輸出
這篇文章主要介紹了pandas基礎(chǔ)Series與Dataframe與numpy對二進制文件輸入輸出,series是一種一維的數(shù)組型對象,它包含了一個值序列和一個數(shù)據(jù)標簽2022-07-07
Python爬蟲爬取新浪微博內(nèi)容示例【基于代理IP】
這篇文章主要介紹了Python爬蟲爬取新浪微博內(nèi)容,結(jié)合實例形式分析了Python基于代理IP實現(xiàn)的微博爬取與抓包分析相關(guān)操作技巧,需要的朋友可以參考下2018-08-08
Python中實現(xiàn)從目錄中過濾出指定文件類型的文件
這篇文章主要介紹了Python中實現(xiàn)從目錄中過濾出指定文件類型的文件,本文是一篇學筆記,實例相對簡單,需要的朋友可以參考下2015-02-02
GitHub 熱門:Python 算法大全,Star 超過 2 萬
4 月 27 日,GitHub 趨勢榜第 3 位是一個用 Python 編碼實現(xiàn)的算法庫,Star 數(shù)早已達到 26000+2019-04-04

