用Python移除PowerPoint演示文稿中的所有超链接

news2024/9/23 3:25:49

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

文章目录

    • 用Python删除PPT所有超链接

本文所使用的方法需要用到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(形状)
            # 遍历表格中的行
            forin 表格.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移除PPT超链接

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

更多PowerPoint演示文稿处理技巧请前往Spire.Presentation for Python教程查看。

申请免费License

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2068581.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java | Leetcode Java题解之第365题水壶问题

题目&#xff1a; 题解&#xff1a; class Solution {public boolean canMeasureWater(int x, int y, int z) {if (x y < z) {return false;}if (x 0 || y 0) {return z 0 || x y z;}return z % gcd(x, y) 0;}public int gcd(int x, int y) {int remainder x % y;w…

提升录制效率,这些录屏软件快捷键你不可不知

我们工作、学习及娱乐中不可或缺的工具有很多&#xff0c;别的不知道肯定有录屏工具的一席之地吧。如果平常频繁的使用这个工具想要它更高效那不妨试试使用录屏快捷键&#xff0c;这次我们来讨论下大家都在用的那些录屏工具吧。 1.福昕录屏大师 链接&#xff1a;www.foxitsof…

案例分享—国外简洁UI设计界面赏析

简洁的页面遵循“少即是多”的设计哲学&#xff0c;强调通过精简元素、色彩和布局来突出核心功能&#xff0c;使设计作品更加直观易用&#xff0c;提升用户体验&#xff1b; 深受现代主义与极简主义思潮影响&#xff0c;这些流派鼓励去除冗余&#xff0c;追求形式与功能的完美结…

Stable Diffusion 与 DALL·E3 的深度解析

一、Stable Diffusion 的全方位解读 Stable Diffusion 是一款令人瞩目的 AI 绘画工具&#xff0c;其显著特点之一便是开源免费。这意味着用户无需支付费用即可自由使用和修改&#xff0c;为广大创作者提供了极大的便利。然而&#xff0c;要想充分发挥其功能&#xff0c;对电脑…

鸿蒙Harmony编程开发:HTTPS服务端证书四种校验方式

如果你还是使用HttpRequest的话&#xff0c;答案是否定的。但是&#xff0c;鸿蒙开发者很贴心的推出了远场通信服务&#xff0c;可以使用rcp模块的方法发起请求&#xff0c;并且在请求时指定服务端证书的验证方式&#xff0c;关键点就在SecurityConfiguration接口上&#xff0c…

K8S故障排查可视化指南 —— 筑梦之路

在线查看 中文版&#xff1a;http://114.132.181.71:8080/book/71 英文版&#xff1a;http://114.132.181.71:8080/book/70 A visual guide on troubleshooting Kubernetes deployments

Python二级(易错点讲解)

今天在做真题时&#xff0c;遇到了不少坑的地方&#xff0c;跟大家一起分享&#xff0c;感谢大家观看和关注。 祝大家都能在20多天后顺利通过Python二级。 一.continue循环 大家都知道continue关键字在编程中用于跳过当前循环的剩余迭代并直接开始下一次迭代。 好&#xff0c;…

怎么整合spring security和JWT

什么是spring security spring security是一个安全框架,它里面有过滤器链,可以多次过滤,其实他可以给前端的cookie传入一个jsessionid,都可以不使用jwt也能完成校验 第一步:导入依赖 <!-- springboot security --> <dependency><groupId>org.springframew…

整合Spring和Mybatis(在整合DBCP基础上修改)

整合DBCP请参考主页文章spring整合DBCP 前期准备工作 删除dao层的实现类&#xff0c;只留下接口即可。 在resource文件夹下导入dao层对应的xml文件以及mybatis的核心配置文件&#xff0c;配置文件中只写加载映射文件的代码即可&#xff0c;如下所示 <?xml version"…

Kakfa的核心概念-Replica副本(kafka创建topic并指定分区和副本的两种方式)

Kakfa的核心概念-Replica副本&#xff08;kafka创建topic并指定分区和副本的两种方式&#xff09; 1、kafka命令行脚本创建topic并指定分区和副本2、springboot集成kafka创建topic并指定分区和副本2.1、springboot集成kafka2.1.1、springboot集成kafka创建topic并指定5个分区和…

java BIO NIO AIO

结合JavaGuideIO部分内容食用更佳 在Java中&#xff0c;I/O&#xff08;输入/输出&#xff09;操作主要有三种模型&#xff1a;BIO&#xff08;Blocking I/O&#xff0c;阻塞I/O&#xff09;、NIO&#xff08;Non-blocking I/O&#xff0c;非阻塞I/O&#xff09;和AIO&#x…

怎样写好提示词(Prompt) 一

提示工程是一门新兴的学科&#xff0c;专注于以最佳实践构建LLM的最佳输入&#xff0c;从而尽可能以程序化方式生成目标输出。AI工程师必须知道如何与AI进行交互&#xff0c;以获取可用于应用程序的有利结果。此外&#xff0c;AI工程师还必须知道如何正确提问和编写高质量的提示…

python小游戏——躲避球(可当课设)

游戏简介&#xff1a; 没有美术&#xff0c;画面简洁&#xff08;懒得做&#xff09;。玩家控制小球躲避敌人&#xff08;上下左右&#xff0c;闪避&#xff09;&#xff0c;敌人体积越大速度越慢&#xff0c;随机生成道具球&#xff08;目前只有生命球&#xff09;&#xff0…

第T9周:猫狗识别2

>- **&#x1f368; 本文为[&#x1f517;365天深度学习训练营]) 中的学习记录博客** >- **&#x1f356; 原作者&#xff1a;[K同学啊](K同学啊)** 一、前期工作 1. 设置GPU import tensorflow as tfgpus tf.config.list_physical_devices("GPU")if gpus:t…

Linux权限概念与思想,能深度理解“权限”,看这一篇就够啦

目录 一、Linux权限的概念 a.什么是权限&#xff1f; b.权限的本质 c.Linux中的用户 1.从root用户切换到普通用户user&#xff1a; 2.从普通用户user切换到root用户&#xff1a; 3.我不想直接变成root&#xff0c;但是我就是想以root的身份执行一个工作&#xff1f; 4.L…

EXCEL 分组后找出满足条件的行拼接起来

Excel某表格有四列&#xff0c;其中第2列是分组列。 ABCD11a1yet22a2done33a3yet44b1done55b2done66b3done77b4yet88b5done 现在要按第2列分组&#xff0c;找到每组第4列等于"done"的行&#xff0c;将这些行的第3列用逗号拼起来&#xff0c;再与分组名、行号组成新…

Unity动画模块 之 动画层混合

本文仅作笔记学习和分享&#xff0c;不用做任何商业用途 本文包括但不限于unity官方手册&#xff0c;unity唐老狮等教程知识&#xff0c;如有不足还请斧正 1.动画层 动画层 - Unity 手册&#xff0c;动画层的作用 混合模式 覆盖和叠加模式&#xff0c;很好理解吧 权重 到底…

若依权限控制前端+后端实现思路梳理(PreAuthorize、hasPermi、v-hasPermi)

一、权限控制引发的思考 引言 最近接手了公司的一个项目&#xff0c;实施反馈说&#xff0c;客户那边要求对不同的权限的用户操作权限做限制。场景就是&#xff0c;比如一个项目列表&#xff0c;这部分数据有可能是针对某个公司某个部门的&#xff0c;对应不同的部门用户能看…

云岚到家 第一天

你的项目是做什么业务的&#xff1f; 家政服务&#xff0c;我的项目是一个家政o2o平台。o2o&#xff08;Online To Offline&#xff09;是将线下商务的机会与互联网的技术结合 什么商业模式&#xff1a; 项目涉及哪些角色&#xff1f; 本项目涉及如下角色&#xff1a; 家政…

技术前沿:WebRTC与H.265编码的兼容性挑战与应对策略

WebRTC&#xff08;Web Real-Time Communication&#xff09;是一种支持网页浏览器进行实时语音通话、视频聊天以及P2P文件共享的技术。然而&#xff0c;标准的WebRTC API在大多数浏览器中默认并不支持H.265&#xff08;也称为HEVC&#xff0c;高效视频编码&#xff09;编码。这…