SmartArt beheren in PowerPoint-presentaties met Python

Overzicht

SmartArt is een PowerPoint‑diagram bestaande uit knooppunten, knooppuntvormen en een lay‑out. Met Aspose.Slides for Python via .NET kunt u SmartArt maken, tekst lezen uit de knooppunten, de lay‑out wijzigen, verborgen knooppunten inspecteren, lay‑outs voor organigrammen configureren en beeld‑organigrammen maken.

Tekst ophalen uit een SmartArt‑object

Een SmartArt‑knooppunt kan één of meer vormen bevatten. Om de zichtbare tekst te lezen, iterereert u door SmartArt.all_nodes, en leest u vervolgens de TextFrame die wordt geretourneerd door SmartArtShape.text_frame .

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

with slides.Presentation("sample.pptx") as presentation:
    slide = presentation.slides[0]
    shape = slide.shapes[0]

    if isinstance(shape, smartart.SmartArt):
        smart_art = shape

        for smart_art_node in smart_art.all_nodes:
            for smart_art_shape in smart_art_node.shapes:
                if smart_art_shape.text_frame is not None:
                    print(smart_art_shape.text_frame.text)

Lay‑outtype van een SmartArt‑object wijzigen

De SmartArt‑lay‑out bepaalt hoe knooppunten worden gerangschikt en verbonden. Het volgende voorbeeld maakt een SmartArt‑object met de SmartArtLayoutType BASIC_BLOCK_LIST‑waarde, wijzigt deze naar de BASIC_PROCESS‑waarde en slaat de presentatie op.

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

with slides.Presentation() as presentation:
    smart_art = presentation.slides[0].shapes.add_smart_art(
        10, 10, 400, 300, smartart.SmartArtLayoutType.BASIC_BLOCK_LIST)

    smart_art.layout = smartart.SmartArtLayoutType.BASIC_PROCESS

    presentation.save("ChangeSmartArtLayout_out.pptx", slides.export.SaveFormat.PPTX)

Controleren of een SmartArt‑knooppunt verborgen is

SmartArtNode.is_hidden geeft aan of het knooppunt verborgen is in het SmartArt‑datamodel. Verborgen knooppunten kunnen bestaan in de structuur, zelfs wanneer de geselecteerde lay‑out ze niet als zichtbare diagramonderdelen weergeeft.

Het volgende voorbeeld voegt een knooppunt toe aan een SmartArt‑object dat de SmartArtLayoutType RADIAL_CYCLE‑waarde gebruikt en controleert de verborgen‑status van het knooppunt.

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

with slides.Presentation() as presentation:
    smart_art = presentation.slides[0].shapes.add_smart_art(
        10, 10, 400, 300, smartart.SmartArtLayoutType.RADIAL_CYCLE)

    smart_art_node = smart_art.all_nodes.add_node()
    is_hidden = smart_art_node.is_hidden

    if is_hidden:
        print("The node is hidden in the SmartArt data model.")

    presentation.save("CheckSmartArtHiddenProperty_out.pptx", slides.export.SaveFormat.PPTX)

Organigramlay‑out ophalen of instellen

Voor SmartArt‑diagrammen die een organigram‑lay‑out gebruiken, definieert SmartArtNode.organization_chart_layout hoe onderliggende knooppunten worden gerangschikt onder een bovenliggend knooppunt. U kunt bijvoorbeeld onderliggende knooppunten laten hangen aan de linkerkant, rechterkant of beide kanten, afhankelijk van de geselecteerde OrganizationChartLayoutType .

Het volgende voorbeeld maakt een organigram en stelt de lay‑out voor het eerste knooppunt in op de OrganizationChartLayoutType LEFT_HANGING‑waarde.

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

with slides.Presentation() as presentation:
    smart_art = presentation.slides[0].shapes.add_smart_art(
        10, 10, 400, 300, smartart.SmartArtLayoutType.ORGANIZATION_CHART)

    root_node = smart_art.nodes[0]
    root_node.organization_chart_layout = smartart.OrganizationChartLayoutType.LEFT_HANGING

    presentation.save("OrganizationChartLayout_out.pptx", slides.export.SaveFormat.PPTX)

Een afbeelding‑organigram maken

Een afbeelding‑organigram is een SmartArt‑lay‑out die is ontworpen voor hiërarchiediagrammen met afbeeldings‑plaatsaanduidingen. Gebruik de SmartArtLayoutType PICTURE_ORGANIZATION_CHART‑waarde wanneer u het SmartArt‑object aan een dia toevoegt.

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

with slides.Presentation() as presentation:
    smart_art = presentation.slides[0].shapes.add_smart_art(
        0, 0, 400, 400, smartart.SmartArtLayoutType.PICTURE_ORGANIZATION_CHART)

    presentation.save("PictureOrganizationChart_out.pptx", slides.export.SaveFormat.PPTX)

FAQ

Ondersteunt SmartArt spiegelen of omkeren voor RTL‑talen?

Ja. De eigenschap SmartArt.is_reversed schakelt de diagramrichting van links‑naar‑rechts naar rechts‑naar‑links, of terug, wanneer de geselecteerde SmartArt‑lay‑out omkering ondersteunt.

Hoe kan ik SmartArt kopiëren naar dezelfde dia of naar een andere presentatie terwijl de opmaak behouden blijft?

U kunt de SmartArt‑vorm klonen met ShapeCollection.add_clone of de hele dia klonen /slides/nl/python-net/clone-slides/ die de SmartArt bevat. Beide benaderingen behouden grootte, positie en opmaak.

Hoe render ik SmartArt naar een rasterafbeelding voor voorbeeldweergave of web‑export?

Render de dia of de hele presentatie naar PNG of JPEG. SmartArt wordt gerenderd als onderdeel van de dia.

Hoe kan ik een specifiek SmartArt‑object vinden op een dia als er meerdere aanwezig zijn?

Stel een onderscheidende Shape.alternative_text of Shape.name waarde in op de SmartArt‑vorm, zoek naar die waarde in Slide.shapes, en controleer vervolgens of de overeenkomstige vorm een SmartArt is.