翼度科技»论坛 编程开发 python 查看内容

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

7

主题

7

帖子

21

积分

新手上路

Rank: 1

积分
21
前言

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


用Python删除PPT所有超链接

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

  • 导入所需资源。
  • 创建
    1. Presentation
    复制代码
    对象,并使用
    1. Presentation.LoadFromFile()
    复制代码
    方法载入PowerPoint演示文稿。
  • 遍历演示文稿中的幻灯片,然后遍历幻灯片中的形状;

    • 检查形状是否有超链接,如果有,将
      1. IShape.Click
      复制代码
      属性设置为
      1. IShape.Click.get_NoAction()
      复制代码
      方法的结果来移除超链接。
    • 检查形状是否为
      1. IAutoShape
      复制代码
      对象,如果是,则遍历形状中的段落以及段落中的文本片段。检查每个文本片段是否有超链接,如果有则将
      1. TextRange.ClickAction
      复制代码
      设置为
      1. None
      复制代码
      来移除超链接。
    • 检查形状是否为
      1. ITable
      复制代码
      对象,如果是,则遍历每个单元格,单元格中的段落,以及段落中的文本片段。检查文本片段是否包含超链接,并移除包含的超链接。

  • 使用
    1. Presentation.SaveToFile()
    复制代码
    方法保存演示文稿。
  • 释放资源。
代码示例
  1. from spire.presentation import Presentation, IAutoShape, ITable, FileFormat

  2. # 创建 Presentation 类的实例并加载一个 PowerPoint 演示文稿
  3. 演示文稿 = Presentation()
  4. 演示文稿.LoadFromFile("G:/Documents/Sample16.pptx")

  5. # 遍历演示文稿中的幻灯片
  6. for 幻灯片 in 演示文稿.Slides:
  7.     # 遍历幻灯片中的形状
  8.     for 形状 in 幻灯片.Shapes:
  9.         # 检查形状是否有超链接
  10.         if 形状.Click is not None:
  11.             # 移除超链接
  12.             形状.Click = 形状.Click.get_NoAction()
  13.         # 检查形状是否为 IAutoShape 对象
  14.         if isinstance(形状, IAutoShape):
  15.             自动形状 = IAutoShape(形状)
  16.             # 遍历自动形状中的段落
  17.             for 段落 in 自动形状.TextFrame.Paragraphs:
  18.                 # 遍历段落中的文本范围
  19.                 for 文本范围 in 段落.TextRanges:
  20.                     # 检查文本范围是否有超链接
  21.                     if 文本范围.ClickAction is not None:
  22.                         # 移除超链接
  23.                         文本范围.ClickAction = None
  24.         # 检查形状是否为 ITable 对象
  25.         if isinstance(形状, ITable):
  26.             表格 = ITable(形状)
  27.             # 遍历表格中的行
  28.             for 行 in 表格.TableRows:
  29.                 # 遍历行中的单元格
  30.                 for 单元格 in 行:
  31.                     # 遍历单元格中的段落
  32.                     for 段落 in 单元格.TextFrame.Paragraphs:
  33.                         # 遍历段落中的文本范围
  34.                         for 文本范围 in 段落.TextRanges:
  35.                             # 检查文本范围是否有超链接
  36.                             if 文本范围.ClickAction is not None:
  37.                                 # 移除超链接
  38.                                 文本范围.ClickAction = None

  39. # 保存演示文稿
  40. 演示文稿.SaveToFile("output/RemovePresentationHyperlinks.pptx", FileFormat.Pptx2019)
  41. 演示文稿.Dispose()
复制代码
结果

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

来源:https://www.jb51.net/python/326455mex.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具