当前位置: 首页 > news >正文

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

目录

安装所需的库

使用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 库。运行以下命令进行安装:

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图片格式。

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 PPT转图片

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

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

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格式。以下是实现代码:

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:

pip install pillow

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

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幻灯片中的 形状转换为图片:

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的全部内容。感谢阅读!

相关文章:

  • 风险价值VaR、CVaR与ES
  • 基于Spark和Hive的酒店数据分析与推荐系统
  • 蓝桥杯好数
  • OceanBase 初探学习历程之——安装部署
  • 达梦数据库应用开发_JDBC接口介绍_yxy
  • 一周学会Flask3 Python Web开发-request请求钩子(Hook)
  • Day7 25/2/20 THU
  • Hadoop初体验
  • 黑客如何利用提示词工程操纵AI代理?
  • 接口测试-API测试中常用的协议(下)
  • Nginx 部署 Vue 指南
  • 热门的AI网页版网址大全
  • 毕业项目推荐:基于yolov8/yolo11的100种中药材检测识别系统(python+卷积神经网络)
  • 飞机沿设置路径飞行以及跟踪飞行物(十一)
  • 【技术追踪】DiffDGSS:基于扩散模型的确定性表示进行泛化性视网膜图像分割(MICCAI-2024)
  • 实现网站内容快速被搜索引擎收录的方法
  • Rust 未来会成为主流的编程语言吗?
  • 掌握 ElasticSearch 四种match查询的原理与应用
  • Android Http-server 本地 web 服务
  • rust学习六、简单的struct结构
  • 14岁女生瞒报年龄文身后洗不掉,法院判店铺承担六成责任
  • 江苏省人社厅党组书记、厅长王斌接受审查调查
  • 纽约大学朗格尼医学中心的转型带来哪些启示?
  • 中信银行:拟出资100亿元全资设立信银金融资产投资有限公司
  • 抗战回望21︱《“良民”日记》:一个“良民”在沦陷区的见闻与感受
  • 秦洪看盘|受阻回落,蓄积新做多能量