縮略圖 是小尺寸的圖像,可以更輕鬆地查看或滾動圖像列表。它們還在 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.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.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 的其他功能。此外,您可以通過我們的 論壇 讓我們知道您的疑問。