Vytvoření prohlížeče prezentací pro Android
Úvod
Aspose.Slides pro Android přes Java se používá k vytváření souborů prezentací s snímky. Tyto snímky lze zobrazit otevřením prezentace v Microsoft PowerPointu, například. Někdy však vývojáři potřebují zobrazit snímky jako obrázky ve svém preferovaném prohlížeči obrázků nebo vytvořit vlastní prohlížeč prezentací. V takových případech umožňuje Aspose.Slides exportovat jednotlivý snímek jako obrázek. Tento článek popisuje, jak na to.
Vytvoření SVG obrázku ze snímku
Chcete-li vygenerovat SVG obrázek ze snímku prezentace pomocí Aspose.Slides, postupujte podle následujících kroků:
- Vytvořte instanci třídy Presentation .
- Získejte odkaz na snímek podle jeho indexu.
- Otevřete souborový stream.
- Uložte snímek jako SVG obrázek do souborového streamu.
int slideIndex = 0;
Presentation presentation = new Presentation("sample.pptx");
ISlide slide = presentation.getSlides().get_Item(slideIndex);
FileOutputStream svgStream = new FileOutputStream("output.svg");
slide.writeAsSvg(svgStream);
svgStream.close();
presentation.dispose();
Vytvoření SVG s vlastním ID tvaru
Aspose.Slides lze použít k vygenerování SVG ze snímku s vlastním ID tvaru. K tomu použijte metodu setId z ISvgShape. CustomSvgShapeFormattingController lze použít k nastavení ID tvaru.
int slideIndex = 0;
Presentation presentation = new Presentation("sample.pptx");
ISlide slide = presentation.getSlides().get_Item(slideIndex);
SVGOptions svgOptions = new SVGOptions();
svgOptions.setShapeFormattingController(new CustomSvgShapeFormattingController());
FileOutputStream svgStream = new FileOutputStream("output.svg");
slide.writeAsSvg(svgStream, svgOptions);
svgStream.close();
presentation.dispose();
class CustomSvgShapeFormattingController implements ISvgShapeFormattingController
{
private int m_shapeIndex;
public CustomSvgShapeFormattingController()
{
m_shapeIndex = 0;
}
public CustomSvgShapeFormattingController(int shapeStartIndex)
{
m_shapeIndex = shapeStartIndex;
}
public void formatShape(ISvgShape svgShape, IShape shape)
{
svgShape.setId(String.format("shape-%d", m_shapeIndex++));
}
}
Vytvoření miniatury snímku
Aspose.Slides vám pomáhá generovat miniatury obrázků snímků. Chcete-li vygenerovat miniaturu snímku pomocí Aspose.Slides, postupujte podle následujících kroků:
- Vytvořte instanci třídy Presentation .
- Získejte odkaz na snímek podle jeho indexu.
- Získejte miniaturu obrázku odkazovaného snímku v definovaném měřítku.
- Uložte miniaturu obrázku v libovolném požadovaném formátu.
int slideIndex = 0;
float scaleX = 1;
float scaleY = scaleX;
Presentation presentation = new Presentation("sample.pptx");
ISlide slide = presentation.getSlides().get_Item(slideIndex);
IImage image = slide.getImage(scaleX, scaleY);
image.save("output.jpg", ImageFormat.Jpeg);
image.dispose();
presentation.dispose();
Vytvoření miniatury snímku s uživatelem definovanými rozměry
Chcete-li vytvořit miniaturu snímku s uživatelem definovanými rozměry, postupujte podle následujících kroků:
- Vytvořte instanci třídy Presentation .
- Získejte odkaz na snímek podle jeho indexu.
- Získejte miniaturu obrázku odkazovaného snímku s definovanými rozměry.
- Uložte miniaturu obrázku v libovolném požadovaném formátu.
int slideIndex = 0;
Size slideSize = new Size(1200, 800);
Presentation presentation = new Presentation("sample.pptx");
ISlide slide = presentation.getSlides().get_Item(slideIndex);
IImage image = slide.getImage(slideSize);
image.save("output.jpg", ImageFormat.Jpeg);
image.dispose();
presentation.dispose();
Vytvoření miniatury snímku s poznámkami řečníka
Chcete-li vygenerovat miniaturu snímku s poznámkami řečníka pomocí Aspose.Slides, postupujte podle následujících kroků:
- Vytvořte instanci třídy RenderingOptions .
- Použijte metodu
RenderingOptions.setSlidesLayoutOptionsk nastavení umístění poznámek řečníka. - Vytvořte instanci třídy Presentation .
- Získejte odkaz na snímek podle jeho indexu.
- Získejte miniaturu obrázku odkazovaného snímku s možnostmi vykreslování.
- Uložte miniaturu obrázku v libovolném požadovaném formátu.
int slideIndex = 0;
NotesCommentsLayoutingOptions layoutingOptions = new NotesCommentsLayoutingOptions();
layoutingOptions.setNotesPosition(NotesPositions.BottomTruncated);
RenderingOptions renderingOptions = new RenderingOptions();
renderingOptions.setSlidesLayoutOptions(layoutingOptions);
Presentation presentation = new Presentation("sample.pptx");
ISlide slide = presentation.getSlides().get_Item(slideIndex);
IImage image = slide.getImage(renderingOptions);
image.save("output.png", ImageFormat.Png);
image.dispose();
presentation.dispose();
Ukázkový příklad
Můžete vyzkoušet bezplatnou aplikaci Aspose.Slides Viewer a zjistit, co můžete implementovat pomocí Aspose.Slides API:

Často kladené otázky
Mohu vložit prohlížeč prezentací do webové aplikace?
Ano. Můžete použít Aspose.Slides na straně serveru k vykreslování snímků jako obrázků nebo HTML a zobrazit je v prohlížeči. Navigaci a funkce přiblížení lze implementovat pomocí JavaScriptu pro interaktivní zážitek.
Jaký je nejlepší způsob, jak zobrazit snímky v vlastním prohlížeči?
Doporučený postup je vykreslit každý snímek jako obrázek (např. PNG nebo SVG) nebo jej převést na HTML pomocí Aspose.Slides a poté výstup zobrazit v obrazovém rámečku (pro desktop) nebo v HTML kontejneru (pro web).
Jak zacházet s velkými prezentacemi s mnoha snímky?
U velkých prezentací zvažte lazy-loading nebo vykreslování snímků na požádání. To znamená generovat obsah snímku pouze tehdy, když do něj uživatel přejde, což snižuje paměťovou náročnost a dobu načítání.