Spravujte grafiku SmartArt v prezentacích v .NET
Přehled
Aspose.Slides vám umožňuje programově vytvářet a spravovat grafiku SmartArt v prezentacích PowerPoint. Č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 vizuální 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 následně upravit nebo zkontrolovat jeho vlastnosti.
Vytvořit tvar SmartArt
Aspose.Slides pro .NET nyní usnadňuje přidávat vlastní tvary SmartArt do svých snímků od nuly. Aspose.Slides pro .NET poskytl nejjednodušší API pro vytváření tvarů SmartArt nejjednodušším způsobem. Chcete-li vytvořit tvar SmartArt ve snímku, postupujte podle následujících kroků:
- Vytvořte instanci třídy Presentation.
- Získejte referenci na snímek pomocí jeho Indexu.
- Přidejte tvar SmartArt nastavením jeho LayoutType.
- Uložte upravenou prezentaci jako soubor PPTX.
// Vytvořte instanci prezentace
using (Presentation pres = new Presentation())
{
// Přístup k snímku prezentace
ISlide slide = pres.Slides[0];
// Přidat tvar SmartArt
ISmartArt smart = slide.Shapes.AddSmartArt(0, 0, 400, 400, SmartArtLayoutType.BasicBlockList);
// Ukládání prezentace
pres.Save("SimpleSmartArt_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}
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řevedeme jej na instanci SmartArt.
// Načtěte požadovanou prezentaci
using (Presentation pres = new Presentation("AccessSmartArtShape.pptx"))
{
// Procházejte každý tvar v prvním snímku
foreach (IShape shape in pres.Slides[0].Shapes)
{
// Zkontrolujte, zda je tvar typu SmartArt
if (shape is ISmartArt)
{
// Přetypujte tvar na SmartArtEx
ISmartArt smart = (ISmartArt)shape;
System.Console.WriteLine("Shape Name:" + smart.Name);
}
}
}
Přístup k tvaru SmartArt s konkrétním typem rozvržení
Následující ukázkový kód pomůže přistupovat k tvaru SmartArt s konkrétním LayoutType. Všimněte si, že LayoutType SmartArt nelze změnit, protože je pouze pro čtení a je nastaven pouze při přidání tvaru SmartArt.
- Vytvořte instanci třídy
Presentationa načtěte prezentaci s tvarem SmartArt. - Získejte referenci na první snímek pomocí jeho Indexu.
- Projděte každý tvar uvnitř prvního snímku.
- Zkontrolujte, zda je tvar typu SmartArt, a pokud ano, přetypujte vybraný tvar na SmartArt.
- Zkontrolujte tvar SmartArt s konkrétním LayoutType a proveďte požadované operace.
using (Presentation presentation = new Presentation("AccessSmartArtShape.pptx"))
{
// Procházet každý tvar v prvním snímku
foreach (IShape shape in presentation.Slides[0].Shapes)
{
// Zkontrolujte, zda je tvar typu SmartArt
if (shape is ISmartArt)
{
// Přetypujte tvar na SmartArtEx
ISmartArt smart = (ISmartArt) shape;
// Kontrola rozvržení SmartArt
if (smart.Layout == SmartArtLayoutType.BasicBlockList)
{
Console.WriteLine("Do some thing here....");
}
}
}
}
Změnit styl tvaru SmartArt
Následující ukázkový kód pomůže přistupovat k tvaru SmartArt s konkrétním LayoutType.
- Vytvořte instanci třídy
Presentationa načtěte prezentaci s tvarem SmartArt. - Získejte referenci na první snímek pomocí jeho Indexu.
- Projděte každý tvar uvnitř prvního snímku.
- Zkontrolujte, zda je tvar typu SmartArt, a pokud ano, přetypujte vybraný tvar na SmartArt.
- Najděte tvar SmartArt s konkrétním Style.
- Nastavte nový Style pro tvar SmartArt.
- Uložte prezentaci.
using (Presentation presentation = new Presentation("AccessSmartArtShape.pptx"))
{
// Procházet každý tvar v prvním snímku
foreach (IShape shape in presentation.Slides[0].Shapes)
{
// Zkontrolujte, zda je tvar typu SmartArt
if (shape is ISmartArt)
{
// Přetypujte tvar na SmartArtEx
ISmartArt smart = (ISmartArt)shape;
// Kontrola stylu SmartArt
if (smart.QuickStyle == SmartArtQuickStyleType.SimpleFill)
{
// Změna stylu SmartArt
smart.QuickStyle = SmartArtQuickStyleType.Cartoon;
}
}
}
// Ukládání prezentace
presentation.Save("ChangeSmartArtStyle_out.pptx", SaveFormat.Pptx);
}
Změnit barevný styl tvaru SmartArt
V tomto příkladu se naučíme měnit barevný styl libovolného tvaru SmartArt. V následujícím ukázkovém kódu přistoupíme k tvaru SmartArt s konkrétním barevným stylem a změníme jej.
- Vytvořte instanci třídy
Presentationa načtěte prezentaci s tvarem SmartArt. - Získejte referenci na první snímek pomocí jeho Indexu.
- Projděte každý tvar uvnitř prvního snímku.
- Zkontrolujte, zda je tvar typu SmartArt, a pokud ano, přetypujte vybraný tvar na SmartArt.
- Najděte tvar SmartArt s konkrétním Color Style.
- Nastavte nový Color Style pro tvar SmartArt.
- Uložte prezentaci.
using (Presentation presentation = new Presentation("AccessSmartArtShape.pptx"))
{
// Procházet každý tvar v prvním snímku
foreach (IShape shape in presentation.Slides[0].Shapes)
{
// Zkontrolujte, zda je tvar typu SmartArt
if (shape is ISmartArt)
{
// Přetypujte tvar na SmartArtEx
ISmartArt smart = (ISmartArt)shape;
// Kontrola typu barvy SmartArt
if (smart.ColorStyle == SmartArtColorType.ColoredFillAccent1)
{
// Změna typu barvy SmartArt
smart.ColorStyle = SmartArtColorType.ColorfulAccentColors;
}
}
}
// Ukládání prezentace
presentation.Save("ChangeSmartArtColorStyle_out.pptx", SaveFormat.Pptx);
}
Často kladené otázky
Mohu animovat SmartArt jako jediný objekt?
Ano. SmartArt je tvar, takže můžete pomocí animačního API použít standardní animace (vstup, výstup, zdůraznění, trajektorie pohybu) stejně jako u ostatních tvarů.
Jak mohu najít konkrétní SmartArt na snímku, pokud neznám jeho interní ID?
Nastavte a použijte alternativní text (AltText) a vyhledejte tvar podle této hodnoty – je to doporučený způsob, jak najít cílový tvar.
Mohu seskupit SmartArt s jinými tvary?
Ano. Můžete seskupit SmartArt s jinými tvary (obrázky, tabulky atd.) a poté manipulovat se skupinou.
Jak získám obrázek konkrétního SmartArt (např. pro náhled nebo zprávu)?
Exportujte náhled/obrázek tvaru; knihovna může vykreslit 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.