SmartArt grafika kezelése prezentációkban Java használatával

Áttekintés

Az Aspose.Slides lehetővé teszi, hogy programozott módon hozzon létre és kezeljen SmartArt grafikákat PowerPoint‑prezentációkban. Ebben a cikkben bemutatjuk, hogyan lehet SmartArt alakzatot hozzáadni egy diára, elérni a meglévő SmartArt alakzatokat, megtalálni a SmartArtot egy adott elrendezéstípus szerint, és frissíteni a megjelenését a SmartArt stílus vagy színstílus megváltoztatásával.

Az példák bemutatják, hogyan dolgozhatunk SmartArt alakzatokkal a prezentáció diájának alakzatgyűjteményén keresztül, hogyan ellenőrizhetjük, hogy egy alakzat SmartArt‑e, majd módosíthatjuk vagy vizsgálhatjuk meg annak tulajdonságait.

SmartArt alakzat létrehozása

Az Aspose.Slides for Java biztosítja az API‑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:

  1. Hozzon létre egy példányt a Presentation osztályból.
  2. Szerezze meg egy dia referenciáját az Index használatával.
  3. SmartArt alakzat hozzáadása a Elrendezéstípus beállításával.
  4. Mentse a módosított prezentációt PPTX fájlként.
// Példányosítsa a Presentation osztályt
Presentation pres = new Presentation();
try {
    // Szerezze meg az első diát
    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();
}
todo:image_alt_text
Ábra: SmartArt alakzat hozzáadva a diára

SmartArt alakzat elérése egy dián

Az alábbi kód a prezentáció diájára hozzáadott SmartArt alakzatok elérésére szolgál. A mintakódban végigjárjuk a dia minden alakzatát, és ellenőrizni fogjuk, hogy egy alakzat SmartArt típusú‑e. Ha igen, akkor a SmartArt példányra konvertáljuk.

// Töltse be a kívánt prezentációt
Presentation pres = new Presentation("AccessSmartArtShape.pptx");
try {
    // Járja be az első dia minden alakzatát
    for (IShape shape : pres.getSlides().get_Item(0).getShapes())
    {
        // Ellenőrizze, hogy az alakzat SmartArt típusú-e
        if (shape instanceof ISmartArt)
        {
            // Alakzat típuskonvertálása SmartArtEx-re
            ISmartArt smart = (ISmartArt)shape;
            System.out.println("Shape Name:" + smart.getName());
        }
    }
} finally {
    if (pres != null) pres.dispose();
}

SmartArt alakzat elérése egy adott elrendezéstípussal

Az alábbi mintakód segít hozzáférni a SmartArt alakzathoz egy adott Elrendezéstípussal. Kérjük, vegye figyelembe, hogy a SmartArt Elrendezéstípusa nem módosítható, mivel csak olvasható, és csak a SmartArt alakzat hozzáadásakor állítódik be.

  1. Hozzon létre egy példányt a Presentation osztályból, és töltse be a prezentációt SmartArt alakzattal.
  2. Szerezze meg az első dia referenciáját az Index használatával.
  3. Járja be az első dia minden alakzatát.
  4. Ellenőrizze, hogy az alakzat [SmartArt] típusú‑e, és ha igen, akkor alakítsa át a kijelölt alakzatot SmartArt‑ra.
  5. Ellenőrizze a SmartArt alakzatot a megadott Elrendezéstípussal, és hajtsa végre a szükséges műveleteket azt követően.
Presentation pres = new Presentation("AccessSmartArtShape.pptx");
try {
    // Járja be az első dia minden alakzatát
    for (IShape shape : pres.getSlides().get_Item(0).getShapes())
    {
        // Ellenőrizze, hogy az alakzat SmartArt típusú-e
        if (shape instanceof ISmartArt)
        {
            // Alakzat típuskonvertálása 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 változtassuk meg a gyors stílust egy SmartArt alakzaton.

  1. Hozzon létre egy példányt a Presentation osztályból, és töltse be a prezentációt SmartArt alakzattal.
  2. Szerezze meg az első dia referenciáját az Index használatával.
  3. Járja be az első dia minden alakzatát.
  4. Ellenőrizze, hogy az alakzat [SmartArt] típusú‑e, és ha igen, akkor alakítsa át a kijelölt alakzatot SmartArt‑ra.
  5. Keresse meg a SmartArt alakzatot a megadott Stílussal.
  6. Állítsa be az új Stílust a SmartArt alakzatra.
  7. 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);
    
    // Az első dia minden alakzatát bejárja
    for (IShape shape : slide.getShapes()) 
    {
        // Ellenőrizze, hogy az alakzat SmartArt típusú-e
        if (shape instanceof ISmartArt) 
        {
            // Alakzat típuskonvertálása 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();
}
todo:image_alt_text
Á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 egy SmartArt alakzat színstílusát. A következő mintakódban elérjük a SmartArt alakzatot egy adott színstílussal, és módosítjuk annak stílusát.

  1. Hozzon létre egy példányt a Presentation osztályból, és töltse be a prezentációt SmartArt alakzattal.
  2. Szerezze meg az első dia referenciáját az Index használatával.
  3. Járja be az első dia minden alakzatát.
  4. Ellenőrizze, hogy az alakzat [SmartArt] típusú‑e, és ha igen, akkor alakítsa át a kijelölt alakzatot SmartArt‑ra.
  5. Keresse meg a SmartArt alakzatot a megadott Színstílussal.
  6. Állítsa be az új Színstílust a SmartArt alakzatra.
  7. 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);
    
    // Az első dia minden alakzatát bejárja
    for (IShape shape : slide.getShapes()) 
    {
        // Ellenőrizze, hogy az alakzat SmartArt típusú-e
        if (shape instanceof ISmartArt) 
        {
            // Alakzat típuskonvertálása SmartArtEx-re
            ISmartArt smart = (ISmartArt) shape;
    
            // SmartArt szín típus 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();
}
todo:image_alt_text
Ábra: SmartArt alakzat módosított Színstílussal

GYIK

Animálhatom a SmartArtot egyetlen objektumként?

Igen. A SmartArt egy alakzat, ezért a standard animációkat alkalmazhatja az animációs API‑val (belépés, kilépés, hangsúlyozás, mozgási útvonalak), akárcsak más alakzatoknál.

Hogyan találhatok meg egy adott SmartArtot a dián, ha nem ismerem a belső ID‑jét?

Állítsa be és használja az alternatív szöveget (AltText), majd keresse az alakzatot ezen az értéken – ez a javasolt módszer a cél alakzat megtalálására.

Csoportosíthatom a SmartArtot más alakzatokkal?

Igen. A SmartArtot csoportosíthatja más alakzatokkal (képek, táblázatok stb.), majd manipulálhatja a csoportot.

Hogyan szerezhetek képet egy adott SmartArtról (pl. előnézethez vagy jelentéshez)?

Exportáljon egy bélyegkép/képet az alakzatról; a könyvtár képes egyedi alakzatok renderelésére raszteres fájlokba (PNG/JPG/TIFF).

Megmarad a SmartArt megjelenése, ha az egész prezentációt PDF‑be konvertáljuk?

Igen. A renderelő motor a magas hűségre törekszik a PDF export során, különböző minőség- és kompatibilitási beállításokkal.