SmartArt kezelése PowerPoint prezentációkban Python segítségével

Áttekintés

A SmartArt egy PowerPoint-diagram, amely csomópontokból, csomópontalakzatokból és egy elrendezésből áll. Az Aspose.Slides for Python via .NET segítségével létrehozhat SmartArt-ot, olvashatja a szöveget a csomópontjaiból, megváltoztathatja az elrendezését, vizsgálhatja a rejtett csomópontokat, konfigurálhatja a szervezeti diagram elrendezéseket, és létrehozhat kép szervezeti diagramokat.

Szöveg lekérése egy SmartArt objektumból

Egy SmartArt csomópont egy vagy több alakzatot tartalmazhat. A látható szöveg beolvasásához iteráljon a SmartArt.all_nodes -en, majd olvassa el a TextFrame -et, amelyet a SmartArtShape.text_frame visszaad.

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)

A SmartArt objektum elrendezéstípusának módosítása

A SmartArt elrendezés határozza meg, hogyan helyezkednek el és kapcsolódnak a csomópontok. Az alábbi példa egy SmartArt objektumot hoz létre a SmartArtLayoutType BASIC_BLOCK_LIST értékkel, módosítja azt BASIC_PROCESS értékre, és elmenti a bemutatót.

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)

Ellenőrizze, hogy egy SmartArt csomópont rejtett-e

A SmartArtNode.is_hidden jelzi, hogy a csomópont rejtett-e a SmartArt adatmodellben. Rejtett csomópontok létezhetnek a struktúrában akkor is, ha a kiválasztott elrendezés nem jeleníti meg őket látható diagramelemekként.

Az alábbi példa egy csomópontot ad hozzá egy SmartArt objektumhoz, amely a SmartArtLayoutType RADIAL_CYCLE értéket használja, és ellenőrzi a csomópont rejtett állapotát.

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)

A szervezeti diagram elrendezésének lekérése vagy beállítása

Azoknál a SmartArt diagramoknál, amelyek szervezeti diagram elrendezést használnak, a SmartArtNode.organization_chart_layout meghatározza, hogyan helyezkednek el a gyermekcsomópontok egy szülőcsomópont alatt. Például a gyermekcsomópontokat beállíthatja, hogy balról, jobbról vagy mindkét oldalról függjenek, a kiválasztott OrganizationChartLayoutType függvényében.

Az alábbi példa létrehoz egy szervezeti diagramot, és az első csomópont elrendezését a OrganizationChartLayoutType LEFT_HANGING értékre állítja.

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)

Kép szervezeti diagram létrehozása

A kép szervezeti diagram egy SmartArt elrendezés, amely hierarchikus diagramokhoz készült, és képhelyeket tartalmaz. Használja a SmartArtLayoutType PICTURE_ORGANIZATION_CHART értéket a SmartArt objektum diára való hozzáadásakor.

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)

GYIK

A SmartArt támogatja a tükrözést vagy fordítást RTL nyelvek esetén?

Igen. A SmartArt.is_reversed tulajdonság a diagram irányát balról jobbra helyett jobbról balra (vagy vissza) állítja, ha a kiválasztott SmartArt elrendezés támogatja a fordítást.

Hogyan másolhatom a SmartArt-ot ugyanarra a diára vagy egy másik bemutatóba, miközben megőrzöm a formázást?

A SmartArt alakzatot klónozhatja a ShapeCollection.add_clone segítségével, vagy klónozhatja a SmartArt-ot tartalmazó egész diát ezzel. Mindkét módszer megőrzi a méretet, pozíciót és a formázást.

Hogyan renderelhetem a SmartArt-ot raszteres képre előnézet vagy webes export céljából?

A dia renderelése vagy a teljes bemutató PNG vagy JPEG formátumba. A SmartArt a dia részeként kerül renderelésre.

Hogyan találhatok meg egy konkrét SmartArt objektumot egy dián, ha több is van?

Állítson be egy egyedi Shape.alternative_text vagy Shape.name értéket a SmartArt alakzatra, keresse meg ezt az értéket a Slide.shapes között, majd ellenőrizze, hogy a találat egy SmartArt.