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

  1. Vytvořte instanci třídy Presentation .
  2. Získejte odkaz na snímek podle jeho indexu.
  3. Otevřete souborový stream.
  4. 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ů:

  1. Vytvořte instanci třídy Presentation .
  2. Získejte odkaz na snímek podle jeho indexu.
  3. Získejte miniaturu obrázku odkazovaného snímku v definovaném měřítku.
  4. 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ů:

  1. Vytvořte instanci třídy Presentation .
  2. Získejte odkaz na snímek podle jeho indexu.
  3. Získejte miniaturu obrázku odkazovaného snímku s definovanými rozměry.
  4. 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ů:

  1. Vytvořte instanci třídy RenderingOptions .
  2. Použijte metodu RenderingOptions.setSlidesLayoutOptions k nastavení umístění poznámek řečníka.
  3. Vytvořte instanci třídy Presentation .
  4. Získejte odkaz na snímek podle jeho indexu.
  5. Získejte miniaturu obrázku odkazovaného snímku s možnostmi vykreslování.
  6. 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:

Online PowerPoint Viewer

Č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í.