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

打印 上一主题 下一主题

主题 855|帖子 855|积分 2565

目次
安装所需的库
利用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 库。运行以下下令进行安装:
  1. 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图片格式。
  1. import os
  2. from spire.presentation import *
  3. # 将PPT幻灯片按照实际尺寸保存为图片的方法
  4. def ppt_to_images(ppt_file, output_dir):
  5.     # 如果输出文件夹不存在,则创建
  6.     os.makedirs(output_dir, exist_ok=True)
  7.     # 打开PPT文件
  8.     presentation = Presentation()
  9.     presentation.LoadFromFile(ppt_file)
  10.     # 将每张幻灯片保存为PNG图片
  11.     for i, slide in enumerate(presentation.Slides):
  12.         image_path = os.path.join(output_dir, f"幻灯片_{i + 1}.png")
  13.         image_stream = slide.SaveAsImage()
  14.         image_stream.Save(image_path)
  15. # 调用ppt_to_images方法将PPT文件的幻灯片保存为PNG图片
  16. ppt_to_images("商业计划书.pptx", "输出文件夹/幻灯片图片")
复制代码
以下是第一张幻灯片按实际尺寸转换而来的结果图片:

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

以下代码展示了如何利用 ISlide.SaveAsImageByWH() 方法将 PPT 幻灯片转换为自定义尺寸的图片:
  1. import os
  2. from spire.presentation import *
  3. # 将PPT幻灯片按照自定义尺寸保存为图片的方法
  4. def ppt_to_images_with_custom_dimension(ppt_file, output_dir, width, height):
  5.     # 如果输出目录不存在,则创建
  6.     os.makedirs(output_dir, exist_ok=True)
  7.     # 打开 PPT 文件
  8.     presentation = Presentation()
  9.     presentation.LoadFromFile(ppt_file)
  10.     # 将每一张幻灯片保存为特定尺寸的 PNG 图片
  11.     for i, slide in enumerate(presentation.Slides):
  12.         image_path = os.path.join(output_dir, f"幻灯片_{i + 1}.png")
  13.         image_stream = slide.SaveAsImageByWH(width, height)
  14.         image_stream.Save(image_path)
  15. # 调用ppt_to_images_with_custom_dimension方法将 PPT 文件中的幻灯片转换为特定尺寸的 PNG 图片
  16. ppt_to_images_with_custom_dimension("商业计划书.pptx", "输出文件夹/幻灯片图片", width=800, height=600)
复制代码
利用Python将PowerPoint幻灯片转换为SVG图片

SVG (Scalable Vector Graphics) 是一种矢量格式,可以确保高质量缩放而不会丢失分辨率。
利用 ISlide.SaveToSVG() 方法,可以将PPT幻灯片保存为SVG格式。以下是实当代码:
  1. import os
  2. from spire.presentation import *
  3. # 将PPT幻灯片保存为SVG图片的方法
  4. def ppt_to_svg(ppt_file, output_dir):
  5.     # 如果输出目录不存在,则创建
  6.     os.makedirs(output_dir, exist_ok=True)
  7.     # 打开 PPT文件
  8.     presentation = Presentation()
  9.     presentation.LoadFromFile(ppt_file)
  10.     # 将每一张幻灯片保存为 SVG 图片
  11.     for i, slide in enumerate(presentation.Slides):
  12.         image_path = os.path.join(output_dir, f"幻灯片_{i + 1}.svg")
  13.         image_stream = slide.SaveToSVG()
  14.         image_stream.Save(image_path)
  15. # 调用ppt_to_svg方法将 PPT 文件中的幻灯片转换为 SVG 图片
  16. ppt_to_svg("商业计划书.pptx", "输出文件夹/幻灯片SVG")
复制代码
利用Python将PowerPoint幻灯片转换为多页TIFF图片

TIFF 支持高分辨率和丰富的色彩深度,恰当专业摄影、印刷和扫描等范畴。别的TIFF 格式可以包含多页图片,特别适用于扫描文档和多张图片的存储。
Spire.Presentation没有提供直接将PPT幻灯片转换为多页TIFF图片的方法,但你可以利用pillow库将多张幻灯片的转换结果归并为多页TIFF。
在归并前,请利用以下代码安装pillow:
  1. pip install pillow
复制代码
以下代码展示了如何将PPT幻灯片转换为多页TIFF:
  1. from spire.presentation import *
  2. from PIL import Image
  3. from io import BytesIO
  4. # 将PPT幻灯片保存为多页TIFF图片的方法
  5. def ppt_to_single_tiff(ppt_file, output_path):
  6.     # 打开 PowerPoint 文件
  7.     presentation = Presentation()
  8.     presentation.LoadFromFile(ppt_file)
  9.     # 创建一个空列表以存储图片
  10.     images = []
  11.     # 遍历文件中的每一张幻灯片
  12.     for slide in presentation.Slides:
  13.         # 将幻灯片保存为图片流
  14.         image_stream = slide.SaveAsImage()
  15.         # 将图片流转换为 PIL 图片
  16.         pil_img = Image.open(BytesIO(image_stream.ToArray()))
  17.         # 将 PIL 图片添加到列表
  18.         images.append(pil_img)
  19.     if images:
  20.         # 将图片合并为多页 TIFF
  21.         images[0].save(output_path, save_all=True, append_images=images[1:], format="TIFF")
  22. # 调用ppt_to_single_tiff方法将 PPT文件中的幻灯片转换为多页 TIFF
  23. ppt_to_single_tiff("商业计划书.pptx", "输出文件夹/幻灯片.tiff")
复制代码
利用Python将PowerPoint幻灯片中的形状转换为图片

PPT 幻灯片中常常包含各种形状。通过将这些形状转换为单独的图片,你可以轻松在其他步伐中再次利用它们。
以下代码演示了如何利用 IAutoShape.SaveAsImage() 方法将 PPT幻灯片中的 形状转换为图片:
  1. import os
  2. from spire.presentation import *
  3. # 将PPT幻灯片中的形状单独保存为图片的方法
  4. def shape_to_images(ppt_file, output_dir):
  5.     # 如果输出目录不存在,则创建
  6.     os.makedirs(output_dir, exist_ok=True)
  7.     # 打开 PPT文件
  8.     presentation = Presentation()
  9.     presentation.LoadFromFile(ppt_file)
  10.     # 遍历PPT中的每一张幻灯片
  11.     for i, slide in enumerate(presentation.Slides):
  12.         # 遍历幻灯片上的每个形状并将其保存为图片
  13.         for j, shape in enumerate(slide.Shapes):
  14.             image_path = os.path.join(output_dir, f"幻灯片_{i + 1}_shape_{j + 1}.png")
  15.             image_stream = shape.SaveAsImage()
  16.             image_stream.Save(image_path)
  17. # 调用shape_to_images方法将 PPT幻灯片中的所有形状保存为图片
  18. shape_to_images("商业计划书.pptx", "输出文件夹/形状图片")
复制代码
以上就是如何利用 Python 将 PPT 幻灯片和形状转换为常见的图片格式如 JPG、PNG、BMP、SVG 或 TIFF的全部内容。感谢阅读!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

半亩花草

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表