Se utilizan varios tipos de diagramas en las presentaciones de PowerPoint para hacer que el contenido sea más elaborado. Estos diagramas se componen de diferentes formas, como elipses, líneas, rectángulos y conectores. En este artículo, aprenderá cómo agregar, clonar y eliminar formas en diapositivas de PowerPoint mediante programación en Python.
- Biblioteca de Python para trabajar con formas de PowerPoint
- Tipos de formas de PowerPoint
- Agregar forma a las diapositivas de PowerPoint
- Agregar conector a formas en PowerPoint
- Clonar una forma en diapositivas de PowerPoint
- Eliminar formas de las diapositivas de PowerPoint
Biblioteca de Python para trabajar con formas de PowerPoint
Aspose.Slides for Python via .NET está diseñado para crear y manipular presentaciones de PowerPoint desde las aplicaciones de Python. Usaremos esta biblioteca para trabajar con formas en diapositivas de PowerPoint. Puede instalarlo desde PyPI usando el siguiente comando pip.
> pip install aspose.slides
Tipos de formas en PowerPoint
Puede crear una variedad de formas en presentaciones de PowerPoint usando Aspose.Slides for Python. Las formas más utilizadas incluyen:
Agregar una forma a las diapositivas de PowerPoint en Python
Para agregar cualquier forma, incluida la elipse, la línea, el rectángulo, se utiliza el método addautoshape (ShapeType, Single, Single, Single, Single) al que puede pasar el tipo de forma y otros parámetros necesarios. La enumeración ShapeType se utiliza para especificar el tipo de forma. Los siguientes son los pasos para agregar una forma a una diapositiva de PowerPoint en Python.
- Cree una presentación o cargue una existente usando la clase Presentation.
- Obtenga la referencia de la diapositiva deseada de la colección Presentation.slides.
- Agregue una Elipse (o cualquier otra forma) usando el método addautoshape(ShapeType, Single, Single, Single, Single).
- Guarde la presentación usando el método Presentation.save(String, SaveFormat).
El siguiente ejemplo de código muestra cómo agregar una forma a una diapositiva de PowerPoint en Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create a new presentation
with slides.Presentation() as pres:
# Get the first slide
sld = pres.slides[0]
# Add auto shape of ellipse type
shp = sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 150, 50)
# Apply some formatting to ellipse shape
shp.fill_format.fill_type = slides.FillType.SOLID
shp.fill_format.solid_fill_color.color = drawing.Color.pink
# Apply some formatting to the line of Ellipse
shp.line_format.fill_format.fill_type = slides.FillType.SOLID
shp.line_format.fill_format.solid_fill_color.color = drawing.Color.purple
shp.line_format.width = 5
# Save the PPTX file to disk
pres.save("add-ellipse.pptx", slides.export.SaveFormat.PPTX)
La siguiente es la elipse que hemos agregado usando el ejemplo de código anterior.
Conecte formas de PowerPoint con un conector en Python
En los diagramas, las diferentes formas se conectan entre sí mediante una línea llamada conector. Un conector puede ser una línea recta o curva. Veamos cómo agregar un conector entre dos formas de PowerPoint en Python.
- Primero, cree una instancia de la clase Presentation para crear o cargar la presentación.
- Luego, obtenga la referencia de una diapositiva usando la colección Presentation.slides.
- Agregue dos formas tal como las agregó en la sección anterior y obtenga sus referencias.
- Cree un conector mediante el método addconnector(ShapeType, Single, Single, Single, Single).
- Una las formas usando las propiedades Connector.startshapeconnectedto y Connector.endshapeconnectedto.
- Llame al método Connector.reroute() para crear la ruta de conexión automática más corta.
- Finalmente, guarde la presentación usando el método Presentation.save(string, SaveFormat).
El siguiente ejemplo de código muestra cómo conectar formas en una diapositiva de PowerPoint en Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create presentation
with slides.Presentation() as presentation:
# Access shapes collection for selected slide
shapes = presentation.slides[0].shapes
# Add ellipse
ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 0, 100, 100, 100)
# Add auto shape rectangle
rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 300, 100, 100)
# Add connector to connect shapes
connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR2, 0, 0, 10, 10)
# Join shapes using connector
connector.start_shape_connected_to = ellipse
connector.end_shape_connected_to = rectangle
# Call reroute to set the automatic shortest path between shapes
connector.reroute()
# Save presenation
presentation.save("add-connector.pptx", slides.export.SaveFormat.PPTX)
La siguiente es la captura de pantalla de la presentación después de conectar formas con un conector.
Clonar formas de PowerPoint en Python
A veces, opta por clonar formas en lugar de crear una nueva. Para lograrlo, Aspose.Slides admite la clonación de formas. Los siguientes son los pasos para clonar una forma en PowerPoint usando Python.
- Primero, use la clase Presentation para cargar el archivo de presentación.
- Obtenga la referencia de una diapositiva de la colección Presentation.slides.
- Acceda a las formas de las diapositivas de origen y destino desde la colección ISlide.shapes.
- Clone formas de la colección de formas de la diapositiva de origen a la diapositiva de destino usando el método addclone().
- Finalmente, guarde el archivo de presentación actualizado.
El siguiente ejemplo de código muestra cómo clonar formas dentro de las diapositivas de PowerPoint en Python.
import aspose.slides as slides
# Load presentation
with slides.Presentation("add-ellipse.pptx") as presentation:
# Access shapes of the source slide
sourceShapes = presentation.slides[0].shapes
# Add a new blank slide
blankLayout = presentation.masters[0].layout_slides.get_by_type(slides.SlideLayoutType.BLANK)
destSlide = presentation.slides.add_empty_slide(blankLayout)
# Access shapes of destination slide
destShapes = destSlide.shapes
# Clone shapes
destShapes.add_clone(sourceShapes[0], 50, 150 + sourceShapes[0].height)
destShapes.add_clone(sourceShapes[0])
destShapes.insert_clone(0, sourceShapes[0], 50, 150)
# Save file
presentation.save("clone-shapes.pptx", slides.export.SaveFormat.PPTX)
Eliminar formas de diapositivas de PowerPoint en Python
También puede eliminar formas de las presentaciones de PowerPoint siguiendo los pasos a continuación.
- Cree una instancia de la clase Presentation para cargar el archivo PPT/PPTX.
- Acceda a la diapositiva deseada de la colección Presentation.slides.
- Filtre la forma deseada con un texto específico usando la propiedad IShape.alternativetext.
- Elimina la forma usando el método ISlide.shapes.remove(IShape).
- Finalmente, guarde el archivo de presentación actualizado.
El siguiente ejemplo de código muestra cómo eliminar formas de una diapositiva de PowerPoint en Python.
# Load presentation
with slides.Presentation("add-ellipse.pptx") as presentation:
# Get the first slide
sld = presentation.slides[0]
alttext = "User Defined"
# Loop through shapes
for i in range(len(sld.shapes)):
# Find shape by alternative text
ashp = sld.shapes[0]
if ashp.alternative_text == alttext:
sld.shapes.remove(ashp)
# Save file
presentation.save("remove-shapes.pptx", slides.export.SaveFormat.PPTX)
Obtenga una licencia gratis
Puede obtener una licencia temporal gratuita para usar Aspose.Slides for Python sin limitaciones de evaluación.
Conclusión
MS PowerPoint admite una variedad de formas para crear diferentes tipos de diagramas, como diagramas de flujo. En este artículo, hemos cubierto cómo crear formas de PowerPoint como elipses, rectángulos y conectarlos usando conectores en Python. Además, ha aprendido cómo clonar y eliminar formas en diapositivas de PowerPoint mediante programación. Puede explorar más sobre Aspose.Slides for Python utilizando la documentación. Además, no dude en hacernos saber sus consultas a través de nuestro foro.