Aplicar efectos 3D en PowerPoint usando Python

MS PowerPoint proporciona efectos 3D para hacer las presentaciones más atractivas. Puede usar texto, formas e imágenes en 3D para mejorar la interactividad del contenido. En este artículo, aprenderá cómo aplicar los efectos 3D en PowerPoint PPT mediante programación en Python. Cubriremos cómo crear efectos 3D para texto, formas e imágenes en las presentaciones.

Biblioteca de Python para aplicar efectos 3D en PowerPoint

Aspose.Slides for Python via .NET es una biblioteca de Python rica en funciones que está diseñada para crear y manipular presentaciones de PowerPoint. Usaremos esta biblioteca para aplicar efectos 3D en las presentaciones de PowerPoint PPT/PPTX. Utilice el siguiente comando para instalar la biblioteca desde PyPI.

> pip install aspose.slides

Crear un texto 3D en PowerPoint en Python

Los siguientes son los pasos para crear un fragmento de texto 3D en PowerPoint PPT usando Python.

  • Primero, cree un nuevo PPT o cargue uno existente usando la clase Presentation.
  • Luego, agregue una nueva forma de rectángulo usando el método add\auto\shape().
  • Establezca las propiedades de la forma, como el tipo de relleno, el texto, etc.
  • Obtenga la referencia de la porción de texto dentro de la forma en un objeto.
  • Aplicar formato a la porción de texto.
  • Obtenga la referencia del texto\marco dentro de la forma.
  • Aplique efectos 3D usando propiedades en text\frame.text\frame\format.tres\dformat.
  • Finalmente, guarde la presentación usando el método Presentation.save(String, SaveFormat).

El siguiente ejemplo de código muestra cómo crear un texto 3D en PowerPoint en Python.

with slides.Presentation() as pres:
    # add shape
    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"

    # access text portion and apply formatting
    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

    # access text frame
    textFrame = shape.text_frame

    # set up "Arch Up" WordArt transform effect
    textFrame.text_frame_format.transform = slides.TextShapeType.ARCH_UP

    # apply 3D effects
    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

    # save as image (optional)
    pres.slides[0].get_thumbnail(2, 2).save("3D-text.png")

    # save presentation
    pres.save("3D-text.pptx", slides.export.SaveFormat.PPTX)

La siguiente captura de pantalla muestra el resultado del ejemplo de código anterior.

Crear un texto 3D en PowerPoint en python

Crear una forma 3D en PowerPoint en Python

De forma similar al texto, puede aplicar efectos 3D a las formas en las presentaciones de PowerPoint. Los siguientes son los pasos para crear una forma 3D en PowerPoint en Python.

  • Primero, cree un nuevo PPT usando la clase Presentation.
  • Luego, agregue una nueva forma de rectángulo usando el método add\auto\shape().
  • Establezca el texto de la forma usando la propiedad shape.text\frame.text.
  • Aplique efectos 3D a la forma usando propiedades en shape.tres\dformat.
  • Finalmente, guarde la presentación usando el método Presentation.save(String, SaveFormat).

El siguiente ejemplo de código muestra cómo aplicar efectos 3D a formas en PowerPoint usando Python.

with slides.Presentation() as pres:
    # add shape
    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

    # apply 3D effects
    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

    # save as image (optional)
    pres.slides[0].get_thumbnail(2, 2).save("3D-shape.png")

    # save presentation
    pres.save("3D-shape.pptx", slides.export.SaveFormat.PPTX)

La siguiente es la forma 3D que obtenemos después de ejecutar este código.

Crear una forma 3D en PowerPoint en Python

Crear degradado para formas 3D

También puede aplicar efectos de degradado a las formas siguiendo los pasos a continuación.

  • Primero, cree un nuevo PPT usando la clase Presentation.
  • Luego, agregue una nueva forma de rectángulo usando el método add\auto\shape().
  • Establezca el texto de la forma usando la propiedad shape.text\frame.text.
  • Establezca shape.fill\format.fill\type en FillType.GRADIENT y establezca colores degradados.
  • Aplique efectos 3D a la forma usando propiedades en shape.tres\dformat.
  • Finalmente, guarde la presentación usando el método Presentation.save(String, SaveFormat).

El siguiente ejemplo de código muestra cómo aplicar efectos de degradado a formas en PowerPoint.

with slides.Presentation() as pres:
    # add shape
    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

    # set fill type as gradient
    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)

    # apply 3D effects
    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

    # save as image (optional)
    pres.slides[0].get_thumbnail(2, 2).save("3D-shape-gradient.png")

    # save presentation
    pres.save("3D-shape-gradient.pptx", slides.export.SaveFormat.PPTX)

La siguiente es la forma 3D después de aplicar el efecto degradado.

Crear degradado para formas 3D en PPT

Aplicar efectos 3D a una imagen en PowerPoint en Python

También puede aplicar efectos 3D a las imágenes en las presentaciones de PowerPoint. Los siguientes son los pasos para realizar esta operación en Python.

  • Cree un nuevo PPT usando la clase de presentación.
  • Luego, agregue una nueva forma de rectángulo usando el método add\auto\shape().
  • Establezca shape.fill\format.fill\type en FillType.PICTURE y agregue la imagen.
  • Aplique efectos 3D a la forma usando propiedades en shape.tres\dformat.
  • Guarde la presentación usando el método Presentation.save(String, SaveFormat).

Los siguientes son los pasos para aplicar efectos 3D a una imagen en PPT usando Python.

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

    # set fill type as picture
    shape.fill_format.fill_type = slides.FillType.PICTURE

    # load image from file
    with open("tiger.bmp", "rb") as fs : 
        data = fs.read()

        # set image
        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

        # apply 3D effects to image
        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

    # save as image (optional)
    pres.slides[0].get_thumbnail(2, 2).save("image_3d.png")

    # save presentation
    pres.save("3D-image.pptx", slides.export.SaveFormat.PPTX)

La siguiente es la imagen resultante que obtenemos después de aplicar efectos 3D.

Aplicar efectos 3D a una imagen en PowerPoint en Python

Obtenga una licencia gratis

Puede obtener una licencia temporal gratuita para usar Aspose.Slides for Python a través de .NET sin limitaciones de evaluación.

Conclusión

En este artículo, ha aprendido a aplicar efectos 3D en presentaciones de PowerPoint utilizando Python. Hemos cubierto cómo crear texto o formas 3D y aplicar efectos 3D a imágenes en presentaciones PPT o PPTX. En caso de que desee explorar más sobre Aspose.Slides for Python a través de .NET, puede visitar la documentación. Además, puede publicar sus consultas en nuestro foro.

Ver también