Stories

Detail Return Return

Python保存PowerPoint演示文稿中的形狀為圖片 - Stories Detail

將PowerPoint演示文稿中的形狀(幻燈片中的內容元素,包括文本框、圖形、圖片、圖表等)保存為圖片是方便內容跨平台分享和再利用的有效手段。利用Python,我們可以直接將PowerPoint幻燈片中帶設計和格式的文本、圖片、圖形、表格等各種元素直接保存為圖片,從而實現在保留原設計和格式的情況下,將其發佈在網頁或是在其他文檔編輯等場景再利用。本文將演示如何使用Python保存PowerPoint演示文稿中的形狀為圖像文件

  • 使用Python保存PPT中的所有形狀為圖像文件
  • 用Python保存PPT中帶格式設計的圖片為圖像文件

本文所使用的方法需要用到Spire.Presentation for Python,PyPI:pip install spire.presentation

申請免費License

使用Python保存PPT中的所有形狀為圖像文件

在操作PowerPoint演示文稿時,我們可以先使用Presentation.LoadFromFile()方法從文件載入演示文稿,再使用Presentation.Slides.get_Item()方法獲取單個幻燈片或遍歷所幻燈片。然後,我們可以遍歷通過Slide.Shapes.SaveAsImage(shapeIndex: int, dpiX: int, dpiY: int)方法將形狀保存為圖像。下面是操作步驟示例:

  1. 導入所需模塊
  2. 創建Presentation實例。
  3. 使用Presentation.LoadFromFile()方法加載PowerPoint演示文稿。
  4. 使用Presentation.Pages.get_Item()方法獲取一個幻燈片。
  5. 遍歷幻燈片中的形狀:

    • 使用Slide.Shapes.SaveAsImage()方法將形狀保存為圖像流。
    • 使用Stream.Save()方法將圖像流保存到文件。

代碼示例

from spire.presentation import *

# 創建一個 Presentation 實例
presentation = Presentation()

# 加載一個 PowerPoint 文件
presentation.LoadFromFile("Sample.pptx")

# 獲取第四張幻燈片(索引從0開始)
slide = presentation.Slides.get_Item(4)

# 將形狀保存為圖片流
for i in range(slide.Shapes.Count):
    # 保存當前形狀為指定大小的圖片流
    imageStream = slide.Shapes.SaveAsImage(i, 256, 256)
    # 保存圖片到文件
    imageStream.Save(f"output/Shapes/ShapeToImage{i}.png")

# 釋放資源
presentation.Dispose()

結果
Python保存PPT形狀為圖片

用Python保存PPT中帶格式設計的圖片為圖像文件

通過直接將形狀保存圖像文件的方法,我們還可以直接將演示文稿中進行了格式編輯的圖片保存圖像文件,並保留其格式。我們只需要在將形狀保存為圖像時,判斷其是否為SlidePicture實例並保存這些實例。以下是操作步驟示例:

  1. 導入所需模塊
  2. 創建Presentation實例。
  3. 使用Presentation.LoadFromFile()方法加載PowerPoint演示文稿。
  4. 使用Presentation.Pages.get_Item()方法獲取一個幻燈片。
  5. 遍歷幻燈片中的形狀:

    • 判斷形狀是否為SlidePicture實例,如果是則將其保存為圖像流。
    • 使用Stream.Save()方法將圖像流保存到圖像文件。

代碼示例

from spire.presentation import *

# 創建一個 Presentation 實例
presentation = Presentation()

# 加載一個 PowerPoint 文件
presentation.LoadFromFile("Sample.pptx")

# 獲取第五張幻燈片(索引從0開始)
slide = presentation.Slides.get_Item(1)

# 遍歷幻燈片中的所有形狀
i = 0
for shape in slide.Shapes:
    # 檢查形狀是否是 SlidePicture 類型的對象
    if isinstance(shape, SlidePicture):
        # 保存形狀為圖片流
        shape = shape if isinstance(shape, SlidePicture) else None
        image = slide.Shapes.SaveAsImage(slide.Shapes.IndexOf(shape), 256, 256)
        # 保存圖片到文件
        image.Save(f"output/Images/ImageShape{i}.png")
        i += 1

# 釋放資源
presentation.Dispose()

結果
Python保存PPT中帶格式設置的圖片

本文演示瞭如何使用Python將PowerPoint演示文稿中的形狀保存圖像文件。

user avatar anjingdesuancaiyu Avatar
Favorites 1 users favorite the story!
Favorites

Add a new Comments

Some HTML is okay.