Správa grafiky SmartArt v prezentacích na Androidu
Přehled
Aspose.Slides vám umožňuje programově vytvářet a spravovat grafiku SmartArt v prezentacích PowerPoint. Tento článek vysvětluje, jak přidat tvar SmartArt do snímku, přistupovat k existujícím tvarům SmartArt, najít SmartArt podle konkrétního typu rozvržení a aktualizovat jeho vzhled změnou stylu SmartArt nebo barevného stylu.
Příklady ukazují, jak pracovat s tvary SmartArt prostřednictvím kolekce tvarů snímku prezentace, zkontrolovat, zda je tvar SmartArt, a poté upravit nebo prozkoumat jeho vlastnosti.
Vytvoření tvaru SmartArt
Aspose.Slides for Android via Java poskytuje rozhraní API pro vytváření tvarů SmartArt. Chcete-li vytvořit tvar SmartArt v snímku, postupujte podle následujících kroků:
- Vytvořte instanci třídy Presentation.
- Získejte odkaz na snímek pomocí jeho indexu.
- Přidejte tvar SmartArt nastavením LayoutType.
- Uložte upravenou prezentaci jako soubor PPTX.
// Vytvoření instance třídy Presentation
Presentation pres = new Presentation();
try {
// Získání prvního snímku
ISlide slide = pres.getSlides().get_Item(0);
// Přidání tvaru Smart Art
ISmartArt smart = slide.getShapes().addSmartArt(0, 0, 400, 400, SmartArtLayoutType.BasicBlockList);
// Ukládání prezentace
pres.save("SimpleSmartArt.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
![]() |
|---|
| Obrázek: Tvar SmartArt přidaný do snímku |
Přístup k tvaru SmartArt na snímku
Následující kód bude použit k přístupu k tvarům SmartArt přidaným do snímku prezentace. Ve vzorovém kódu projdeme každý tvar uvnitř snímku a zkontrolujeme, zda se jedná o tvar SmartArt. Pokud je tvar typu SmartArt, přetypujeme jej na instanci SmartArt.
// Načtení požadované prezentace
Presentation pres = new Presentation("AccessSmartArtShape.pptx");
try {
// Procházení každého tvaru v prvním snímku
for (IShape shape : pres.getSlides().get_Item(0).getShapes())
{
// Kontrola, zda je tvar typu SmartArt
if (shape instanceof ISmartArt)
{
// Přetypování tvaru na SmartArtEx
ISmartArt smart = (ISmartArt)shape;
System.out.println("Shape Name:" + smart.getName());
}
}
} finally {
if (pres != null) pres.dispose();
}
Přístup k tvaru SmartArt s konkrétním typem rozvržení
Následující ukázkový kód pomůže získat tvar SmartArt s konkrétním LayoutType. Upozorňujeme, že LayoutType SmartArt nelze měnit, je pouze pro čtení a je nastaven při přidání tvaru SmartArt.
- Vytvořte instanci třídy Presentation a načtěte prezentaci s tvarem SmartArt.
- Získejte odkaz na první snímek pomocí jeho indexu.
- Projděte každý tvar uvnitř prvního snímku.
- Zkontrolujte, zda je tvar typu SmartArt, a přetypujte vybraný tvar na SmartArt, pokud je to SmartArt.
- Zkontrolujte tvar SmartArt s konkrétním LayoutType a proveďte požadované operace.
Presentation pres = new Presentation("AccessSmartArtShape.pptx");
try {
// Procházet všechny tvary v prvním snímku
for (IShape shape : pres.getSlides().get_Item(0).getShapes())
{
// Zkontrolovat, zda je tvar typu SmartArt
if (shape instanceof ISmartArt)
{
// Přetypovat tvar na SmartArtEx
ISmartArt smart = (ISmartArt) shape;
// Kontrola rozvržení SmartArt
if (smart.getLayout() == SmartArtLayoutType.BasicBlockList)
{
System.out.println("Do some thing here....");
}
}
}
} finally {
if (pres != null) pres.dispose();
}
Změna stylu tvaru SmartArt
V tomto příkladu se naučíme změnit rychlý styl libovolného tvaru SmartArt.
- Vytvořte instanci třídy Presentation a načtěte prezentaci s tvarem SmartArt.
- Získejte odkaz na první snímek pomocí jeho indexu.
- Projděte každý tvar uvnitř prvního snímku.
- Zkontrolujte, zda je tvar typu SmartArt, a přetypujte vybraný tvar na SmartArt, pokud je to SmartArt.
- Najděte tvar SmartArt s konkrétním Style.
- Nastavte nový Style pro tvar SmartArt.
- Uložte prezentaci.
// Vytvoření instance třídy Presentation
Presentation pres = new Presentation("SimpleSmartArt.pptx");
try {
// Získání prvního snímku
ISlide slide = pres.getSlides().get_Item(0);
// Procházet všechny tvary v prvním snímku
for (IShape shape : slide.getShapes())
{
// Zkontrolovat, zda je tvar typu SmartArt
if (shape instanceof ISmartArt)
{
// Přetypovat tvar na SmartArtEx
ISmartArt smart = (ISmartArt) shape;
// Kontrola stylu SmartArt
if (smart.getQuickStyle() == SmartArtQuickStyleType.SimpleFill) {
// Změna stylu SmartArt
smart.setQuickStyle(SmartArtQuickStyleType.Cartoon);
}
}
}
// Ukládání prezentace
pres.save("ChangeSmartArtStyle.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
![]() |
|---|
| Obrázek: Tvar SmartArt se změněným stylem |
Změna barevného stylu tvaru SmartArt
V tomto příkladu se naučíme změnit barevný styl libovolného tvaru SmartArt. V následujícím vzorovém kódu získáme tvar SmartArt s konkrétním barevným stylem a změníme jeho styl.
- Vytvořte instanci třídy Presentation a načtěte prezentaci s tvarem SmartArt.
- Získejte odkaz na první snímek pomocí jeho indexu.
- Projděte každý tvar uvnitř prvního snímku.
- Zkontrolujte, zda je tvar typu SmartArt, a přetypujte vybraný tvar na SmartArt, pokud je to SmartArt.
- Najděte tvar SmartArt s konkrétním Color Style.
- Nastavte nový Color Style pro tvar SmartArt.
- Uložte prezentaci.
// Vytvoření instance třídy Presentation
Presentation pres = new Presentation("SimpleSmartArt.pptx");
try {
// Získání prvního snímku
ISlide slide = pres.getSlides().get_Item(0);
// Procházet všechny tvary v prvním snímku
for (IShape shape : slide.getShapes())
{
// Zkontrolovat, zda je tvar typu SmartArt
if (shape instanceof ISmartArt)
{
// Přetypovat tvar na SmartArtEx
ISmartArt smart = (ISmartArt) shape;
// Kontrola typu barvy SmartArt
if (smart.getColorStyle() == SmartArtColorType.ColoredFillAccent1) {
// Změna typu barvy SmartArt
smart.setColorStyle(SmartArtColorType.ColorfulAccentColors);
}
}
}
// Ukládání prezentace
pres.save("ChangeSmartArtColorStyle.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
![]() |
|---|
| Obrázek: Tvar SmartArt se změněným barevným stylem |
Často kladené otázky
Mohu animovat SmartArt jako jediný objekt?
Ano. SmartArt je tvar, takže můžete použít standardní animace prostřednictvím API animací (vstup, výstup, důraz, pohybové cesty) stejně jako u ostatních tvarů.
Jak najdu konkrétní SmartArt na snímku, pokud neznám jeho vnitřní ID?
Nastavte a použijte alternativní text (AltText) a vyhledejte tvar podle této hodnoty — jedná se o doporučený způsob, jak najít cílový tvar.
Mohu seskupit SmartArt s jinými tvary?
Ano. Můžete seskupit SmartArt s dalšími tvary (obrázky, tabulkami apod.) a poté manipulovat se skupinou.
Jak získám obrázek konkrétního SmartArt (například pro náhled nebo zprávu)?
Exportujte miniaturu/obrázek tvaru; knihovna může vyrenderovat jednotlivé tvary do rastrových souborů (PNG/JPG/TIFF).
Zůstane vzhled SmartArt zachován při konverzi celé prezentace do PDF?
Ano. Vykreslovací engine cílí na vysokou věrnost při exportu do PDF, s řadou možností kvality a kompatibility.

