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.