Vytvoření prohlížeče prezentací v Javě
Úvod
Aspose.Slides pro Java se používá k vytváření souborů prezentací se snímky. Tyto snímky lze zobrazit otevřením prezentací například v Microsoft PowerPointu. Někdy však vývojáři mohou potřebovat 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 Aspose.Slides umožňuje exportovat jednotlivý snímek jako obrázek. Tento článek popisuje, jak to provést.
Vygenerovat SVG obrázek ze snímku
Pro vygenerování SVG obrázku ze snímku prezentace pomocí Aspose.Slides postupujte podle níže uvedený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();
Vygenerovat 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řit miniaturu snímku
Aspose.Slides vám pomáhá generovat miniatury snímků. Pro vygenerování miniatury snímku pomocí Aspose.Slides postupujte podle níže uvedený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 obrázku.
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řit miniaturu snímku s uživatelem určenými rozměry
Pro vytvoření miniatury snímku s uživatelem určenými rozměry postupujte podle níže uvedený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 obrázku.
int slideIndex = 0;
Dimension slideSize = new Dimension(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řit miniaturu snímku s poznámkami přednášejícího
Pro vygenerování miniatury snímku s poznámkami přednášejícího pomocí Aspose.Slides postupujte podle níže uvedených kroků:
- Vytvořte instanci třídy RenderingOptions.
- Použijte metodu
RenderingOptions.setSlidesLayoutOptionsk nastavení polohy poznámek přednášejícího. - 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 nastavenými možnostmi renderování.
- Uložte miniaturu obrázku v libovolném požadovaném formátu obrázku.
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, abyste viděli, co můžete implementovat pomocí API Aspose.Slides:

Často kladené otázky
Mohu vložit prohlížeč prezentací do webové aplikace?
Ano. Můžete použít Aspose.Slides na straně serveru k vykreslení snímků jako obrázků nebo HTML a zobrazit je v prohlížeči. Navigační a zoomovací funkce 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é zobrazit výstup v picture boxu (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 renderování snímků na vyžádání. To znamená generovat obsah snímku pouze při přechodu uživatele na něj, čímž se snižuje spotřeba paměti a doba načítání.