Python实现PowerPoint演示文稿到图片的批量转换

PowerPoint演示文稿作为展示创意、分享知识和表达观点的重要工具,被广泛应用于教育、商务汇报及个人项目展示等领域。

然而,面对不同的分享场景与接收者需求,有时需要我们将PPT内容以图片形式保存与传播。这样能够避免软件兼容性的限制,确保信息接收者无需安装特定软件即可查看内容,还便于在网络社交平台、博客、电子邮件中快速分享与嵌入。

而用Python代码可以高效地实现PowerPoint演示文稿到图片的批量转换,从而提升工作效率。

文本将介绍如何使用Python实现PowerPoint演示文稿到图片的转换。

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

将PowerPoint幻灯片转换为PNG图片

我们可以使用库中的Presentation.Slides[]属性获取指定的幻灯片,然后使用ISlide.SaveAsImage()方法将幻灯片保存为图片流,之后再保存到图片文件即可。

以下是详细操作步骤:

1. 导入所需模块。

2. 创建Presentation实例。

3. 使用Presentation.LoadFromFile()方法从文件载入PowerPoint演示文稿。

4. 遍历演示文稿中的幻灯片:

  • 使用Presentation.Slides[]属性获取幻灯片。
  • 使用ISlide.SaveAsImage()方法将幻灯片保存为图片流。
  • 使用Stream.Save()方法将图片保存到文件。

5. 释放资源。

代码示例

from spire.presentation import *
from spire.presentation.common import *# 创建一个 Presentation 实例
presentation = Presentation()# 加载一个演示文稿文件
presentation.LoadFromFile("示例.pptx")# 遍历演示文稿中的幻灯片
for i in range(presentation.Slides.Count):# 获取当前幻灯片slide = presentation.Slides[i]# 将幻灯片保存为图像流image = slide.SaveAsImage()# 将图像保存到文件image.Save("output/PresentationToImage/Slide-" + str(i) + ".png")# 释放资源
presentation.Dispose()

转换结果

将PowerPoint幻灯片转换为图片并指定图片大小

库中还提供了ISlide.SaveAsImageByWH()方法,以指定的宽度和高度,将幻灯片保存为图片流。

以下是详细操作步骤:

1. 导入所需模块。

2. 创建Presentation实例。

3. 使用Presentation.LoadFromFile()方法从文件载入PowerPoint演示文稿。

4. 遍历演示文稿中的幻灯片:

  • 使用Presentation.Slides[]属性获取幻灯片。
  • 使用ISlide.SaveAsSvg()方法将幻灯片保存指定高度和宽度的图片流。
  • 使用Stream.Save()方法将图片保存到文件。

5. 释放资源。

代码示例

from spire.presentation import *
from spire.presentation.common import *# 创建一个 Presentation 实例
presentation = Presentation()# 加载一个演示文稿文件
presentation.LoadFromFile("示例.pptx")# 遍历所有幻灯片
for i in range(presentation.Slides.Count):# 获取幻灯片slide = presentation.Slides[i]# 将幻灯片保存为指定大小的图像流image = slide.SaveAsImageByWH(800, 600)# 将图像保存到文件image.Save("output/PresentationToImageWithSize/Slide" + str(i) + ".png")# 释放资源
presentation.Dispose()

转换结果

将PowerPoint幻灯片转换为SVG图形文件

除了转换为普通的图片外,该库还提供一个ISlide.SaveToSvg()方法将幻灯片转换为SVG格式的图形。在转换之前,还以通过Presentation.IsNoteRetained属性设置是否在转换时保留幻灯片中的备注。

以下是操作步骤:

1. 导入所需模块。

2. 创建Presentation实例。

3. 使用Presentation.LoadFromFile()方法从文件载入PowerPoint演示文稿。

4. 通过Presentation.IsNoteRetained属性设置是否在转换时保留幻灯片中的备注。

5. 遍历演示文稿中的幻灯片:

  • 使用Presentation.Slides[]属性获取幻灯片。
  • 使用ISlide.SaveToSvg()方法将幻灯片保存为SVG图形流。
  • 使用Stream.Save()方法将SVG图形保存到文件。

6. 释放资源。

代码示例

from spire.presentation.common import *
from spire.presentation import *# 创建一个 Presentation 实例
presentation = Presentation()# 加载一个演示文稿文件
presentation.LoadFromFile("示例.pptx")# 设置是否保留备注
presentation.IsNoteRetained = False# 遍历幻灯片
for i in range(presentation.Slides.Count):# 获取幻灯片slide = presentation.Slides[i]# 将幻灯片保存为 SVG 流svg = slide.SaveToSVG()# 将 SVG 流保存到文件svg.Save("output/PresentationToSvg/Slide-" + str(i) + ".svg")# 释放资源
presentation.Dispose()

转换结果

本文介绍了如何使用Python代码将PowerPoint演示文稿中的幻灯片保存到图片及SVG图形文件。

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

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

相关文章

OpenEuler 22.03 LTS SP3 CVE-2024-6387 OpenSSH 漏洞修复指南

一、漏洞概括 漏洞名称OpenSSH Server远程代码执行漏洞漏洞编号CVE-2024-6387公开时间2024-7-1CVSS 3.1分数8.1威胁类型代码执行漏洞等级暂无技术细节状态已公开在野利用状态不明确PoC状态x86已公开EXP状态未公开 OpenSSH是SSH(Secure Shell)协议的开源…

腾讯课堂即将停止服务?来试试这款开源的知识付费系统

项目介绍 本系统基于ThinkPhp5.0layuiVue开发,功能包含在线直播、付费视频、付费音频、付费阅读、会员系统、分销系统、拼团活动、直播带货、直播打赏、商城系统等。能够快速积累客户、会员数据分析、智能转化客户、有效提高销售、吸引流量、网络营销、品牌推广的一款应用&…

【Git 学习笔记】gitk 命令与 git log 其他参数的使用

1.7 用 gitk 查看提交历史 # make sure you have gitk installed $ which gitk /usr/bin/gitk # Sync the commit ID $ git checkout master && git reset --hard 13dcad # bring up the gitk interface, --all to see everything $ gitk --all &实测结果&#xf…

速速来get新妙招!苹果手机护眼模式在哪里开启

在日常生活中,我们经常长时间使用手机,无论是工作还是娱乐,屏幕的蓝光都会对眼睛造成一定的伤害。为了减轻眼睛疲劳,苹果手机推出了护眼模式,也叫“夜览”模式,通过调整屏幕色温,让显示效果更温…

MySQL 8.0 架构 之 中继日志(Relay log)

文章目录 MySQL 8.0 架构 之 中继日志(Relay log)中继日志(Relay log)概述相关参数参考 【声明】文章仅供学习交流,观点代表个人,与任何公司无关。 来源|WaltSQL和数据库技术(ID:SQLplusDB) MySQL 8.0 OCP …

PyTorch - 神经网络基础

神经网络的主要原理包括一组基本元素,即人工神经元或感知器。它包括几个基本输入,例如 x1、x2… xn ,如果总和大于激活电位,则会产生二进制输出。 样本神经元的示意图如下所述。 产生的输出可以被认为是具有激活电位或偏差的加权…

四、(3)补充beautifulsoup、re正则表达式、标签解析

四、(3)补充beautifulsoup、re正则表达式、标签解析 beautifulsoupre正则表达式正则提取标签解析 beautifulsoup 补充关于解析的知识 还需要看爬虫课件 如何定位文本或者标签,是整个爬虫中非常重要的能力 无论find_all(&#xff…

Spring启动时,将SpringContext设置到Util中(SpringContextUtil)

场景 在Spring应用开发中,为简化代码或者在静态方法中获取Spring应用的上下文,需要把SpringContext设置到类属性上。经过对源码的分析和实践,使用Spring的事件监听器监听ApplicationPreparedEvent事件是最佳的方式。 通过ApplicationPrepar…

matrixone集群搭建、启停、高可用扩缩容和连接数据库

1. 部署 Kubernetes 集群 由于 MatrixOne 的分布式部署依赖于 Kubernetes 集群,因此我们需要一个 Kubernetes 集群。本篇文章将指导你通过使用 Kuboard-Spray 的方式搭建一个 Kubernetes 集群。 准备集群环境 对于集群环境,需要做如下准备&#xff1a…

mysql在windows下的安装

一,软件安装 只修改开头的系统盘 二,环境变量配置 找到MySQL安装目录对应的bin目录复制路径粘贴过来 三,cmd

SSL/CA 证书及其相关证书文件解析

在当今数字化的时代,网络安全变得至关重要。SSL(Secure Socket Layer)证书和CA(Certificate Authority)证书作为保护网络通信安全的重要工具,发挥着关键作用。 一、SSL证书 SSL证书是数字证书的一种&…

SSM少儿读者交流系-计算机毕业设计源码20005

摘要 随着信息技术的发展和互联网的普及,少儿读者之间的交流方式发生了革命性的变化。通过使用Java编程语言,可以实现系统的高度灵活性和可扩展性。而SSM框架的采用,可以提供良好的开发结构和代码管理,使系统更加稳定和易于维护。…

同方威视受邀盛装亮相2024长三角快递物流展(杭州)助力行业物畅其流

同方威视技术股份有限公司携安全检测产品和综合解决方案,盛装亮相2024长三角快递物流展(杭州) 展位号:3C馆A07-1 时间:2024年7月8-10日 地址:杭州国际博览中心(浙江省杭州市萧山区奔竞大道35…

【CSAPP】-linklab实验

目录 实验目的与要求 实验原理与内容 实验步骤 实验设备与软件环境 实验过程与结果(可贴图) 实验总结 实验目的与要求 1.了解链接的基本概念和链接过程所要完成的任务。 2.理解ELF目标代码和目标代码文件的基本概念和基本构成 3.了解ELF可重定位目…

STM32F1+HAL库+FreeTOTS学习2——STM32移植FreeRTOS

STM32F1HAL库FreeTOTS学习2——STM32移植FreeRTOS 获取FreeRTOS源码创建工程窥探源码移植 上期我们认识了FreeRTOS,对FreeRTOS有了个初步的认识,这一期我们来上手移植FreeRTOS到STM32上。 获取FreeRTOS源码 进入官网:https://www.freertos.o…

Frrouting快速入门——OSPF组网(一)

FRR简介 FRR是FRRouting的简称,是一个开源的路由交换软件套件。其作者源自老牌项目quaga的成员,也可以算是quaga的新版本。 使用时一般查看此文档:https://docs.frrouting.org/projects/dev-guide/en/latest/index.html FRR支持的协议众多…

网络爬虫(一)深度优先爬虫与广度优先爬虫

1. 深度优先爬虫:深度优先爬虫是一种以深度为优先的爬虫算法。它从一个起始点开始,先访问一个链接,然后再访问该链接下的链接,一直深入地访问直到无法再继续深入为止。然后回溯到上一个链接,再继续深入访问下一个未被访…

HarmonyOS APP应用开发项目- MCA助手(Day02持续更新中~)

简言: gitee地址:https://gitee.com/whltaoin_admin/money-controller-app.git端云一体化开发在线文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/agc-harmonyos-clouddev-view-0000001700053733-V5注:…

【Sping Boot2】笔记

Spring Boot 2入门 如何创建一个Spring Boot的Web例子?1.如何创建一个Spring Boot项目1.1 使用Maven构建一个Spring Boot 2项目1.1.1创建Maven工程注:Maven项目结构: 1.1.2引入SpingBoot相关依赖依赖注意事项: 1.1.3创建主类1.1.4…

VIM介绍

VIM(Vi IMproved)是一种高度可配置的文本编辑器,用于有效地创建和更改任何类型的文本。它是从 vi 编辑器发展而来的,后者最初是 UNIX 系统上的一个文本编辑器。VIM 以其键盘驱动的界面和强大的文本处理能力而闻名,是许…