Beheer SmartArt‑grafieken in presentaties op Android
Overzicht
Aspose.Slides stelt je in staat om programmatically SmartArt‑grafieken te maken en te beheren in PowerPoint‑presentaties. Dit artikel legt uit hoe je een SmartArt‑vorm aan een dia toevoegt, bestaande SmartArt‑vormen benadert, SmartArt vindt op basis van een specifiek layouttype en het visuele uiterlijk bijwerkt door de SmartArt‑stijl of kleurstijl te wijzigen.
De voorbeelden laten zien hoe je met SmartArt‑vormen werkt via de vormverzameling van de presentatiedia, controleert of een vorm SmartArt is en vervolgens de eigenschappen wijzigt of inspecteert.
Een SmartArt‑vorm maken
Aspose.Slides voor Android via Java biedt een API om SmartArt‑vormen te maken. Volg de onderstaande stappen om een SmartArt‑vorm in een dia te maken:
- Maak een instantie van de Presentatie‑klasse.
- Verkrijg de referentie van een dia door de index ervan te gebruiken.
- Voeg een SmartArt‑vorm toe door de LayoutType in te stellen.
- Sla de gewijzigde presentatie op als een PPTX‑bestand.
// Instantieer Presentatie‑klasse
Presentation pres = new Presentation();
try {
// Krijg eerste dia
ISlide slide = pres.getSlides().get_Item(0);
// Voeg Smart Art‑vorm toe
ISmartArt smart = slide.getShapes().addSmartArt(0, 0, 400, 400, SmartArtLayoutType.BasicBlockList);
// Sla presentatie op
pres.save("SimpleSmartArt.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
![]() |
|---|
| Figuur: SmartArt‑vorm toegevoegd aan de dia |
Een SmartArt‑vorm op een dia benaderen
De volgende code wordt gebruikt om de SmartArt‑vormen die aan een presentatiedia zijn toegevoegd te benaderen. In de voorbeeldcode lopen we door elke vorm in de dia en controleren we of het een SmartArt‑vorm is. Als de vorm van het type SmartArt is, casten we deze naar een SmartArt‑instantie.
// Laad de gewenste presentatie
Presentation pres = new Presentation("AccessSmartArtShape.pptx");
try {
// Loop door elke vorm in de eerste dia
for (IShape shape : pres.getSlides().get_Item(0).getShapes())
{
// Controleer of de vorm van het type SmartArt is
if (shape instanceof ISmartArt)
{
// Cast vorm naar SmartArtEx
ISmartArt smart = (ISmartArt)shape;
System.out.println("Shape Name:" + smart.getName());
}
}
} finally {
if (pres != null) pres.dispose();
}
Een SmartArt‑vorm met een bepaald layouttype benaderen
De volgende voorbeeldcode helpt om de SmartArt‑vorm met een specifiek LayoutType te benaderen. Let op dat je het LayoutType van de SmartArt niet kunt wijzigen; het is alleen-lezen en wordt ingesteld wanneer de SmartArt‑vorm wordt toegevoegd.
- Maak een instantie van de Presentatie‑klasse en laad de presentatie met de SmartArt‑vorm.
- Verkrijg de referentie van de eerste dia door de index ervan te gebruiken.
- Loop door elke vorm in de eerste dia.
- Controleer of de vorm van het type SmartArt is en cast de geselecteerde vorm naar SmartArt wanneer dat het geval is.
- Controleer de SmartArt‑vorm met het specifieke LayoutType en voer de benodigde acties uit.
Presentation pres = new Presentation("AccessSmartArtShape.pptx");
try {
// Loop door elke vorm in de eerste dia
for (IShape shape : pres.getSlides().get_Item(0).getShapes())
{
// Controleer of de vorm van het type SmartArt is
if (shape instanceof ISmartArt)
{
// Cast de vorm naar SmartArtEx
ISmartArt smart = (ISmartArt) shape;
// Controle van SmartArt layout
if (smart.getLayout() == SmartArtLayoutType.BasicBlockList)
{
System.out.println("Do some thing here....");
}
}
}
} finally {
if (pres != null) pres.dispose();
}
Stijl van een SmartArt‑vorm wijzigen
In dit voorbeeld leren we de snelle stijl van een willekeurige SmartArt‑vorm te wijzigen.
- Maak een instantie van de Presentatie‑klasse en laad de presentatie met de SmartArt‑vorm.
- Verkrijg de referentie van de eerste dia door de index ervan te gebruiken.
- Loop door elke vorm in de eerste dia.
- Controleer of de vorm van het type SmartArt is en cast de geselecteerde vorm naar SmartArt wanneer dat het geval is.
- Zoek de SmartArt‑vorm met de gewenste stijl.
- Stel de nieuwe stijl in voor de SmartArt‑vorm.
- Sla de presentatie op.
// Instantieer Presentatie‑klasse
Presentation pres = new Presentation("SimpleSmartArt.pptx");
try {
// Haal eerste dia op
ISlide slide = pres.getSlides().get_Item(0);
// Loop door elke vorm in de eerste dia
for (IShape shape : slide.getShapes())
{
// Controleer of de vorm van het type SmartArt is
if (shape instanceof ISmartArt)
{
// Cast vorm naar SmartArtEx
ISmartArt smart = (ISmartArt) shape;
// Controle van SmartArt‑stijl
if (smart.getQuickStyle() == SmartArtQuickStyleType.SimpleFill) {
// Wijzig SmartArt‑stijl
smart.setQuickStyle(SmartArtQuickStyleType.Cartoon);
}
}
}
// Sla presentatie op
pres.save("ChangeSmartArtStyle.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
![]() |
|---|
| Figuur: SmartArt‑vorm met gewijzigde stijl |
Kleurstijl van een SmartArt‑vorm wijzigen
In dit voorbeeld leren we de kleurstijl van een willekeurige SmartArt‑vorm te wijzigen. In de onderstaande voorbeeldcode wordt de SmartArt‑vorm met een specifieke kleurstijl benaderd en wordt de stijl aangepast.
- Maak een instantie van de Presentatie‑klasse en laad de presentatie met de SmartArt‑vorm.
- Verkrijg de referentie van de eerste dia door de index ervan te gebruiken.
- Loop door elke vorm in de eerste dia.
- Controleer of de vorm van het type SmartArt is en cast de geselecteerde vorm naar SmartArt wanneer dat het geval is.
- Zoek de SmartArt‑vorm met de gewenste kleurstijl.
- Stel de nieuwe kleurstijl in voor de SmartArt‑vorm.
- Sla de presentatie op.
// Instantieer Presentatie-klasse
Presentation pres = new Presentation("SimpleSmartArt.pptx");
try {
// Haal eerste dia op
ISlide slide = pres.getSlides().get_Item(0);
// Loop door elke vorm in de eerste dia
for (IShape shape : slide.getShapes())
{
// Controleer of de vorm van het type SmartArt is
if (shape instanceof ISmartArt)
{
// Cast vorm naar SmartArtEx
ISmartArt smart = (ISmartArt) shape;
// Controle van SmartArt kleurtype
if (smart.getColorStyle() == SmartArtColorType.ColoredFillAccent1) {
// Wijzig SmartArt kleurtype
smart.setColorStyle(SmartArtColorType.ColorfulAccentColors);
}
}
}
// Sla presentatie op
pres.save("ChangeSmartArtColorStyle.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
![]() |
|---|
| Figuur: SmartArt‑vorm met gewijzigde kleurstijl |
FAQ
Kan ik SmartArt animeren als één enkel object?
Ja. SmartArt is een vorm, dus je kunt standaardanimaties toepassen via de animatie‑API (invoer, uitgang, nadruk, bewegingspaden) net als bij andere vormen.
Hoe vind ik een specifieke SmartArt op een dia als ik de interne ID niet ken?
Stel de Alternatieve Tekst (AltText) in en zoek de vorm op basis daarvan – dit wordt aanbevolen om de gewenste vorm te lokaliseren.
Kan ik SmartArt groeperen met andere vormen?
Ja. Je kunt SmartArt groeperen met andere vormen (afbeeldingen, tabellen, enz.) en vervolgens de groep manipuleren.
Hoe krijg ik een afbeelding van een specifieke SmartArt (bijvoorbeeld voor een preview of rapport)?
Exporteer een miniatuur/afbeelding van de vorm; de bibliotheek kan individuele vormen renderen naar rasterbestanden (PNG/JPG/TIFF).
Wordt het uiterlijk van SmartArt behouden bij het converteren van de volledige presentatie naar PDF?
Ja. De renderengine streeft naar hoge getrouwheid voor PDF‑export, met een reeks kwaliteit‑ en compatibiliteitsopties.

