Añadir rectángulos a presentaciones en Python vía Java

Visión general

Este artículo muestra cómo añadir formas de rectángulo a diapositivas de PowerPoint utilizando Aspose.Slides. Cubre la creación de un rectángulo simple, la creación de un rectángulo con formato y el guardado de la presentación actualizada como un archivo PPTX.

También verá cómo aplicar un formato básico al rectángulo, como un color de relleno sólido, color de línea y anchura de línea. Además, las preguntas frecuentes del artículo apuntan a tareas relacionadas con rectángulos, incluyendo esquinas redondeadas, rellenos con imágenes, efectos visuales, hipervínculos, bloqueos de forma, opciones de exportación y propiedades efectivas.

Añadir un rectángulo a una diapositiva

Para añadir un rectángulo simple a una diapositiva seleccionada de la presentación, siga los pasos a continuación:

  • Cree una instancia de la clase Presentation.
  • Obtenga una referencia a una diapositiva por su índice.
  • Añada un AutoShape de tipo rectángulo usando el método addAutoShape expuesto por el objeto ShapeCollection.
  • Guarde la presentación modificada como un archivo PPTX.

En el ejemplo que se muestra a continuación, hemos añadido un rectángulo simple a la primera diapositiva de la presentación.

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat, ShapeType

# Instanciar la clase Presentation que representa el archivo PPTX.
presentation = Presentation()
try:
    # Obtener la primera diapositiva.
    slide = presentation.getSlides().get_Item(0)

    # Añadir una forma de rectángulo.
    slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 150, 50)

    # Guardar el archivo PPTX en disco.
    presentation.save("RecShp1.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Añadir un rectángulo con formato a una diapositiva

Para añadir un rectángulo con formato a una diapositiva, siga los pasos a continuación:

  • Cree una instancia de la clase Presentation.
  • Obtenga una referencia a una diapositiva por su índice.
  • Añada un AutoShape de tipo rectángulo usando el método addAutoShape expuesto por el objeto ShapeCollection.
  • Establezca el fill type del rectángulo a sólido.
  • Establezca el color del rectángulo usando el método setColor sobre el color de relleno sólido del objeto FillFormat asociado al objeto Shape.
  • Establezca el color del contorno del rectángulo.
  • Establezca el ancho del contorno del rectángulo.
  • Guarde la presentación modificada como un archivo PPTX.

Los pasos anteriores se implementan en el ejemplo que se muestra a continuación.

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import FillType, Presentation, SaveFormat, ShapeType
from java.awt import Color

# Instanciar la clase Presentation que representa el archivo PPTX.
presentation = Presentation()
try:
    # Obtener la primera diapositiva.
    slide = presentation.getSlides().get_Item(0)

    # Añadir una forma de rectángulo.
    rectangle = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 150, 50)

    # Formatear el relleno del rectángulo.
    rectangle.getFillFormat().setFillType(FillType.Solid)
    rectangle.getFillFormat().getSolidFillColor().setColor(Color.GRAY)

    # Formatear el contorno del rectángulo.
    rectangle.getLineFormat().getFillFormat().setFillType(FillType.Solid)
    rectangle.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK)
    rectangle.getLineFormat().setWidth(5)

    # Guardar el archivo PPTX en disco.
    presentation.save("RecShp2.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Preguntas frecuentes

¿Cómo añado un rectángulo con esquinas redondeadas?

Utilice el shape type con esquinas redondeadas y ajuste el radio de la esquina en las propiedades de la forma; el redondeado también puede aplicarse por esquina mediante ajustes geométricos.

¿Cómo relleno un rectángulo con una imagen (textura)?

Seleccione el fill type de imagen, proporcione la fuente de la imagen y configure los stretching/tiling modes.

¿Puede un rectángulo tener sombra y brillo?

Sí. Outer/inner shadow, glow, and soft edges están disponibles con parámetros ajustables.

¿Puedo convertir un rectángulo en un botón con un hipervínculo?

Sí. Assign a hyperlink al hacer clic en la forma (ir a una diapositiva, archivo, dirección web o correo electrónico).

¿Cómo puedo proteger un rectángulo contra movimientos y cambios?

Use shape locks: puede prohibir el movimiento, el cambio de tamaño, la selección o la edición de texto para preservar el diseño.

¿Puedo convertir un rectángulo a una imagen rasterizada o SVG?

Sí. Puede render the shape a una imagen con un tamaño/escala especificados o export it as SVG para uso vectorial.

¿Cómo obtengo rápidamente las propiedades reales (efectivas) de un rectángulo teniendo en cuenta el tema y la herencia?

Use the shape’s effective properties: la API devuelve valores calculados que tienen en cuenta los estilos del tema, el diseño y la configuración local, simplificando el análisis de formato.