SmartArt grafika kezelése prezentációkban Androidon
Áttekintés
Az Aspose.Slides lehetővé teszi, hogy programozottan hozzon létre és kezeljen SmartArt grafikákat PowerPoint‑prezentációkban. Ez a cikk bemutatja, hogyan adjon SmartArt alakzatot egy diára, hogyan érjen el létező SmartArt alakzatokat, hogyan keressen SmartArt‑ot egy adott elrendezéstípus szerint, és hogyan frissítse a megjelenését a SmartArt stílus vagy színstílus megváltoztatásával.
A példák bemutatják, hogyan dolgozzunk SmartArt alakzatokkal a prezentációdia alakzategyűjteményén keresztül, hogyan ellenőrizzük, hogy egy alakzat SmartArt‑e, majd módosítsuk vagy vizsgáljuk meg a tulajdonságait.
SmartArt alakzat létrehozása
Aspose.Slides for Android via Java biztosít API‑t SmartArt alakzatok létrehozásához. SmartArt alakzat létrehozásához egy dián, kövesse az alábbi lépéseket:
- Hozzon létre egy példányt a Presentation osztályból.
- Szerezze meg egy dia referenciáját a Index használatával.
- Adjon hozzá SmartArt alakzatot a LayoutType beállításával.
- Mentse a módosított prezentációt PPTX fájlként.
// Presentation osztály példányosítása
Presentation pres = new Presentation();
try {
// Első dia lekérése
ISlide slide = pres.getSlides().get_Item(0);
// SmartArt alakzat hozzáadása
ISmartArt smart = slide.getShapes().addSmartArt(0, 0, 400, 400, SmartArtLayoutType.BasicBlockList);
// Prezentáció mentése
pres.save("SimpleSmartArt.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
![]() |
|---|
| Ábra: SmartArt alakzat hozzáadva a diára |
SmartArt alakzat elérése egy dián
A következő kódot a prezentációdiára hozzáadott SmartArt alakzatok elérésére használjuk. A példakódban végigjárjuk a dia minden alakzatát, és ellenőrizzük, hogy SmartArt alakzat‑e. Ha az alakzat SmartArt típusú, akkor átkonvertáljuk egy SmartArt példányra.
// Töltsük be a kívánt prezentációt
Presentation pres = new Presentation("AccessSmartArtShape.pptx");
try {
// Bejárjuk az első dián lévő minden alakzatot
for (IShape shape : pres.getSlides().get_Item(0).getShapes())
{
// Ellenőrizzük, hogy az alakzat SmartArt típusú-e
if (shape instanceof ISmartArt)
{
// Átkonvertáljuk az alakzatot SmartArtEx‑re
ISmartArt smart = (ISmartArt)shape;
System.out.println("Shape Name:" + smart.getName());
}
}
} finally {
if (pres != null) pres.dispose();
}
SmartArt alakzat elérése adott elrendezéstípussal
A következő mintakód segít hozzáférni a SmartArt alakzathoz egy adott LayoutType használatával. Vegye figyelembe, hogy a SmartArt LayoutType‑ját nem módosíthatja, mivel csak olvasható, és csak a SmartArt alakzat hozzáadása során állítódik be.
- Hozzon létre egy példányt a Presentation osztályból, és töltse be a prezentációt SmartArt alakzattal.
- Szerezze meg az első dia referenciáját az Index használatával.
- Járja be az első dián lévő minden alakzatot.
- Ellenőrizze, hogy az alakzat SmartArt típusú‑e, és ha igen, konvertálja a kijelölt alakzatot SmartArt‑ra.
- Ellenőrizze a SmartArt alakzatot a megadott LayoutType‑nal, majd hajtsa végre a szükséges műveleteket.
Presentation pres = new Presentation("AccessSmartArtShape.pptx");
try {
// Bejárjuk az első dián lévő minden alakzatot
for (IShape shape : pres.getSlides().get_Item(0).getShapes())
{
// Ellenőrizzük, hogy az alakzat SmartArt típusú-e
if (shape instanceof ISmartArt)
{
// Átkonvertáljuk az alakzatot SmartArtEx-re
ISmartArt smart = (ISmartArt) shape;
// SmartArt elrendezés ellenőrzése
if (smart.getLayout() == SmartArtLayoutType.BasicBlockList)
{
System.out.println("Do some thing here....");
}
}
}
} finally {
if (pres != null) pres.dispose();
}
SmartArt alakzat stílusának módosítása
Ebben a példában megtanuljuk, hogyan módosítsuk a gyors stílust bármely SmartArt alakzaton.
- Hozzon létre egy példányt a Presentation osztályból, és töltse be a prezentációt SmartArt Shape‑tal.
- Szerezze meg az első dia referenciáját az Index használatával.
- Járja be az első dián lévő minden alakzatot.
- Ellenőrizze, hogy az alakzat SmartArt típusú‑e, és ha igen, konvertálja a kijelölt alakzatot SmartArt‑ra.
- Keresse meg a SmartArt alakzatot a megadott Stílussal.
- Állítsa be az új Stílust a SmartArt alakzatra.
- Mentse a prezentációt.
// Presentation osztály példányosítása
Presentation pres = new Presentation("SimpleSmartArt.pptx");
try {
// Első dia lekérése
ISlide slide = pres.getSlides().get_Item(0);
// Bejárjuk az első dián lévő minden alakzatot
for (IShape shape : slide.getShapes())
{
// Ellenőrizzük, hogy az alakzat SmartArt típusú-e
if (shape instanceof ISmartArt)
{
// Átkonvertáljuk az alakzatot SmartArtEx-re
ISmartArt smart = (ISmartArt) shape;
// SmartArt stílus ellenőrzése
if (smart.getQuickStyle() == SmartArtQuickStyleType.SimpleFill) {
// SmartArt stílusának módosítása
smart.setQuickStyle(SmartArtQuickStyleType.Cartoon);
}
}
}
// Prezentáció mentése
pres.save("ChangeSmartArtStyle.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
![]() |
|---|
| Ábra: SmartArt alakzat módosított Stílussal |
SmartArt alakzat színstílusának módosítása
Ebben a példában megtanuljuk, hogyan változtassuk meg a színstílust bármely SmartArt alakzaton. A következő mintakódban hozzáférünk a SmartArt alakzathoz egy adott színstílussal, és módosítjuk a stílusát.
- Hozzon létre egy példányt a Presentation osztályból, és töltse be a prezentációt SmartArt Shape‑tal.
- Szerezze meg az első dia referenciáját az Index használatával.
- Járja be az első dián lévő minden alakzatot.
- Ellenőrizze, hogy az alakzat SmartArt típusú‑e, és ha igen, konvertálja a kijelölt alakzatot SmartArt‑ra.
- Keresse meg a SmartArt alakzatot a megadott Színstílussal.
- Állítsa be az új Színstílust a SmartArt alakzatra.
- Mentse a prezentációt.
// Presentation osztály példányosítása
Presentation pres = new Presentation("SimpleSmartArt.pptx");
try {
// Első dia lekérése
ISlide slide = pres.getSlides().get_Item(0);
// Bejárjuk az első dián lévő minden alakzatot
for (IShape shape : slide.getShapes())
{
// Ellenőrizzük, hogy az alakzat SmartArt típusú-e
if (shape instanceof ISmartArt)
{
// Átkonvertáljuk az alakzatot SmartArtEx-re
ISmartArt smart = (ISmartArt) shape;
// SmartArt szín típusának ellenőrzése
if (smart.getColorStyle() == SmartArtColorType.ColoredFillAccent1) {
// SmartArt szín típusának módosítása
smart.setColorStyle(SmartArtColorType.ColorfulAccentColors);
}
}
}
// Prezentáció mentése
pres.save("ChangeSmartArtColorStyle.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
![]() |
|---|
| Ábra: SmartArt alakzat módosított Színstílussal |
GYIK
Animálhatom a SmartArt‑ot egyetlen objektumként?
Igen. A SmartArt egy alakzat, így a standard animációkat alkalmazhatja az animációs API‑n keresztül (belépés, kilépés, hangsúly, mozgási pályák), akárcsak más alakzatoknál.
Hogyan találhatok meg egy adott SmartArt‑ot egy dián, ha nem ismerem a belső azonosítóját?
Állítsa be és használja a Alternatív szöveget (AltText), ezután keresse meg az alakzatot ezzel az értékkel – ez a javasolt módja a cél alakzat megtalálásának.
Csoportosíthatom a SmartArt‑ot más alakzatokkal?
Igen. A SmartArt‑ot csoportosíthatja más alakzatokkal (képek, táblázatok stb.), majd manipulálhatja a csoportot.
Hogyan kapok képet egy adott SmartArt‑ról (pl. előnézethez vagy jelentéshez)?
Exportáljon egy miniatűr képet/thumbnail‑t az alakzatról; a könyvtár képes egyes alakzatok renderelésére raszteres fájlokba (PNG/JPG/TIFF).
Megmarad a SmartArt megjelenése, ha a teljes prezentációt PDF‑be konvertáljuk?
Igen. A renderelő motor magas pontosságra törekszik a PDF export során, különböző minőség‑ és kompatibilitási beállításokkal.

