SmartArt grafikák kezelése prezentációkban JavaScript használatával
Áttekintés
Aspose.Slides lehetővé teszi, hogy programozott módon hozzon létre és kezeljen SmartArt grafikákat PowerPoint‑prezentációkban. Ez a cikk bemutatja, hogyan adhat hozzá egy SmartArt alakzatot egy diára, hogyan érheti el a meglévő SmartArt alakzatokat, hogyan találhat meg egy SmartArt‑ot egy adott elrendezéstípus alapján, és hogyan frissítheti megjelenését a SmartArt stílus vagy színstílus módosításával.
A példák bemutatják, hogyan dolgozhat a SmartArt alakzatokkal a prezentáció dia alakzatgyűjteményén keresztül, hogyan ellenőrizheti, hogy egy alakzat SmartArt-e, majd módosíthatja vagy ellenőrizheti annak tulajdonságait.
SmartArt alakzat létrehozása
Aspose.Slides for Node.js via Java API-t biztosít a SmartArt alakzatok létrehozásához. Egy 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 hivatkozását az Index használatával.
- SmartArt alakzat hozzáadása 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
var pres = new aspose.slides.Presentation();
try {
// Első dia lekérése
var slide = pres.getSlides().get_Item(0);
// Smart Art alakzat hozzáadása
var smart = slide.getShapes().addSmartArt(0, 0, 400, 400, aspose.slides.SmartArtLayoutType.BasicBlockList);
// Prezentáció mentése
pres.save("SimpleSmartArt.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
![]() |
|---|
| Ábra: SmartArt alakzat hozzáadva a diára |
SmartArt alakzat elérése a dián
A következő kódot a prezentáció diáján 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 SmartArt példánnyá.
// A kívánt prezentáció betöltése
var pres = new aspose.slides.Presentation("AccessSmartArtShape.pptx");
try {
// Az első dia minden alakzatának bejárása
for (let i = 0; i < pres.getSlides().get_Item(0).getShapes().size(); i++) {
let shape = pres.getSlides().get_Item(0).getShapes().get_Item(i);
// Ellenőrizze, hogy az alakzat SmartArt típusú-e
if (java.instanceOf(shape, "com.aspose.slides.ISmartArt")) {
// Az alakzat átkonvertálása SmartArtEx típusra
var smart = shape;
console.log("Shape Name:" + smart.getName());
}
}
} finally {
if (pres != null) {
pres.dispose();
}
}
SmartArt alakzat elérése egy adott elrendezéstípussal
A következő példakód segít elérni a SmartArt alakzatot egy adott LayoutType használatával. Kérjük, vegye figyelembe, hogy a SmartArt LayoutType-ját nem lehet módosítani, mivel csak olvasható, és csak a SmartArt alakzat hozzáadásakor állítható 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 hivatkozását az Index használatával.
- Járja be az első dia minden alakzatát.
- Ellenőrizze, hogy az alakzat SmartArt típusú-e, és ha igen, konvertálja a kiválasztott alakzatot SmartArt példánnyá.
- Ellenőrizze a SmartArt alakzatot az adott LayoutType használatával, és végezze el a szükséges lépéseket.
var pres = new aspose.slides.Presentation("AccessSmartArtShape.pptx");
try {
// Az első dia minden alakzatának bejárása
for (let i = 0; i < pres.getSlides().get_Item(0).getShapes().size(); i++) {
let shape = pres.getSlides().get_Item(0).getShapes().get_Item(i);
// Ellenőrizze, hogy az alakzat SmartArt típusú-e
if (java.instanceOf(shape, "com.aspose.slides.ISmartArt")) {
// Az alakzat átkonvertálása SmartArtEx típusra
var smart = shape;
// SmartArt elrendezés ellenőrzése
if (smart.getLayout() == aspose.slides.SmartArtLayoutType.BasicBlockList) {
console.log("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 alakzatnál.
- 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 hivatkozását az Index használatával.
- Járja be az első dia minden alakzatát.
- Ellenőrizze, hogy az alakzat SmartArt típusú-e, és ha igen, konvertálja a kiválasztott alakzatot SmartArt példánnyá.
- 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
var pres = new aspose.slides.Presentation("SimpleSmartArt.pptx");
try {
// Első dia lekérése
var slide = pres.getSlides().get_Item(0);
// Az első dia minden alakzatának bejárása
for (let i = 0; i < slide.getShapes().size(); i++) {
let shape = slide.getShapes().get_Item(i);
// Ellenőrizze, hogy az alakzat SmartArt típusú-e
if (java.instanceOf(shape, "com.aspose.slides.ISmartArt")) {
// Az alakzat átkonvertálása SmartArtEx típusra
var smart = shape;
// SmartArt stílus ellenőrzése
if (smart.getQuickStyle() == aspose.slides.SmartArtQuickStyleType.SimpleFill) {
// SmartArt stílusának módosítása
smart.setQuickStyle(aspose.slides.SmartArtQuickStyleType.Cartoon);
}
}
}
// Prezentáció mentése
pres.save("ChangeSmartArtStyle.pptx", aspose.slides.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 módosítsuk a színstílust bármely SmartArt alakzatnál. A következő példakódban hozzáférünk a SmartArt alakzathoz egy adott színstílussal, és megváltoztatjuk annak stílusát.
- 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 hivatkozását az Index használatával.
- Járja be az első dia minden alakzatát.
- Ellenőrizze, hogy az alakzat SmartArt típusú-e, és ha igen, konvertálja a kiválasztott alakzatot SmartArt példánnyá.
- 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
var pres = new aspose.slides.Presentation("SimpleSmartArt.pptx");
try {
// Első dia lekérése
var slide = pres.getSlides().get_Item(0);
// Az első dia minden alakzatának bejárása
for (let i = 0; i < slide.getShapes().size(); i++) {
let shape = slide.getShapes().get_Item(i);
// Ellenőrizze, hogy az alakzat SmartArt típusú-e
if (java.instanceOf(shape, "com.aspose.slides.ISmartArt")) {
// Az alakzat átkonvertálása SmartArtEx típusra
var smart = shape;
// SmartArt szín típusának ellenőrzése
if (smart.getColorStyle() == aspose.slides.SmartArtColorType.ColoredFillAccent1) {
// SmartArt szín típusának módosítása
smart.setColorStyle(aspose.slides.SmartArtColorType.ColorfulAccentColors);
}
}
}
// Prezentáció mentése
pres.save("ChangeSmartArtColorStyle.pptx", aspose.slides.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 animations API segítségével (bevezető, kilépő, hangsúlyos, mozgási útvonal) ugyanúgy alkalmazható, mint más alakzatokra.
Hogyan találhatok meg egy konkrét SmartArt-ot a dián, ha nem ismerem annak belső azonosítóját?
Állítsa be és használja az Alternatív Szöveget (AltText), majd keresse meg az alakzatot ezen az értéken — 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 konkrét SmartArt-ról (pl. előnézethez vagy jelentéshez)?
Exportáljon egy bélyegképet/képet az alakzatról; a könyvtár képes render individual shapes raszteres fájlokba (PNG/JPG/TIFF) konvertálni.
Megmarad a SmartArt megjelenése, ha az egész prezentációt PDF-be konvertálom?
Igen. A renderelő motor a magas pontosságot célozza a PDF export során, különféle minőség- és kompatibilitási beállításokkal.

