缩略图 是小型图像,可以更轻松地查看或滚动图像列表。它们还用于 MS PowerPoint 中列出幻灯片并在 PPT 中导航。在创建 PPT 查看器应用程序时,您可能需要为幻灯片生成缩略图。为此,本文介绍了如何在 Python 中以编程方式为 PPTX 或 PPT 幻灯片创建缩略图。
用于为 PPT 幻灯片创建缩略图的 Python 库
要为 PPTX 或 PPT 演示文稿中的幻灯片创建缩略图,我们将使用 Aspose.Slides for Python via .NET。该库提供了一系列功能来创建和操作 PowerPoint 演示文稿。此外,它还允许您将演示文稿转换为其他格式。您可以使用以下命令从 PyPI 将库安装到您的应用程序中。
> pip install aspose.slides
在 Python 中为 PPT 幻灯片创建缩略图
以下是在 Python 中为演示文稿创建缩略图的步骤。
- 首先,使用 Presentation 类加载演示文件。
- 遍历 Presentation.slides 集合中的每个 ISlide。
- 使用 ISlide.getthumbnail(scalex, scaley) 方法创建每张幻灯片的缩略图,并将缩略图的引用获取到 Bitmap 对象中。
- 最后,使用 Bitmap.save(String, ImageFormat) 方法将缩略图保存为所需的图像格式。
以下代码示例展示了如何在 Python 中为 PPTX 演示文稿中的幻灯片创建缩略图。
import aspose.slides as slides
import aspose.pydrawing as drawing
with slides.Presentation("presentation.pptx") as pres:
# 循环播放幻灯片
for slide in pres.slides:
# 创建全尺寸图像
bmp = slide.get_thumbnail(1, 1)
# 以 JPEG 格式将图像保存到磁盘
bmp.save("Thumbnail_{i}.jpg".format(i = slide.slide_number), drawing.imaging.ImageFormat.jpeg)
创建具有自定义尺寸的 PPT 缩略图
通常,您可能需要创建自定义尺寸的缩略图。这可以使用 Presentation.slidesize.size.width 和 Presentation.slidesize.size.height 属性来实现。以下是创建自定义尺寸缩略图的步骤。
- 首先,创建一个 Presentation 类的实例来加载演示文稿。
- 然后,指定所需的宽度和高度值。
- 获取 X 和 Y 的缩放值。
- 遍历 Presentation.slides 集合中的每个 ISlide。
- 使用 ISlide.getthumbnail(X, Y) 方法生成每张幻灯片的缩略图,并将缩略图的引用获取到 Bitmap 对象中。
- 最后,使用 Bitmap.save(string, ImageFormat) 方法将缩略图保存为所需的图像格式。
以下代码示例显示了如何创建具有自定义尺寸的 PPTX 缩略图。
import aspose.slides as slides
import aspose.pydrawing as drawing
with slides.Presentation("presentation.pptx") as pres:
# 用户定义维度
desiredX = 1200
desiredY = 800
# 获取 X 和 Y 的缩放值
ScaleX = (1.0 / pres.slide_size.size.width) * desiredX
ScaleY = (1.0 / pres.slide_size.size.height) * desiredY
# 循环播放幻灯片
for slide in pres.slides:
# 创建缩略图
bmp = slide.get_thumbnail(ScaleX, ScaleY)
# 将图像以 JPEG 格式保存到磁盘
bmp.save("Thumbnail_{i}.jpg".format(i = slide.slide_number), drawing.imaging.ImageFormat.jpeg)
获得免费许可证
您可以通过请求 临时许可证 通过 .NET 使用 Aspose.Slides for Python,而不受评估限制。
结论
在本文中,您学习了如何在 Python 中创建 PPT 幻灯片的缩略图。此外,您还了解了如何使用自定义尺寸来缩放 PPT 缩略图图像。此外,您可以访问 文档 以探索 Aspose.Slides for Python 的其他功能。此外,您可以通过我们的 论坛 告诉我们您的查询。