Maak een presentatieweergave op Android
Inleiding
Aspose.Slides for Android via Java wordt gebruikt om presentatie‑bestanden met dia’s te maken. Deze dia’s kunnen bekeken worden door bijvoorbeeld presentaties te openen in Microsoft PowerPoint. Soms moeten ontwikkelaars echter dia’s als afbeeldingen bekijken in hun favoriete afbeeldingsviewer of een eigen presentatieweergave maken. In dat geval maakt Aspose.Slides het mogelijk om een enkele dia als afbeelding te exporteren. Dit artikel beschrijft hoe dit te doen.
Genereer een SVG‑afbeelding van een dia
- Maak een instantie van de Presentation klasse.
- Haal de dia‑referentie op via de index.
- Open een bestandsstream.
- Sla de dia op als een SVG‑afbeelding naar de bestandsstream.
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 eigen vorm‑ID
Aspose.Slides kan gebruikt worden om een SVG van een dia te genereren met een eigen vorm‑ID. Hiervoor gebruik je de setId‑methode van ISvgShape. CustomSvgShapeFormattingController kan gebruikt worden 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 miniatuur‑afbeelding van een dia
Aspose.Slides helpt je bij het genereren van miniatuur‑afbeeldingen van dia’s. Volg de onderstaande stappen om een miniatuur van een dia te genereren met Aspose.Slides:
- Maak een instantie van de Presentation klasse.
- Haal de dia‑referentie op via de index.
- Haal de miniatuurafbeelding van de refererende 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 door de gebruiker gedefinieerde afmetingen
Om een miniatuurafbeelding van een dia te maken met door de gebruiker gedefinieerde afmetingen, volg je de onderstaande stappen:
- Maak een instantie van de Presentation klasse.
- Haal de dia‑referentie op via de index.
- Haal de miniatuurafbeelding van de refererende dia op met de gedefinieerde afmetingen.
- Sla de miniatuurafbeelding op in elk gewenst afbeeldingformaat.
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();
Maak een miniatuur van een dia met sprekernotities
Om de miniatuur van een dia met sprekernotities te genereren met Aspose.Slides, volg je de onderstaande stappen:
- Maak een instantie van de RenderingOptions klasse.
- Gebruik de
RenderingOptions.setSlidesLayoutOptions‑methode om de positie van sprekernotities in te stellen. - Maak een instantie van de Presentation klasse.
- Haal de dia‑referentie op via de index.
- Haal de miniatuurafbeelding van de refererende 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
Je kunt de gratis app Aspose.Slides Viewer uitproberen om te zien wat je kunt implementeren met de Aspose.Slides‑API:

FAQ
Kan ik een presentatieweergave insluiten in een webapplicatie?
Ja. Je kunt Aspose.Slides aan de server‑kant gebruiken om dia’s te renderen als afbeeldingen of HTML en deze in de browser weer te geven. Navigatie‑ en zoom‑functies kunnen met JavaScript geïmplementeerd worden voor een interactieve ervaring.
Wat is de beste manier om dia’s te tonen binnen een aangepaste viewer?
De aanbevolen aanpak is om elke dia te renderen als een afbeelding (bijv. PNG of SVG) of om deze te converteren naar HTML met Aspose.Slides, en vervolgens de output weer te geven in een picture‑box (voor desktop) of een HTML‑container (voor web).
Hoe ga ik om met grote presentaties met veel dia’s?
Voor grote presentaties kun je overwegen om dia’s lazy‑load of on‑demand te renderen. Dit betekent dat de inhoud van een dia alleen wordt gegenereerd wanneer de gebruiker ernaartoe navigeert, waardoor geheugen‑ en laadtijd worden verminderd.