Maak een presentatieviewer in Java
Inleiding
Aspose.Slides for Java wordt gebruikt om presentatiebestanden met dia’s te maken. Deze dia’s kunnen bijvoorbeeld bekeken worden door presentaties te openen in Microsoft PowerPoint. Soms moeten ontwikkelaars echter dia’s als afbeeldingen bekijken in hun favoriete afbeeldingsviewer of hun eigen presentatieviewer maken. In zulke gevallen biedt Aspose.Slides de mogelijkheid om een enkele dia als afbeelding te exporteren. Dit artikel beschrijft hoe u dit kunt doen.
Genereer een SVG-afbeelding van een dia
Om met Aspose.Slides een SVG-afbeelding van een presentatiedia te genereren, volgt u de onderstaande stappen:
- Maak een instantie van de Presentation klasse.
- Haalt de dia-referentie op basis van de index op.
- Open een bestandsstroom.
- Sla de dia op als een SVG-afbeelding naar de bestandsstroom.
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();
Genereer een SVG met een aangepaste vorm-ID
Aspose.Slides kan worden gebruikt om een SVG van een dia te genereren met een aangepaste vorm-ID. Gebruik hiervoor de setId‑methode van ISvgShape. CustomSvgShapeFormattingController kan worden gebruikt om de vorm‑ID in te stellen.
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++));
}
}
Maak een miniatuurafbeelding van een dia
Aspose.Slides helpt u bij het genereren van miniatuurafbeeldingen van dia’s. Om met Aspose.Slides een miniatuur van een dia te genereren, volgt u de onderstaande stappen:
- Maak een instantie van de Presentation klasse.
- Haalt de dia-referentie op basis van de index op.
- Haal de miniatuurafbeelding van de opgegeven dia op met een gedefinieerde schaal.
- Sla de miniatuurafbeelding op in elk gewenst afbeeldingformaat.
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();
Maak een miniatuur van een dia met gebruikersgedefinieerde afmetingen
Om een miniatuurafbeelding van een dia met door de gebruiker gedefinieerde afmetingen te maken, volgt u de onderstaande stappen:
- Maak een instantie van de Presentation klasse.
- Haalt de dia-referentie op basis van de index op.
- Haal de miniatuurafbeelding van de opgegeven dia op met de gedefinieerde afmetingen.
- Sla de miniatuurafbeelding op in elk gewenst afbeeldingformaat.
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();
Maak een miniatuur van een dia met spreker aantekeningen
Om met Aspose.Slides de miniatuur van een dia met spreker aantekeningen te genereren, volgt u de onderstaande stappen:
- Maak een instantie van de RenderingOptions klasse.
- Gebruik de
RenderingOptions.setSlidesLayoutOptions‑methode om de positie van spreker aantekeningen in te stellen. - Maak een instantie van de Presentation klasse.
- Haalt de dia-referentie op basis van de index op.
- Haal de miniatuurafbeelding van de opgegeven dia op met de rendering‑opties.
- Sla de miniatuurafbeelding op in elk gewenst afbeeldingformaat.
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();
Live‑voorbeeld
U kunt de gratis app Aspose.Slides Viewer proberen om te zien wat u kunt implementeren met de Aspose.Slides‑API:

FAQ
Kan ik een presentatieviewer insluiten in een webapplicatie?
Ja. U kunt Aspose.Slides aan de serverzijde gebruiken om dia’s te renderen als afbeeldingen of HTML en ze in de browser te tonen. Navigatie‑ en zoomfuncties kunnen met JavaScript worden geïmplementeerd voor een interactieve ervaring.
Wat is de beste manier om dia’s weer te geven in een aangepaste viewer?
De aanbevolen aanpak is om elke dia te renderen als een afbeelding (bijv. PNG of SVG) of deze te converteren naar HTML met Aspose.Slides, en vervolgens de output weer te geven in een afbeeldingvak (voor desktop) of een HTML‑container (voor web).
Hoe ga ik om met grote presentaties met veel dia’s?
Voor grote presentaties kunt u lazy‑loading of rendering op aanvraag overwegen. Dit betekent dat de inhoud van een dia alleen wordt gegenereerd wanneer de gebruiker ernaartoe navigeert, waardoor geheugen- en laadtijd worden verminderd.