Aplicar efeitos 3D no PowerPoint usando Python

MS PowerPoint fornece efeitos 3D para tornar as apresentações mais atraentes. Você pode usar texto, formas e imagens 3D para aprimorar a interatividade do conteúdo. Neste artigo, você aprenderá como aplicar os efeitos 3D no PowerPoint PPT programaticamente em Python. Abordaremos como criar efeitos 3D para texto, formas e imagens nas apresentações.

Biblioteca Python para aplicar efeitos 3D no PowerPoint

Aspose.Slides for Python via .NET é uma biblioteca Python rica em recursos projetada para criar e manipular apresentações em PowerPoint. Usaremos esta biblioteca para aplicar efeitos 3D nas apresentações do PowerPoint PPT/PPTX. Use o seguinte comando para instalar a biblioteca de PyPI.

> pip install aspose.slides

Criar um texto 3D no PowerPoint em Python

A seguir estão as etapas para criar um fragmento de texto 3D no PowerPoint PPT usando Python.

  • Primeiro, crie um novo PPT ou carregue um existente usando a classe Presentation.
  • Em seguida, adicione uma nova forma de retângulo usando o método addautoshape().
  • Defina as propriedades da forma, como tipo de preenchimento, texto, etc.
  • Obtenha a referência da parte do texto dentro da forma em um objeto.
  • Aplique formatação à parte do texto.
  • Obtenha a referência do textframe dentro da forma.
  • Aplique efeitos 3D usando propriedades em textframe.textframeformat.threedformat.
  • Finalmente, salve a apresentação usando o método Presentation.save(String, SaveFormat).

O exemplo de código a seguir mostra como criar um texto 3D no PowerPoint em Python.

with slides.Presentation() as pres:
    # adicionar forma
    shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 200, 150, 250, 250)
    shape.fill_format.fill_type = slides.FillType.NO_FILL
    shape.fill_format.fill_type = slides.FillType.NO_FILL
    shape.line_format.fill_format.fill_type = slides.FillType.NO_FILL
    shape.text_frame.text = "3D text"

    # acessar a parte do texto e aplicar a formatação
    portion = shape.text_frame.paragraphs[0].portions[0]
    portion.portion_format.fill_format.fill_type = slides.FillType.PATTERN
    portion.portion_format.fill_format.pattern_format.fore_color.color = drawing.Color.dark_orange
    portion.portion_format.fill_format.pattern_format.back_color.color = drawing.Color.white
    portion.portion_format.fill_format.pattern_format.pattern_style = slides.PatternStyle.LARGE_GRID

    shape.text_frame.paragraphs[0].paragraph_format.default_portion_format.font_height = 128

    # acessar quadro de texto
    textFrame = shape.text_frame

    # configurar o efeito de transformação WordArt "Arch Up"
    textFrame.text_frame_format.transform = slides.TextShapeType.ARCH_UP

    # aplicar efeitos 3D
    textFrame.text_frame_format.three_dformat.extrusion_height = 3.5
    textFrame.text_frame_format.three_dformat.depth = 3
    textFrame.text_frame_format.three_dformat.material = slides.MaterialPresetType.PLASTIC
    textFrame.text_frame_format.three_dformat.light_rig.direction = slides.LightingDirection.TOP
    textFrame.text_frame_format.three_dformat.light_rig.light_type = slides.light_rigPresetType.BALANCED
    textFrame.text_frame_format.three_dformat.light_rig.set_rotation(0, 0, 40)

    textFrame.text_frame_format.three_dformat.camera.camera_type = slides.CameraPresetType.PERSPECTIVE_CONTRASTING_RIGHT_FACING

    # salvar como imagem (opcional)
    pres.slides[0].get_thumbnail(2, 2).save("3D-text.png")

    # salvar apresentação
    pres.save("3D-text.pptx", slides.export.SaveFormat.PPTX)

A captura de tela a seguir mostra a saída do exemplo de código acima.

Criar um texto 3D no PowerPoint em python

Criar uma forma 3D no PowerPoint em Python

Semelhante ao texto, você pode aplicar efeitos 3D às formas nas apresentações do PowerPoint. A seguir estão as etapas para criar uma forma 3D no PowerPoint em Python.

  • Primeiro, crie um novo PPT usando a classe Presentation.
  • Em seguida, adicione uma nova forma de retângulo usando o método addautoshape().
  • Defina o texto da forma usando a propriedade shape.textframe.text.
  • Aplique efeitos 3D à forma usando propriedades em shape.threedformat.
  • Finalmente, salve a apresentação usando o método Presentation.save(String, SaveFormat).

O exemplo de código a seguir mostra como aplicar efeitos 3D a formas no PowerPoint usando Python.

with slides.Presentation() as pres:
    # adicionar forma
    shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 200, 150, 200, 200)
    shape.text_frame.text = "3D"
    shape.text_frame.paragraphs[0].paragraph_format.default_portion_format.font_height = 64

    # aplicar efeitos 3D
    shape.three_dformat.camera.camera_type = slides.CameraPresetType.ORTHOGRAPHIC_FRONT
    shape.three_dformat.camera.set_rotation(20, 30, 40)
    shape.three_dformat.light_rig.light_type = slides.LightRigPresetType.FLAT
    shape.three_dformat.light_rig.direction = slides.LightingDirection.TOP
    shape.three_dformat.material = slides.MaterialPresetType.FLAT 
    shape.three_dformat.extrusion_height = 100
    shape.three_dformat.extrusion_color.color = drawing.Color.blue

    # salvar como imagem (opcional)
    pres.slides[0].get_thumbnail(2, 2).save("3D-shape.png")

    # salvar apresentação
    pres.save("3D-shape.pptx", slides.export.SaveFormat.PPTX)

A seguir está a forma 3D que obtemos depois de executar este código.

Criar uma forma 3D no PowerPoint em Python

Criar gradiente para formas 3D

Você também pode aplicar efeitos de gradiente às formas seguindo as etapas abaixo.

  • Primeiro, crie um novo PPT usando a classe Presentation.
  • Em seguida, adicione uma nova forma de retângulo usando o método addautoshape().
  • Defina o texto da forma usando a propriedade shape.textframe.text.
  • Defina shape.fillformat.filltype como FillType.GRADIENT e defina cores de gradiente.
  • Aplique efeitos 3D à forma usando propriedades em shape.threedformat.
  • Finalmente, salve a apresentação usando o método Presentation.save(String, SaveFormat).

O exemplo de código a seguir mostra como aplicar efeitos de gradiente a formas no PowerPoint.

with slides.Presentation() as pres:
    # adicionar forma
    shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 200, 150, 250, 250)
    shape.text_frame.text = "3D"
    shape.text_frame.paragraphs[0].paragraph_format.default_portion_format.font_height = 64

    # definir o tipo de preenchimento como gradiente
    shape.fill_format.fill_type = slides.FillType.GRADIENT
    shape.fill_format.gradient_format.gradient_stops.add(0, drawing.Color.blue)
    shape.fill_format.gradient_format.gradient_stops.add(100, drawing.Color.orange)

    # aplicar efeitos 3D
    shape.three_dformat.camera.camera_type = slides.CameraPresetType.ORTHOGRAPHIC_FRONT
    shape.three_dformat.camera.set_rotation(10, 20, 30)
    shape.three_dformat.light_rig.light_type = slides.LightRigPresetType.FLAT
    shape.three_dformat.light_rig.direction = slides.LightingDirection.TOP
    shape.three_dformat.extrusion_height = 150
    shape.three_dformat.extrusion_color.color = drawing.Color.dark_orange

    # salvar como imagem (opcional)
    pres.slides[0].get_thumbnail(2, 2).save("3D-shape-gradient.png")

    # salvar apresentação
    pres.save("3D-shape-gradient.pptx", slides.export.SaveFormat.PPTX)

A seguir está a forma 3D após a aplicação do efeito gradiente.

Criar gradiente para formas 3D em PPT

Aplicar efeitos 3D a uma imagem no PowerPoint em Python

Você também pode aplicar efeitos 3D às imagens nas apresentações do PowerPoint. A seguir estão as etapas para realizar esta operação em Python.

  • Crie um novo PPT usando a classe Presentation.
  • Em seguida, adicione uma nova forma de retângulo usando o método addautoshape().
  • Defina shape.fillformat.filltype como FillType.PICTURE e adicione a imagem.
  • Aplique efeitos 3D à forma usando propriedades em shape.threedformat.
  • Salve a apresentação usando o método Presentation.save(String, SaveFormat).

A seguir estão as etapas para aplicar efeitos 3D a uma imagem em PPT usando Python.

with slides.Presentation() as pres:
    # adicionar forma
    shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 200, 150, 250, 250)

    # definir o tipo de preenchimento como imagem
    shape.fill_format.fill_type = slides.FillType.PICTURE

    # carregar imagem do arquivo
    with open("tiger.bmp", "rb") as fs : 
        data = fs.read()

        # definir imagem
        shape.fill_format.picture_fill_format.picture.image = pres.images.add_image(data)
        shape.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.STRETCH

        # aplicar efeitos 3D à imagem
        shape.three_dformat.camera.camera_type = slides.CameraPresetType.ORTHOGRAPHIC_FRONT
        shape.three_dformat.camera.set_rotation(10, 20, 30)
        shape.three_dformat.light_rig.light_type = slides.LightRigPresetType.FLAT
        shape.three_dformat.light_rig.direction = slides.LightingDirection.TOP
        shape.three_dformat.extrusion_height = 150
        shape.three_dformat.extrusion_color.color = drawing.Color.dark_orange

    # salvar como imagem (opcional)
    pres.slides[0].get_thumbnail(2, 2).save("image_3d.png")

    # salvar apresentação
    pres.save("3D-image.pptx", slides.export.SaveFormat.PPTX)

A seguir está a imagem resultante que obtemos após a aplicação de efeitos 3D.

Aplicar efeitos 3D a uma imagem no PowerPoint em Python

Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita para usar o Aspose.Slides para Python via .NET sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu como aplicar efeitos 3D em apresentações do PowerPoint usando Python. Cobrimos como criar texto ou formas 3D e aplicar efeitos 3D a imagens em apresentações PPT ou PPTX. Caso você queira explorar mais sobre o Aspose.Slides for Python via .NET, você pode visitar a documentação. Além disso, você pode postar suas dúvidas em nosso fórum.

Veja também