Hantera SmartArt-grafik i presentationer med Python

Översikt

Aspose.Slides låter dig skapa och hantera SmartArt-grafik i PowerPoint-presentationer programmässigt. Den här artikeln förklarar hur du lägger till en SmartArt-form på en bild, får åtkomst till befintliga SmartArt-former, hittar SmartArt med en specifik layouttyp och uppdaterar dess visuella utseende genom att ändra SmartArt-stilen eller färgstilen.

Exemplen visar hur du arbetar med SmartArt-former via bildens formsamling, kontrollerar om en form är SmartArt och sedan modifierar eller inspekterar dess egenskaper.

Skapa SmartArt-former

Aspose.Slides for Python via .NET låter dig lägga till anpassade SmartArt-former på bilder från grunden. API:et gör detta enkelt. Så här lägger du till en SmartArt-form på en bild:

  1. Skapa en instans av klassen Presentation.
  2. Hämta målbilden med dess index.
  3. Lägg till en SmartArt-form och ange dess layouttyp.
  4. Spara den modifierade presentationen som en PPTX-fil.
import aspose.slides as slides
import aspose.slides.smartart as smartart

# Instansiera Presentation-klassen.
with slides.Presentation() as presentation:
    # Åtkomst till prezentationsbilden.
    slide = presentation.slides[0]
    # Lägg till en SmartArt-form.
    smart_art = slide.shapes.add_smart_art(0, 0, 400, 400, smartart.SmartArtLayoutType.BASIC_BLOCK_LIST)
    # Spara presentationen till disk.
    presentation.save("output.pptx", slides.export.SaveFormat.PPTX)

Få åtkomst till SmartArt-former på bilder

Följande kod visar hur du får åtkomst till SmartArt-former på en bild. Exemplet itererar genom varje form på bilden och kontrollerar om den är ett SmartArt-objekt.

import aspose.slides as slides
import aspose.slides.smartart as smartart

# Läs in en presentationsfil.
with slides.Presentation("SmartArt.pptx") as presentation:
    # Iterera genom varje form på den första bilden.
    for shape in presentation.slides[0].shapes:
        # Kontrollera om formen är en SmartArt-form.
        if isinstance(shape, smartart.SmartArt):
            # Skriv ut formens namn.
            print("Shape name:", shape.name)

Få åtkomst till SmartArt-former med en specificerad layouttyp

Följande exempel visar hur du får åtkomst till en SmartArt-form med en specificerad layouttyp. Observera att du inte kan ändra en SmartArts layouttyp—den är skrivskyddad och anges när formen skapas.

  1. Skapa en Presentation-instans och läs in presentationen som innehåller SmartArt-formen.
  2. Hämta en referens till den första bilden med index.
  3. Iterera över varje form på den första bilden.
  4. Kontrollera om formen är ett SmartArt-objekt.
  5. Om SmartArt-formens layouttyp matchar den du behöver, utför de nödvändiga åtgärderna.
import aspose.slides as slides
import aspose.slides.smartart as smartart

with slides.Presentation("SmartArt.pptx") as presentation:
    # Iterera genom varje form på den första bilden.
    for shape in presentation.slides[0].shapes:
        # Kontrollera om formen är en SmartArt-form.
        if isinstance(shape, smartart.SmartArt):
            # Kontrollera SmartArt layouttyp.
            if shape.layout == smartart.SmartArtLayoutType.BASIC_BLOCK_LIST:
                print("Do something here...")

Ändra SmartArt-formens stil

Följande exempel visar hur du hittar SmartArt-former och ändrar deras stil:

  1. Skapa en Presentation och läs in filen som innehåller SmartArt-form(en).
  2. Hämta en referens till den första bilden med index.
  3. Iterera över varje form på den första bilden.
  4. Hitta SmartArt-formen med den specificerade stilen.
  5. Tilldela den nya stilen till SmartArt-formen.
  6. Spara presentationen.
import aspose.slides as slides
import aspose.slides.smartart as smartart

with slides.Presentation("SmartArt.pptx") as presentation:
    # Iterera genom varje form på den första bilden.
    for shape in presentation.slides[0].shapes:
        # Kontrollera om formen är en SmartArt-form.
        if isinstance(shape, smartart.SmartArt):
            # Kontrollera SmartArt-stilen.
            if shape.quick_style == smartart.SmartArtQuickStyleType.SIMPLE_FILL:
                # Ändra SmartArt-stilen.
                smart.quick_style = smartart.SmartArtQuickStyleType.CARTOON
    # Spara presentationen.
    presentation.save("output.pptx", slides.export.SaveFormat.PPTX)

Ändra färgstilen för SmartArt-former

Detta exempel visar hur du ändrar färgstilen för en SmartArt-form. Exempelkoden hittar en SmartArt-form med en specificerad färgstil och uppdaterar den.

  1. Skapa en instans av klassen Presentation och läs in presentationen som innehåller SmartArt-form(en).
  2. Hämta en referens till den första bilden med index.
  3. Iterera över varje form på den första bilden.
  4. Kontrollera om formen är ett SmartArt-objekt.
  5. Lokalisera SmartArt-formen med den specificerade färgstilen.
  6. Ange den nya färgstilen för den SmartArt-formen.
  7. Spara presentationen.
import aspose.slides as slides
import aspose.slides.smartart as smartart

with slides.Presentation("SmartArt.pptx") as presentation:
    # Iterera genom varje form på den första bilden.
    for shape in presentation.slides[0].shapes:
        # Kontrollera om formen är en SmartArt-form.
        if isinstance(shape, smartart.SmartArt):
            # Kontrollera färgtypen.
            if shape.color_style == smartart.SmartArtColorType.COLORED_FILL_ACCENT1:
                # Ändra färgtypen.
                shape.color_style = smartart.SmartArtColorType.COLORFUL_ACCENT_COLORS
    # Spara presentationen.
    presentation.save("output.pptx", slides.export.SaveFormat.PPTX)

Vanliga frågor

Kan jag animera SmartArt som ett enda objekt?

Ja. SmartArt är en form, så du kan applicera standardanimationer via animations‑API‑et (ingång, utgång, betoning, rörelsebanor) precis som för andra former.

Hur kan jag hitta en specifik SmartArt på en bild om jag inte känner till dess interna ID?

Ange och använd alternativ text (AltText) och sök efter formen med det värdet—detta är ett rekommenderat sätt att hitta målformen.

Kan jag gruppera SmartArt med andra former?

Ja. Du kan gruppera SmartArt med andra former (bilder, tabeller osv.) och sedan manipulera gruppen.

Hur får jag en bild av en specifik SmartArt (t.ex. för en förhandsgranskning eller rapport)?

Exportera en miniatyrbild/bild av formen; biblioteket kan rendera enskilda former till rasterfiler (PNG/JPG/TIFF).

Kommer SmartArt-utseendet att bevaras när hela presentationen konverteras till PDF?

Ja. Renderingsmotorn siktar på hög trohet för PDF‑export, med en rad kvalitets- och kompatibilitetsalternativ.