Arbeta med former i PowerPoint i Python

Olika typer av diagram används i PowerPoint-presentationer för att göra innehållet mer utvecklande. Dessa diagram består av olika former som ellipser, linjer, rektanglar och kontakter. I den här artikeln kommer du att lära dig hur du lägger till, klonar och tar bort former i PowerPoint-bilder programmatiskt i Python.

Python-bibliotek för att arbeta med PowerPoint-former

Aspose.Slides för Python via .NET är designad för att skapa och manipulera PowerPoint-presentationer från Python-applikationer. Vi kommer att använda det här biblioteket för att arbeta med former i PowerPoint-bilder. Du kan installera det från PyPI med följande pip-kommando.

> pip install aspose.slides

Typer av former i PowerPoint

Du kan skapa en mängd olika former i PowerPoint-presentationer med Aspose.Slides för Python. De mest använda formerna inkluderar:

Lägg till en form till PowerPoint PPT-bilder i Python

För att lägga till vilken form som helst, inklusive ellips, linje, rektangel, används addautoshape(ShapeType, Single, Single, Single, Single) metod till vilken du kan skicka formtypen och andra nödvändiga parametrar. ShapeType enum används för att ange typen av form. Följande är stegen för att lägga till en form till en PowerPoint-bild i Python.

  1. Skapa en presentation eller ladda en befintlig med presentationsklassen.
  2. Skaffa referensen till den önskade bilden från Presentation.slides-samlingen.
  3. Lägg till en Ellips (eller någon annan form) med metoden addautoshape (ShapeType, Single, Single, Single, Single).
  4. Spara presentationen med metoden Presentation.save(String, SaveFormat).

Följande kodexempel visar hur man lägger till en form till en PowerPoint-bild i Python.

import aspose.slides as slides
import aspose.pydrawing as drawing

# Skapa en ny presentation
with slides.Presentation() as pres:
    # Få den första bilden
    sld = pres.slides[0]

    # Lägg till automatisk form av ellipstyp
    shp = sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 150, 50)

    # Använd lite formatering på ellipsform
    shp.fill_format.fill_type = slides.FillType.SOLID
    shp.fill_format.solid_fill_color.color = drawing.Color.pink

    # Tillämpa lite formatering på Ellipselinjen
    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

    # Spara PPTX-filen på disken
    pres.save("add-ellipse.pptx", slides.export.SaveFormat.PPTX)

Följande är ellipsen som vi har lagt till med hjälp av kodexemplet ovan.

Lägg till en form till PowerPoint PPT i Python

Anslut PowerPoint-former med en anslutning i Python

I diagram är olika former sammankopplade med hjälp av en linje som kallas en kontakt. En koppling kan vara en rak eller böjd linje. Låt oss se hur du lägger till en koppling mellan två PowerPoint-former i Python.

  1. Skapa först en instans av klassen Presentation för att skapa eller ladda presentationen.
  2. Skaffa sedan referensen till en bild med Presentation.slides-samlingen.
  3. Lägg till två former precis som du har lagt till i föregående avsnitt och få deras referenser.
  4. Skapa en anslutning med addconnector (ShapeType, Single, Single, Single, Single) metoden.
  5. Sammanfoga formerna med egenskaperna Connector.startshapeconnectedto och Connector.endshapeconnectedto.
  6. Anrop Connector.reroute()-metoden för att skapa den kortaste automatiska anslutningsvägen.
  7. Slutligen sparar du presentationen med metoden Presentation.save(string, SaveFormat).

Följande kodexempel visar hur man ansluter former i en PowerPoint-bild i Python.

import aspose.slides as slides
import aspose.pydrawing as drawing

# Skapa presentation
with slides.Presentation() as presentation:
    # Få tillgång till formsamlingen för den valda bilden
    shapes = presentation.slides[0].shapes

    # Lägg till ellips
    ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 0, 100, 100, 100)

    # Lägg till automatisk formrektangel
    rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 300, 100, 100)

    # Lägg till kontakt för att ansluta former
    connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR2, 0, 0, 10, 10)

    # Sammanfoga former med hjälp av kontakten
    connector.start_shape_connected_to = ellipse
    connector.end_shape_connected_to = rectangle

    # Ring omdirigering för att ställa in den automatiska kortaste vägen mellan former
    connector.reroute()

    # Spara presentationen
    presentation.save("add-connector.pptx", slides.export.SaveFormat.PPTX)

Följande är skärmdumpen av presentationen efter att ha kopplat former med en koppling.

Anslut PowerPoint-former med en anslutning i Python

Klona PowerPoint PPT-former i Python

Ibland väljer du att klona former istället för att skapa nya. För att uppnå det stöder Aspose.Slides formkloning. Följande är stegen för att klona en form i PowerPoint med Python.

  1. Använd först Presentation class för att ladda presentationsfilen.
  2. Skaffa referensen till en bild från Presentation.slides-samlingen.
  3. Få åtkomst till käll- och målbildsformerna från ISlide.shapes-samlingen.
  4. Klona former från källbildsformsamlingen till målbilden med metoden addclone().
  5. Spara slutligen den uppdaterade presentationsfilen.

Följande kodexempel visar hur man klona former i PowerPoint-bilder i Python.

import aspose.slides as slides

# Ladda presentationen
with slides.Presentation("add-ellipse.pptx") as presentation:
    # Få åtkomst till källbildens former
    sourceShapes = presentation.slides[0].shapes

    # Lägg till en ny tom bild
    blankLayout = presentation.masters[0].layout_slides.get_by_type(slides.SlideLayoutType.BLANK)
    destSlide = presentation.slides.add_empty_slide(blankLayout)

    # Få tillgång till formerna för destinationsbilden
    destShapes = destSlide.shapes

    # Klona former
    destShapes.add_clone(sourceShapes[0], 50, 150 + sourceShapes[0].height)
    destShapes.add_clone(sourceShapes[0])                 
    destShapes.insert_clone(0, sourceShapes[0], 50, 150)

    # Spara fil
    presentation.save("clone-shapes.pptx", slides.export.SaveFormat.PPTX)

Ta bort PPT-former från PowerPoint-bilder i Python

Du kan också ta bort former från PowerPoint-presentationer genom att följa stegen nedan.

  1. Skapa en instans av klassen Presentation för att ladda PPT/PPTX-filen.
  2. Gå till önskad bild från Presentation.slides-samlingen.
  3. Filtrera den önskade formen med en specifik text med hjälp av egenskapen IShape.alternativetext.
  4. Ta bort formen med metoden ISlide.shapes.remove(IShape).
  5. Spara slutligen den uppdaterade presentationsfilen.

Följande kodexempel visar hur du tar bort former från en PowerPoint-bild i Python.

# Ladda presentationen
with slides.Presentation("add-ellipse.pptx") as presentation:
    # Få den första bilden
    sld = presentation.slides[0]

    alttext = "User Defined"

    # Slinga genom former
   for i in range(len(sld.shapes)):
        # Hitta form genom alternativ text
        ashp = sld.shapes[0]
        if ashp.alternative_text == alttext:
            sld.shapes.remove(ashp)

    # Spara fil
    presentation.save("remove-shapes.pptx", slides.export.SaveFormat.PPTX)

Arbeta med former i PowerPoint PPT - Skaffa en gratis licens

Du kan få en gratis tillfällig licens för att manipulera PowerPoint-former utan utvärderingsbegränsningar.

Slutsats

MS PowerPoint stöder en rad former för att skapa olika typer av diagram som flödesscheman. I den här artikeln har vi täckt hur du skapar PowerPoint-former som ellipser och rektanglar och kopplar dem med kopplingar i Python. Dessutom har du lärt dig att klona och ta bort former i PowerPoint-bilder programmatiskt.

Python PowerPoint API - Läs mer

Du kan utforska mer om Aspose.Slides för Python med hjälp av dokumentationen. Du kan också gärna meddela oss om dina frågor via vårt forum.

Se även