Python 将PPT幻灯片和形状转换为多种图片格式(JPG, PNG, BMP, SVG, TIFF)

ops/2025/2/22 17:41:49/

目录

安装所需的库

使用Python将PowerPoint幻灯片转换为JPG、PNG和BMP图片

按实际尺寸将幻灯片保存为图片

按自定义尺寸将幻灯片保存为图片

使用Python将PowerPoint幻灯片转换为SVG图片

使用Python将PowerPoint幻灯片转换为多页TIFF图片

使用Python将PowerPoint幻灯片中的形状转换为图片


将 PowerPoint 幻灯片转换为图片不仅让内容的分享更加便捷,还为文件的使用提供了更多灵活性。例如,你可以生成缩略图快速预览幻灯片,将图片嵌入到报告、网页或其他文档中,或者在无法打开 PowerPoint 的环境中轻松展示内容。

本博客将讨论如何使用 Python 将 PowerPoint 幻灯片转换为常见的图片格式,如 JPG、PNG、BMP、SVG 和 TIFF。此外,还将介绍如何使用 Python 将 PowerPoint 中的形状转换为图片。

  • 使用Python将PowerPoint幻灯片转换为JPG、PNG和BMP图片
  • 使用Python将PowerPoint幻灯片转换为SVG图片
  • 使用Python将PowerPoint幻灯片转换为多页TIFF图片
  • 使用Python将PowerPoint幻灯片中的形状转换为图片

安装所需的库

要在Python中实现将PPT幻灯片和形状转换为图片,可以使用Spire.Presentation for Python库。该库支持在Python应用程序中创建、读取、编辑和转换PPT文档。

在开始之前,需要先安装 Spire.Presentation 库。运行以下命令进行安装:

python">pip install spire.presentation

使用Python将PowerPoint幻灯片转换为JPG、PNG和BMP图片

Spire.Presentation提供了两种方法来将PPT幻灯片转为JPG、PNG或BMP图片:

  • ISlide.SaveAsImage():按实际尺寸将幻灯片保存为图片。
  • ISlide.SaveAsImageByWH():按自定义尺寸将幻灯片保存为图片。

下面将对这两种方法逐一进行介绍。

按实际尺寸将幻灯片保存为图片

以下代码展示了如何使用 ISlide.SaveAsImage() 方法将PPT幻灯片按照实际尺寸保存为PNG图片。你可以通过更改图片的扩展名到.jpg或.bmp,将幻灯片保存到JPG或BMP图片格式。

python">import os
from spire.presentation import *# 将PPT幻灯片按照实际尺寸保存为图片的方法
def ppt_to_images(ppt_file, output_dir):# 如果输出文件夹不存在,则创建os.makedirs(output_dir, exist_ok=True)# 打开PPT文件presentation = Presentation()presentation.LoadFromFile(ppt_file)# 将每张幻灯片保存为PNG图片for i, slide in enumerate(presentation.Slides):image_path = os.path.join(output_dir, f"幻灯片_{i + 1}.png")image_stream = slide.SaveAsImage()image_stream.Save(image_path)# 调用ppt_to_images方法将PPT文件的幻灯片保存为PNG图片
ppt_to_images("商业计划书.pptx", "输出文件夹/幻灯片图片")

以下是第一张幻灯片按实际尺寸转换而来的结果图片:

Python <a class=PPT转图片" height="720" src="https://i-blog.csdnimg.cn/direct/ae5529c27e924192a67b679d9d0ecc33.png" width="1280" />

按自定义尺寸将幻灯片保存为图片

以下代码展示了如何使用 ISlide.SaveAsImageByWH() 方法将 PPT 幻灯片转换为自定义尺寸的图片:

python">import os
from spire.presentation import *# 将PPT幻灯片按照自定义尺寸保存为图片的方法
def ppt_to_images_with_custom_dimension(ppt_file, output_dir, width, height):# 如果输出目录不存在,则创建os.makedirs(output_dir, exist_ok=True)# 打开 PPT 文件presentation = Presentation()presentation.LoadFromFile(ppt_file)# 将每一张幻灯片保存为特定尺寸的 PNG 图片for i, slide in enumerate(presentation.Slides):image_path = os.path.join(output_dir, f"幻灯片_{i + 1}.png")image_stream = slide.SaveAsImageByWH(width, height)image_stream.Save(image_path)# 调用ppt_to_images_with_custom_dimension方法将 PPT 文件中的幻灯片转换为特定尺寸的 PNG 图片
ppt_to_images_with_custom_dimension("商业计划书.pptx", "输出文件夹/幻灯片图片", width=800, height=600)

使用Python将PowerPoint幻灯片转换为SVG图片

SVG (Scalable Vector Graphics) 是一种矢量格式,可以确保高质量缩放而不会丢失分辨率。

使用 ISlide.SaveToSVG() 方法,可以将PPT幻灯片保存为SVG格式。以下是实现代码:

python">import os
from spire.presentation import *# 将PPT幻灯片保存为SVG图片的方法
def ppt_to_svg(ppt_file, output_dir):# 如果输出目录不存在,则创建os.makedirs(output_dir, exist_ok=True)# 打开 PPT文件presentation = Presentation()presentation.LoadFromFile(ppt_file)# 将每一张幻灯片保存为 SVG 图片for i, slide in enumerate(presentation.Slides):image_path = os.path.join(output_dir, f"幻灯片_{i + 1}.svg")image_stream = slide.SaveToSVG()image_stream.Save(image_path)# 调用ppt_to_svg方法将 PPT 文件中的幻灯片转换为 SVG 图片
ppt_to_svg("商业计划书.pptx", "输出文件夹/幻灯片SVG")

使用Python将PowerPoint幻灯片转换为多页TIFF图片

TIFF 支持高分辨率和丰富的色彩深度,适合专业摄影、印刷和扫描等领域。此外TIFF 格式可以包含多页图片,特别适用于扫描文档和多张图片的存储。

Spire.Presentation没有提供直接将PPT幻灯片转换为多页TIFF图片的方法,但你可以使用pillow库将多张幻灯片的转换结果合并为多页TIFF。

在合并前,请使用以下代码安装pillow:

python">pip install pillow

以下代码展示了如何将PPT幻灯片转换为多页TIFF:

python">from spire.presentation import *
from PIL import Image
from io import BytesIO# 将PPT幻灯片保存为多页TIFF图片的方法
def ppt_to_single_tiff(ppt_file, output_path):# 打开 PowerPoint 文件presentation = Presentation()presentation.LoadFromFile(ppt_file)# 创建一个空列表以存储图片images = []# 遍历文件中的每一张幻灯片for slide in presentation.Slides:# 将幻灯片保存为图片流image_stream = slide.SaveAsImage()# 将图片流转换为 PIL 图片pil_img = Image.open(BytesIO(image_stream.ToArray()))# 将 PIL 图片添加到列表images.append(pil_img)if images:# 将图片合并为多页 TIFF images[0].save(output_path, save_all=True, append_images=images[1:], format="TIFF")# 调用ppt_to_single_tiff方法将 PPT文件中的幻灯片转换为多页 TIFF 
ppt_to_single_tiff("商业计划书.pptx", "输出文件夹/幻灯片.tiff")

使用Python将PowerPoint幻灯片中的形状转换为图片

PPT 幻灯片中常常包含各种形状。通过将这些形状转换为单独的图片,你可以轻松在其他程序中再次使用它们。

以下代码演示了如何使用 IAutoShape.SaveAsImage() 方法将 PPT幻灯片中的 形状转换为图片:

python">import os
from spire.presentation import *# 将PPT幻灯片中的形状单独保存为图片的方法
def shape_to_images(ppt_file, output_dir):# 如果输出目录不存在,则创建os.makedirs(output_dir, exist_ok=True)# 打开 PPT文件presentation = Presentation()presentation.LoadFromFile(ppt_file)# 遍历PPT中的每一张幻灯片for i, slide in enumerate(presentation.Slides):# 遍历幻灯片上的每个形状并将其保存为图片for j, shape in enumerate(slide.Shapes):image_path = os.path.join(output_dir, f"幻灯片_{i + 1}_shape_{j + 1}.png")image_stream = shape.SaveAsImage()image_stream.Save(image_path)# 调用shape_to_images方法将 PPT幻灯片中的所有形状保存为图片
shape_to_images("商业计划书.pptx", "输出文件夹/形状图片")

以上就是如何使用 Python 将 PPT 幻灯片和形状转换为常见的图片格式如 JPG、PNG、BMP、SVG 或 TIFF的全部内容。感谢阅读!


http://www.ppmy.cn/ops/160561.html

相关文章

oracle apex post接口

日常记录 使用到了apex_json方式接收 、、、1 首先&#xff0c;接口通过body传递过来&#xff0c;成功接收到&#xff0c; 数据格式为 JSON_OBJECT_T l_json : JSON_OBJECT_T.parse(:body); 这里我用参数接收到 然后 里面是包含了 "data" 我用 继续接收到这个 l…

MATLAB基础学习相关知识

MATLAB安装参考&#xff1a;抖音-记录美好生活 MATLAB基础知识学习参考&#xff1a;【1小时Matlab速成教程-哔哩哔哩】 https://b23.tv/CnvHtO3 第1部分&#xff1a;变量定义和基本运算 生成矩阵&#xff1a; % 生成矩阵% 直接法% ,表示行 ;表示列 a [1,2,3;4,5,6;7,8,9];%…

自动化办公|xlwings生成图表

在日常的数据分析和报告生成中&#xff0c;Excel图表是一个非常重要的工具。它能够帮助我们直观地展示数据&#xff0c;发现数据中的规律和趋势。然而&#xff0c;手动创建和调整图表往往耗时且容易出错。幸运的是&#xff0c;借助Python的xlwings库&#xff0c;我们可以自动化…

Tomcat理论(Ⅰ)

目录 服务器流程图一览 一、JavaWeb前奏(了解) 1. C/S结构 2. B/S结构 3. 静态网页&动态网页 4.常见的网页 5.Web服务器 知名服务器&#xff1a; ​编辑 二、Tomcat安装&#xff08;熟练&#xff09; 1.Tomcat概述 2.Tomcat的作用 3.Tomcat安装 4.Tomcat测试 3.…

超级详细,知识图谱系统的理论详解+部署过程

知识图谱系统(Knowledge Graph System)是一种用于表示、存储、查询和推理知识的系统。它通过结构化的方式将现实世界中的实体、概念及其相互关系组织成一个图结构,从而帮助机器理解和处理复杂的知识。 知识图谱的核心组成部分 实体(Entities): 实体是知识图谱中的节点,…

使用excel中的VBA合并多个excel文件

需求是这样的&#xff1a; 在Windows下&#xff0c;用excel文件让多个小组填写了统计信息&#xff0c;现在我需要把收集的多个文件汇总到一个文件中&#xff0c;前三行为标题可以忽略&#xff0c;第四行为收集信息的列名&#xff0c;处理每一行数据的时候&#xff0c;发现某一行…

如何使用 DeepSeek R1 构建开源 ChatGPT Operator 替代方案

开源大型语言模型&#xff08;LLMs&#xff09;的兴起使得创建 AI 驱动的工具比以往任何时候都更容易&#xff0c;这些工具可以与 OpenAI 的 ChatGPT Operator 等专有解决方案相媲美。在这些开源模型中&#xff0c;DeepSeek R1 以其强大的推理能力、自由的可访问性和适应性而脱…

基于vue和微信小程序的校园自助打印系统(springboot论文源码调试讲解)

第3章 系统设计 3.1系统功能结构设计 本系统的结构分为管理员和用户、店长。本系统的功能结构图如下图3.1所示&#xff1a; 图3.1系统功能结构图 3.2数据库设计 本系统为小程序类的预约平台&#xff0c;所以对信息的安全和稳定要求非常高。为了解决本问题&#xff0c;采用前端…