在 Python 中管理簡報背景
簡介
實心顏色、漸層和圖像通常用於投影片背景。您可以為 普通投影片(單張投影片)或 母版投影片(一次套用至多張投影片)設定背景。

設定實色背景於普通投影片
Aspose.Slides 允許您為簡報中的特定投影片設定實色作為背景——即使簡報使用母版投影片。此變更僅套用於所選的投影片。
- 建立 Presentation 類別的實例。
- 將投影片的 BackgroundType 設為
OWN_BACKGROUND。 - 將投影片背景的 FillType 設為
SOLID。 - 使用 FillFormat 上的
solid_fill_color屬性來指定實色背景顏色。 - 儲存已修改的簡報。
以下 Python 範例示範如何將藍色實色設為普通投影片的背景:
import aspose.pydrawing as draw
import aspose.slides as slides
# 建立 Presentation 類別的實例。
with slides.Presentation() as presentation:
slide = presentation.slides[0]
# 將投影片的背景顏色設定為藍色。
slide.background.type = slides.BackgroundType.OWN_BACKGROUND
slide.background.fill_format.fill_type = slides.FillType.SOLID
slide.background.fill_format.solid_fill_color.color = draw.Color.blue
# 將簡報儲存至磁碟。
presentation.save("SolidColorBackground.pptx", slides.export.SaveFormat.PPTX)
設定實色背景於母版投影片
Aspose.Slides 允許您為簡報中的母版投影片設定實色作為背景。母版投影片作為控制所有投影片格式的範本,因此當您為母版投影片的背景選擇實色時,會套用到每一張投影片。
- 建立 Presentation 類別的實例。
- 將母版投影片的 BackgroundType(透過
masters)設為OWN_BACKGROUND。 - 將母版投影片背景的 FillType 設為
SOLID。 - 使用 FillFormat 上的
solid_fill_color屬性來指定實色背景顏色。 - 儲存已修改的簡報。
以下 Python 範例示範如何將實色(森林綠)設定為母版投影片的背景:
import aspose.pydrawing as draw
import aspose.slides as slides
# 建立 Presentation 類別的實例。
with slides.Presentation() as presentation:
master_slide = presentation.masters[0]
# 將母版投影片的背景顏色設定為森林綠。
master_slide.background.type = slides.BackgroundType.OWN_BACKGROUND
master_slide.background.fill_format.fill_type = slides.FillType.SOLID
master_slide.background.fill_format.solid_fill_color.color = draw.Color.forest_green
# 將簡報儲存至磁碟。
presentation.save("MasterSlideBackground.pptx", slides.export.SaveFormat.PPTX)
設定投影片的漸層背景
漸層是一種透過顏色逐漸變化所產生的圖形效果。作為投影片背景使用時,漸層能讓簡報看起來更具藝術感與專業感。Aspose.Slides 允許您將漸層顏色設定為投影片的背景。
- 建立 Presentation 類別的實例。
- 將投影片的 BackgroundType 設為
OWN_BACKGROUND。 - 將投影片背景的 FillType 設為
GRADIENT。 - 使用 FillFormat 上的
gradient_format屬性來配置您偏好的漸層設定。 - 儲存已修改的簡報。
以下 Python 範例示範如何將漸層顏色設為投影片的背景:
import aspose.slides as slides
# 建立 Presentation 類別的實例。
with slides.Presentation() as presentation:
slide = presentation.slides[0]
# 套用漸層效果至背景。
slide.background.type = slides.BackgroundType.OWN_BACKGROUND
slide.background.fill_format.fill_type = slides.FillType.GRADIENT
slide.background.fill_format.gradient_format.tile_flip = slides.TileFlip.FLIP_BOTH
# 將簡報儲存至磁碟。
presentation.save("GradientBackground.pptx", slides.export.SaveFormat.PPTX)
設定影像為投影片背景
除了實色與漸層填充外,Aspose.Slides 還允許您使用影像作為投影片背景。
- 建立 Presentation 類別的實例。
- 將投影片的 BackgroundType 設為
OWN_BACKGROUND。 - 將投影片背景的 FillType 設為
PICTURE。 - 載入您想用作投影片背景的影像。
- 將影像加入簡報的影像集合中。
- 使用 FillFormat 上的
picture_fill_format屬性將影像指定為背景。 - 儲存已修改的簡報。
以下 Python 範例示範如何將影像設定為投影片的背景:
import aspose.slides as slides
# 建立 Presentation 類別的實例。
with slides.Presentation() as presentation:
slide = presentation.slides[0]
# 設定背景圖像屬性。
slide.background.type = slides.BackgroundType.OWN_BACKGROUND
slide.background.fill_format.fill_type = slides.FillType.PICTURE
slide.background.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.STRETCH
# 載入圖像。
with slides.Images.from_file("Tulips.jpg") as image:
# 將圖像加入簡報的圖像集合。
pp_image = presentation.images.add_image(image)
slide.background.fill_format.picture_fill_format.picture.image = pp_image
# 將簡報儲存至磁碟。
presentation.save("ImageAsBackground.pptx", slides.export.SaveFormat.PPTX)
以下程式碼範例示範如何將背景填充類型設為平鋪圖片並修改平鋪屬性:
import aspose.slides as slides
with slides.Presentation() as presentation:
first_slide = presentation.slides[0]
background = first_slide.background
background.type = slides.BackgroundType.OWN_BACKGROUND
background.fill_format.fill_type = slides.FillType.PICTURE
with slides.Images.from_file("image.png") as new_image:
pp_image = presentation.images.add_image(new_image)
# 設定用於背景填充的圖像。
back_picture_fill_format = background.fill_format.picture_fill_format
back_picture_fill_format.picture.image = pp_image
# 設定圖片填充模式為平鋪,並調整平鋪屬性。
back_picture_fill_format.picture_fill_mode = slides.PictureFillMode.TILE
back_picture_fill_format.tile_offset_x = 15.0
back_picture_fill_format.tile_offset_y = 15.0
back_picture_fill_format.tile_scale_x = 46.0
back_picture_fill_format.tile_scale_y = 87.0
back_picture_fill_format.tile_alignment = slides.RectangleAlignment.CENTER
back_picture_fill_format.tile_flip = slides.TileFlip.FLIP_Y
presentation.save("TileBackground.pptx", slides.export.SaveFormat.PPTX)
變更背景影像透明度
您可能想調整投影片背景影像的透明度,以使投影片內容更突出。以下 Python 程式碼示範如何變更投影片背景影像的透明度:
transparency_value = 30 # 例如。
# 取得圖片變形操作的集合。
image_transform = slide.background.fill_format.picture_fill_format.picture.image_transform
transparency_operation = None
# 尋找已存在的固定比例透明度效果。
for operation in image_transform:
if type(operation) is slides.AlphaModulateFixed:
transparency_operation = operation
break
# 設定新的透明度值。
if transparency_operation is None:
image_transform.add_alpha_modulate_fixed_effect(100 - transparency_value)
else:
transparency_operation.amount = 100 - transparency_value
取得投影片背景值
Aspose.Slides 提供 IBackgroundEffectiveData 類別,用於取得投影片的有效背景值。此類別公開有效的 FillFormat 與 EffectFormat。
使用 BaseSlide 類別的 background 屬性,您可以取得投影片的有效背景。
以下 Python 範例示範如何取得投影片的有效背景值:
import aspose.slides as slides
# 建立 Presentation 類別的實例。
with slides.Presentation("Sample.pptx") as presentation:
slide = presentation.slides[0]
# 取得有效的背景,考慮母版、版面配置和主題。
effective_background = slide.background.get_effective()
if effective_background.fill_format.fill_type == slides.FillType.SOLID:
color = effective_background.fill_format.solid_fill_color
print(f"Fill color: Color [A={color.a}, R={color.r}, G={color.g}, B={color.b}]")
else:
print("Fill type:", str(effective_background.fill_format.fill_type))
常見問題
我可以重設自訂背景並恢復佈景主題/版面配置的背景嗎?
可以。移除投影片的自訂填充,背景將再次從相應的 layout/master 投影片繼承(即 theme background)。
如果之後變更簡報的佈景主題,背景會發生什麼變化?