Zarządzanie grafikami SmartArt w prezentacjach na Androidzie
Przegląd
Aspose.Slides umożliwia programowe tworzenie i zarządzanie grafikami SmartArt w prezentacjach PowerPoint. Ten artykuł wyjaśnia, jak dodać kształt SmartArt do slajdu, uzyskać dostęp do istniejących kształtów SmartArt, znaleźć SmartArt o określonym typie układu oraz zaktualizować jego wygląd, zmieniając styl SmartArt lub styl kolorów.
Przykłady pokazują, jak pracować z kształtami SmartArt za pośrednictwem kolekcji kształtów slajdu prezentacji, sprawdzić, czy kształt jest SmartArt, a następnie modyfikować lub przeglądać jego właściwości.
Utworzenie kształtu SmartArt
Aspose.Slides dla Androida za pośrednictwem Javy udostępnia interfejs API do tworzenia kształtów SmartArt. Aby utworzyć kształt SmartArt na slajdzie, należy postępować zgodnie z poniższymi krokami:
- Utwórz instancję klasy Presentation.
- Uzyskaj referencję do slajdu przy użyciu jego indeksu.
- Dodaj kształt SmartArt ustawiając jego LayoutType.
- Zapisz zmodyfikowaną prezentację jako plik PPTX.
// Utwórz instancję klasy Presentation
Presentation pres = new Presentation();
try {
// Pobierz pierwszy slajd
ISlide slide = pres.getSlides().get_Item(0);
// Dodaj kształt Smart Art
ISmartArt smart = slide.getShapes().addSmartArt(0, 0, 400, 400, SmartArtLayoutType.BasicBlockList);
// Zapisz prezentację
pres.save("SimpleSmartArt.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
![]() |
|---|
| Rysunek: Kształt SmartArt dodany do slajdu |
Dostęp do kształtu SmartArt na slajdzie
Poniższy kod będzie używany do uzyskania dostępu do kształtów SmartArt dodanych w slajdzie prezentacji. W przykładowym kodzie przejdziemy przez każdy kształt wewnątrz slajdu i sprawdzimy, czy jest on kształtem SmartArt. Jeśli kształt jest typu SmartArt, dokonamy rzutowania go na instancję SmartArt.
// Załaduj żądaną prezentację
Presentation pres = new Presentation("AccessSmartArtShape.pptx");
try {
// Przejdź przez każdy kształt w pierwszym slajdzie
for (IShape shape : pres.getSlides().get_Item(0).getShapes())
{
// Sprawdź, czy kształt jest typu SmartArt
if (shape instanceof ISmartArt)
{
// Rzutuj kształt na SmartArtEx
ISmartArt smart = (ISmartArt)shape;
System.out.println("Shape Name:" + smart.getName());
}
}
} finally {
if (pres != null) pres.dispose();
}
Dostęp do kształtu SmartArt o określonym typie układu
Poniższy przykładowy kod pomoże uzyskać dostęp do kształtu SmartArt o określonym LayoutType. Należy zauważyć, że nie można zmienić LayoutType SmartArt, ponieważ jest on tylko do odczytu i jest ustawiany wyłącznie w momencie dodania kształtu SmartArt.
- Utwórz instancję klasy Presentation i wczytaj prezentację zawierającą kształt SmartArt.
- Uzyskaj referencję do pierwszego slajdu przy użyciu jego indeksu.
- Przejdź przez każdy kształt w pierwszym slajdzie.
- Sprawdź, czy kształt jest typu SmartArt, i rzutuj wybrany kształt na SmartArt, jeśli jest SmartArt.
- Sprawdź kształt SmartArt o określonym LayoutType i wykonaj niezbędne działania.
Presentation pres = new Presentation("AccessSmartArtShape.pptx");
try {
// Przejdź przez każdy kształt w pierwszym slajdzie
for (IShape shape : pres.getSlides().get_Item(0).getShapes())
{
// Sprawdź, czy kształt jest typu SmartArt
if (shape instanceof ISmartArt)
{
// Rzutuj kształt na SmartArtEx
ISmartArt smart = (ISmartArt) shape;
// Sprawdzanie układu SmartArt
if (smart.getLayout() == SmartArtLayoutType.BasicBlockList)
{
System.out.println("Do some thing here....");
}
}
}
} finally {
if (pres != null) pres.dispose();
}
Zmiana stylu kształtu SmartArt
W tym przykładzie nauczymy się zmieniać szybki styl dowolnego kształtu SmartArt.
- Utwórz instancję klasy Presentation i wczytaj prezentację zawierającą kształt SmartArt.
- Uzyskaj referencję do pierwszego slajdu przy użyciu jego indeksu.
- Przejdź przez każdy kształt w pierwszym slajdzie.
- Sprawdź, czy kształt jest typu SmartArt, i rzutuj wybrany kształt na SmartArt, jeśli jest SmartArt.
- Znajdź kształt SmartArt o określonym stylu.
- Ustaw nowy styl dla kształtu SmartArt.
- Zapisz prezentację.
// Utwórz instancję klasy Presentation
Presentation pres = new Presentation("SimpleSmartArt.pptx");
try {
// Pobierz pierwszy slajd
ISlide slide = pres.getSlides().get_Item(0);
// Przejdź przez każdy kształt w pierwszym slajdzie
for (IShape shape : slide.getShapes())
{
// Sprawdź, czy kształt jest typu SmartArt
if (shape instanceof ISmartArt)
{
// Rzutuj kształt na SmartArtEx
ISmartArt smart = (ISmartArt) shape;
// Sprawdzanie stylu SmartArt
if (smart.getQuickStyle() == SmartArtQuickStyleType.SimpleFill) {
// Zmienianie stylu SmartArt
smart.setQuickStyle(SmartArtQuickStyleType.Cartoon);
}
}
}
// Zapisywanie prezentacji
pres.save("ChangeSmartArtStyle.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
![]() |
|---|
| Rysunek: Kształt SmartArt ze zmienionym stylem |
Zmiana stylu kolorów kształtu SmartArt
W tym przykładzie nauczymy się zmieniać styl kolorów dowolnego kształtu SmartArt. W poniższym przykładowym kodzie uzyskamy dostęp do kształtu SmartArt o określonym stylu kolorów i zmienimy go.
- Utwórz instancję klasy Presentation i wczytaj prezentację zawierającą kształt SmartArt.
- Uzyskaj referencję do pierwszego slajdu przy użyciu jego indeksu.
- Przejdź przez każdy kształt w pierwszym slajdzie.
- Sprawdź, czy kształt jest typu SmartArt, i rzutuj wybrany kształt na SmartArt, jeśli jest SmartArt.
- Znajdź kształt SmartArt o określonym stylu kolorów.
- Ustaw nowy styl kolorów dla kształtu SmartArt.
- Zapisz prezentację.
// Utwórz instancję klasy Presentation
Presentation pres = new Presentation("SimpleSmartArt.pptx");
try {
// Pobierz pierwszy slajd
ISlide slide = pres.getSlides().get_Item(0);
// Przejdź przez każdy kształt w pierwszym slajdzie
for (IShape shape : slide.getShapes())
{
// Sprawdź, czy kształt jest typu SmartArt
if (shape instanceof ISmartArt)
{
// Rzutuj kształt na SmartArtEx
ISmartArt smart = (ISmartArt) shape;
// Sprawdzanie typu koloru SmartArt
if (smart.getColorStyle() == SmartArtColorType.ColoredFillAccent1) {
// Zmienianie typu koloru SmartArt
smart.setColorStyle(SmartArtColorType.ColorfulAccentColors);
}
}
}
// Zapisywanie prezentacji
pres.save("ChangeSmartArtColorStyle.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
![]() |
|---|
| Rysunek: Kształt SmartArt ze zmienionym stylem kolorów |
FAQ
Czy mogę animować SmartArt jako pojedynczy obiekt?
Tak. SmartArt jest kształtem, więc możesz zastosować standardowe animacje za pomocą API animacji (animacje wejścia, wyjścia, podkreślenia, ścieżki ruchu) tak jak w przypadku innych kształtów.
Jak mogę znaleźć konkretny SmartArt na slajdzie, jeśli nie znam jego wewnętrznego ID?
Ustaw i użyj tekstu alternatywnego (AltText) i wyszukaj kształt po tej wartości — jest to zalecany sposób na zlokalizowanie docelowego kształtu.
Czy mogę grupować SmartArt z innymi kształtami?
Tak. Możesz grupować SmartArt z innymi kształtami (obrazami, tabelami itp.), a następnie manipulować grupą.
Jak uzyskać obraz konkretnego SmartArt (np. do podglądu lub raportu)?
Wyeksportuj miniaturkę/obraz kształtu; biblioteka może renderować pojedyncze kształty do plików rastrowych (PNG/JPG/TIFF).
Czy wygląd SmartArt zostanie zachowany przy konwersji całej prezentacji do PDF?
Tak. Silnik renderujący dąży do wysokiej jakości przy eksportowaniu do PDF, oferując różne opcje jakości i kompatybilności.

