SmartArt kezelése PowerPoint prezentációkban Androidon

Áttekintés

A SmartArt egy PowerPoint-diagram, amely csomópontokból, csomópont alakzatokból és egy elrendezésből áll. Az Aspose.Slides for Android via Java segítségével létrehozhat SmartArt-ot, kiolvashatja a szöveget a csomópontjaiból, megváltoztathatja az elrendezését, ellenőrizheti a rejtett csomópontokat, konfigurálhatja a szervezeti diagram elrendezéseket, és képes képes szervezeti diagramokat létrehozni.

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 ISmartArt.getAllNodes végig, majd olvassa el a ISmartArtShape.getTextFrame által visszaadott ITextFrame.

Presentation presentation = new Presentation("sample.pptx");
try {
    ISlide slide = presentation.getSlides().get_Item(0);
    IShape shape = slide.getShapes().get_Item(0);

    if (shape instanceof ISmartArt) {
        ISmartArt smartArt = (ISmartArt) shape;

        for (ISmartArtNode node : smartArt.getAllNodes()) {
            for (ISmartArtShape nodeShape : node.getShapes()) {
                if (nodeShape.getTextFrame() != null) {
                    System.out.println(nodeShape.getTextFrame().getText());
                }
            }
        }
    }
} finally {
    presentation.dispose();
}

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

A SmartArt elrendezés szabályozza, hogyan vannak a csomópontok elrendezve és összekapcsolva. Az alábbi példa létrehoz egy SmartArt objektumot a SmartArtLayoutType BasicBlockList értékkel, átállítja a BasicProcess értékre, és elmenti a bemutatót.

Presentation presentation = new Presentation();
try {
    ISmartArt smartArt = presentation.getSlides().get_Item(0).getShapes().addSmartArt(
        10, 10, 400, 300, SmartArtLayoutType.BasicBlockList);

    smartArt.setLayout(SmartArtLayoutType.BasicProcess);

    presentation.save("ChangeSmartArtLayout_out.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

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

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

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

Presentation presentation = new Presentation();
try {
    ISmartArt smartArt = presentation.getSlides().get_Item(0).getShapes().addSmartArt(
        10, 10, 400, 300, SmartArtLayoutType.RadialCycle);

    ISmartArtNode node = smartArt.getAllNodes().addNode();
    boolean isHidden = node.isHidden();

    if (isHidden) {
        System.out.println("The node is hidden in the SmartArt data model.");
    }

    presentation.save("CheckSmartArtHiddenProperty_out.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

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

Azoknál a SmartArt diagramoknál, amelyek szervezeti diagram elrendezést használnak, az ISmartArtNode.getOrganizationChartLayout és az ISmartArtNode.setOrganizationChartLayout határozzák meg, hogyan vannak elrendezve a gyermekcsomópontok egy szülőcsomópont alatt. Például beállíthatja a gyermekcsomópontokat, hogy balról, jobbról vagy mindkét oldalról függően függjenek, a kiválasztott OrganizationChartLayoutType alapján.

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

Presentation presentation = new Presentation();
try {
    ISmartArt smartArt = presentation.getSlides().get_Item(0).getShapes().addSmartArt(
        10, 10, 400, 300, SmartArtLayoutType.OrganizationChart);

    ISmartArtNode rootNode = smartArt.getNodes().get_Item(0);
    rootNode.setOrganizationChartLayout(OrganizationChartLayoutType.LeftHanging);

    presentation.save("OrganizationChartLayout_out.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Képes szervezeti diagram létrehozása

A képes szervezeti diagram egy SmartArt elrendezés, amely hierarchia diagramokhoz készült, és képtartóhelyeket tartalmaz. Használja a SmartArtLayoutType PictureOrganizationChart értéket, amikor a SmartArt objektumot a diára adja.

Presentation presentation = new Presentation();
try {
    ISmartArt smartArt = presentation.getSlides().get_Item(0).getShapes().addSmartArt(
        0, 0, 400, 400, SmartArtLayoutType.PictureOrganizationChart);

    presentation.save("PictureOrganizationChart_out.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

FAQ

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

Igen. Az ISmartArt.setReversed metódus átváltja a diagram irányát balról jobbra → jobbról balra, vagy vissza, 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 prezentációba, miközben megőrzöm a formázást?

Klónozhatja a SmartArt alakzatát a clone the SmartArt shape segítségével a ShapeCollection.addClone metódussal, vagy klónozhatja az egész diát a clone the whole slide linkkel, amely tartalmazza a SmartArt-ot. Mindkét megközelítés megőrzi a méretet, pozíciót és a formázást.

Hogyan renderelhetem a SmartArt-ot raszteres képre előnézethez vagy webes exporthoz?

Renderelje a diát a Render the slide vagy az egész bemutatót PNG vagy JPEG formátumba. A SmartArt a dia részeként kerül renderelésre.

Hogyan találhatok egy adott SmartArt objektumot a dián, ha több is van?

Állítson be egy egyedi Shape.getAlternativeText vagy Shape.getName értéket a SmartArt alakzatra, keresse meg ezt az értéket a BaseSlide.getShapes segítségével, majd ellenőrizze, hogy a megtalált alakzat egy ISmartArt legyen.