使用Python删除PPT中所有超链接的操作步骤

 更新时间:2024年08月25日 11:22:28   作者:Eiceblue  
在某些PPT使用场景中,比如需要打印幻灯片或者超链接已失效时,演示文稿中的超链接可能会成为一种干扰,这时我们需要移除PowerPoint演示文稿中的超链接,本文将介绍如何使用Python删除PowerPoint演示文稿中的所有超链接,需要的朋友可以参考下

前言

在某些PPT使用场景中,比如需要打印幻灯片或者超链接已失效时,演示文稿中的超链接可能会成为一种干扰。这时我们需要移除PowerPoint演示文稿中的超链接,以确保演示的连贯性和专业性。通过使用Python,我们可以高效地批量处理这一任务,实现自动化的工作流程。本文将介绍如何使用Python删除PowerPoint演示文稿中的所有超链接。

本文所使用的方法需要用到Spire.Presentation for Python,PyPI:pip install Spire.Presentation

用Python删除PPT所有超链接

在演示文稿中,超链接可以添加到演示文稿的各种形状中,如自动形状、表格、图片,以及形状中的文本上。因此,我们在删除超链接时,需要检查形状以及形状中的文本是否包含超链接,并在包含时将其移除。
以下是详细操作步骤:

  1. 导入所需资源。
  2. 创建Presentation对象,并使用Presentation.LoadFromFile()方法载入PowerPoint演示文稿。
  3. 遍历演示文稿中的幻灯片,然后遍历幻灯片中的形状;
    • 检查形状是否有超链接,如果有,将IShape.Click属性设置为IShape.Click.get_NoAction()方法的结果来移除超链接。
    • 检查形状是否为IAutoShape对象,如果是,则遍历形状中的段落以及段落中的文本片段。检查每个文本片段是否有超链接,如果有则将TextRange.ClickAction设置为None来移除超链接。
    • 检查形状是否为ITable对象,如果是,则遍历每个单元格,单元格中的段落,以及段落中的文本片段。检查文本片段是否包含超链接,并移除包含的超链接。
  4. 使用Presentation.SaveToFile()方法保存演示文稿。
  5. 释放资源。

代码示例

from spire.presentation import Presentation, IAutoShape, ITable, FileFormat

# 创建 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()

结果

本文演示了如何使用Python移除PowerPoint演示文稿中的所有超链接。

到此这篇关于使用Python删除PPT中所有超链接的操作步骤的文章就介绍到这了,更多相关Python删除PPT超链接内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python设置windows桌面壁纸的实现代码

    python设置windows桌面壁纸的实现代码

    每天换一个壁纸,每天好心情。喜欢的朋友可以参考下
    2013-01-01
  • Python设置Excel条件格式的实战教程

    Python设置Excel条件格式的实战教程

    条件格式是一项强大的功能,它可以根据单元格值自动应用不同的格式样式,本文将介绍如何使用 Python 在 Excel 工作表中应用条件格式,实现数据的可视化展示,感兴趣的小伙伴可以了解下
    2026-03-03
  • Python实战使用XPath采集数据示例解析

    Python实战使用XPath采集数据示例解析

    这篇文章主要为大家介绍了Python实战之使用XPath采集数据实现示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪<BR>
    2023-04-04
  • PyQt5连接MySQL及QMYSQL driver not loaded错误解决

    PyQt5连接MySQL及QMYSQL driver not loaded错误解决

    这篇文章主要介绍了PyQt5连接MySQL及QMYSQL driver not loaded错误解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • 利用Python第三方库xlrd读取Excel中数据实例代码

    利用Python第三方库xlrd读取Excel中数据实例代码

    python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库,下面这篇文章主要给大家介绍了关于利用Python第三方库xlrd读取Excel中数据的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • 浅谈python中的正则表达式(re模块)

    浅谈python中的正则表达式(re模块)

    本篇文章主要介绍了浅谈python中的正则表达式(re模块),通过内嵌集成re模块,程序媛们可以直接调用来实现正则匹配,有兴趣的可以了解一下
    2017-10-10
  • python实现的B站直播录制工具

    python实现的B站直播录制工具

    这篇文章主要介绍了python实现的B站直播录播工具,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-04-04
  • Python实现爬取某站视频弹幕并绘制词云图

    Python实现爬取某站视频弹幕并绘制词云图

    这篇文章主要介绍了利用Python爬取某站的视频弹幕,并将其绘制成词云图,文中的示例代码讲解详细,对我学习Python爬虫有一定的帮助,需要的朋友可以参考一下
    2021-12-12
  • python内置函数delattr()与dict()举例详解

    python内置函数delattr()与dict()举例详解

    这篇文章主要介绍了关于python内置函数delattr()与dict()的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python调用Java可执行jar包问题

    Python调用Java可执行jar包问题

    这篇文章主要介绍了Python调用Java可执行jar包问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12

最新评论