Gerenciar Fundos de Apresentação em Python
Introdução
Cores sólidas, gradientes e imagens são comumente usados como fundos de slides. Você pode definir o fundo para um slide normal (um único slide) ou um slide mestre (aplica‑se a vários slides de uma vez).

Definir um Fundo de Cor Sólida para um Slide Normal
Aspose.Slides permite definir uma cor sólida como fundo para um slide específico em uma apresentação, mesmo que a apresentação use um slide mestre. A alteração se aplica somente ao slide selecionado.
- Crie uma instância da classe Presentation.
- Defina o BackgroundType do slide como
OWN_BACKGROUND. - Defina o FillType de fundo do slide como
SOLID. - Use a propriedade
solid_fill_colorem FillFormat para especificar a cor de fundo sólida. - Salve a apresentação modificada.
O exemplo Python a seguir mostra como definir uma cor sólida azul como fundo de um slide normal:
import aspose.pydrawing as draw
import aspose.slides as slides
# Crie uma instância da classe Presentation.
with slides.Presentation() as presentation:
slide = presentation.slides[0]
# Defina a cor de fundo do slide como azul.
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
# Salve a apresentação no disco.
presentation.save("SolidColorBackground.pptx", slides.export.SaveFormat.PPTX)
Definir um Fundo de Cor Sólida para o Slide Mestre
Aspose.Slides permite definir uma cor sólida como fundo do slide mestre em uma apresentação. O slide mestre funciona como um modelo que controla a formatação de todos os slides, portanto, ao escolher uma cor sólida para o fundo do slide mestre, ela será aplicada a todos os slides.
- Crie uma instância da classe Presentation.
- Defina o BackgroundType do slide mestre (via
masters) comoOWN_BACKGROUND. - Defina o FillType de fundo do slide mestre como
SOLID. - Use a propriedade
solid_fill_colorem FillFormat para especificar a cor de fundo sólida. - Salve a apresentação modificada.
O exemplo Python a seguir mostra como definir uma cor sólida (verde floresta) como fundo de um slide mestre:
import aspose.pydrawing as draw
import aspose.slides as slides
# Crie uma instância da classe Presentation.
with slides.Presentation() as presentation:
master_slide = presentation.masters[0]
# Defina a cor de fundo do slide Mestre como Verde Floresta.
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
# Salve a apresentação no disco.
presentation.save("MasterSlideBackground.pptx", slides.export.SaveFormat.PPTX)
Definir um Fundo Gradiente para um Slide
Um gradiente é um efeito gráfico criado por uma mudança gradual de cor. Quando usado como fundo de slide, gradientes podem tornar as apresentações mais artísticas e profissionais. Aspose.Slides permite definir uma cor gradiente como fundo dos slides.
- Crie uma instância da classe Presentation.
- Defina o BackgroundType do slide como
OWN_BACKGROUND. - Defina o FillType de fundo do slide como
GRADIENT. - Use a propriedade
gradient_formatem FillFormat para configurar as definições de gradiente desejadas. - Salve a apresentação modificada.
O exemplo Python a seguir mostra como definir uma cor gradiente como fundo de um slide:
import aspose.slides as slides
# Crie uma instância da classe Presentation.
with slides.Presentation() as presentation:
slide = presentation.slides[0]
# Aplique um efeito gradiente ao fundo.
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
# Salve a apresentação no disco.
presentation.save("GradientBackground.pptx", slides.export.SaveFormat.PPTX)
Definir uma Imagem como Fundo de Slide
Além de preenchimentos sólidos e gradientes, Aspose.Slides permite usar imagens como fundos de slide.
- Crie uma instância da classe Presentation.
- Defina o BackgroundType do slide como
OWN_BACKGROUND. - Defina o FillType de fundo do slide como
PICTURE. - Carregue a imagem que você deseja usar como fundo do slide.
- Adicione a imagem à coleção de imagens da apresentação.
- Use a propriedade
picture_fill_formatem FillFormat para atribuir a imagem como fundo. - Salve a apresentação modificada.
O exemplo Python a seguir mostra como definir uma imagem como fundo de um slide:
import aspose.slides as slides
# Crie uma instância da classe Presentation.
with slides.Presentation() as presentation:
slide = presentation.slides[0]
# Defina as propriedades da imagem de fundo.
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
# Carregue a imagem.
with slides.Images.from_file("Tulips.jpg") as image:
# Adicione a imagem à coleção de imagens da apresentação.
pp_image = presentation.images.add_image(image)
slide.background.fill_format.picture_fill_format.picture.image = pp_image
# Salve a apresentação no disco.
presentation.save("ImageAsBackground.pptx", slides.export.SaveFormat.PPTX)
O exemplo de código a seguir mostra como definir o tipo de preenchimento de fundo como uma imagem em mosaico e modificar as propriedades de repetição:
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)
# Defina a imagem usada para o preenchimento de fundo.
back_picture_fill_format = background.fill_format.picture_fill_format
back_picture_fill_format.picture.image = pp_image
# Defina o modo de preenchimento da imagem como Ladrilho e ajuste as propriedades do ladrilho.
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)
Alterar a Transparência da Imagem de Fundo
Você pode querer ajustar a transparência da imagem de fundo de um slide para que o conteúdo do slide se destaque. O código Python a seguir mostra como alterar a transparência da imagem de fundo de um slide:
transparency_value = 30 # Por exemplo.
# Obtenha a coleção de operações de transformação de imagem.
image_transform = slide.background.fill_format.picture_fill_format.picture.image_transform
transparency_operation = None
# Encontre um efeito de transparência de porcentagem fixa existente.
for operation in image_transform:
if type(operation) is slides.AlphaModulateFixed:
transparency_operation = operation
break
# Defina o novo valor de transparência.
if transparency_operation is None:
image_transform.add_alpha_modulate_fixed_effect(100 - transparency_value)
else:
transparency_operation.amount = 100 - transparency_value
Obter o Valor de Fundo do Slide
Aspose.Slides fornece a classe IBackgroundEffectiveData para obter os valores efetivos de fundo de um slide. Essa classe expõe o FillFormat e o EffectFormat efetivos.
Usando a propriedade background da classe BaseSlide, você pode obter o fundo efetivo de um slide.
O exemplo Python a seguir mostra como obter o valor de fundo efetivo de um slide:
import aspose.slides as slides
# Crie uma instância da classe Presentation.
with slides.Presentation("Sample.pptx") as presentation:
slide = presentation.slides[0]
# Recupere o fundo efetivo, levando em conta mestre, layout e tema.
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))
FAQ
Posso redefinir um fundo personalizado e restaurar o fundo do tema/layout?
Sim. Remova o preenchimento personalizado do slide e o fundo será herdado novamente do slide de layout/master correspondente (ou seja, o tema de fundo).
O que acontece com o fundo se eu mudar o tema da apresentação mais tarde?
Se um slide tiver seu próprio preenchimento, ele permanecerá inalterado. Se o fundo for herdado do layout/master, ele será atualizado para corresponder ao novo tema.