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ů:

  1. Vytvořte instanci třídy Presentation.
  2. Získejte odkaz na snímek pomocí jeho indexu.
  3. Přidejte tvar SmartArt nastavením LayoutType.
  4. 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();
}
todo:image_alt_text
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.

  1. Vytvořte instanci třídy Presentation a načtěte prezentaci s tvarem SmartArt.
  2. Získejte odkaz na první snímek pomocí jeho indexu.
  3. Projděte každý tvar uvnitř prvního snímku.
  4. Zkontrolujte, zda je tvar typu SmartArt, a přetypujte vybraný tvar na SmartArt, pokud je to SmartArt.
  5. 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.

  1. Vytvořte instanci třídy Presentation a načtěte prezentaci s tvarem SmartArt.
  2. Získejte odkaz na první snímek pomocí jeho indexu.
  3. Projděte každý tvar uvnitř prvního snímku.
  4. Zkontrolujte, zda je tvar typu SmartArt, a přetypujte vybraný tvar na SmartArt, pokud je to SmartArt.
  5. Najděte tvar SmartArt s konkrétním Style.
  6. Nastavte nový Style pro tvar SmartArt.
  7. 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();
}
todo:image_alt_text
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.

  1. Vytvořte instanci třídy Presentation a načtěte prezentaci s tvarem SmartArt.
  2. Získejte odkaz na první snímek pomocí jeho indexu.
  3. Projděte každý tvar uvnitř prvního snímku.
  4. Zkontrolujte, zda je tvar typu SmartArt, a přetypujte vybraný tvar na SmartArt, pokud je to SmartArt.
  5. Najděte tvar SmartArt s konkrétním Color Style.
  6. Nastavte nový Color Style pro tvar SmartArt.
  7. 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();
}
todo:image_alt_text
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.