Skapa en presentationsvisare på Android

Introduktion

Aspose.Slides för Android via Java används för att skapa presentationsfiler med bilder. Dessa bilder kan visas genom att öppna presentationer i Microsoft PowerPoint, till exempel. I vissa fall kan utvecklare behöva visa bilder som bilder i sin föredragna bildvisare eller skapa sin egen presentationsvisare. I sådana fall låter Aspose.Slides dig exportera en enskild bild som en bild. Den här artikeln beskriver hur man gör det.

Skapa en SVG-bild från en bild

För att skapa en SVG-bild från en presentationsbild med Aspose.Slides, följ stegen nedan:

  1. Skapa en instans av klassen Presentation.
  2. Hämta bildreferensen med dess index.
  3. Öppna en filström.
  4. Spara bilden som en SVG-bild till filströmmen.
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();

Skapa en SVG med ett anpassat form-ID

Aspose.Slides kan användas för att generera en SVG från en bild med ett anpassat form-ID. För att göra detta, använd setId-metoden från ISvgShape. CustomSvgShapeFormattingController kan användas för att ange form-ID:t.

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++));
    }
}

Skapa en bildminiatyr

Aspose.Slides hjälper dig att skapa miniatyrbilder av bilder. För att generera en miniatyr av en bild med Aspose.Slides, följ stegen nedan:

  1. Skapa en instans av klassen Presentation.
  2. Hämta bildreferensen med dess index.
  3. Hämta miniatyrbilden av den refererade bilden i en definierad skala.
  4. Spara miniatyrbilden i valfritt bildformat.
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();

Skapa en bildminiatyr med användardefinierade dimensioner

För att skapa en miniatyrbild med användardefinierade dimensioner, följ stegen nedan:

  1. Skapa en instans av klassen Presentation.
  2. Hämta bildreferensen med dess index.
  3. Hämta miniatyrbilden av den refererade bilden med de definierade dimensionerna.
  4. Spara miniatyrbilden i valfritt bildformat.
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();

Skapa en bildminiatyr med presentatörsanteckningar

För att generera miniatyrbilden av en bild med presentatörsanteckningar med Aspose.Slides, följ stegen nedan:

  1. Skapa en instans av klassen RenderingOptions.
  2. Använd metoden RenderingOptions.setSlidesLayoutOptions för att ange positionen för presentatörsanteckningarna.
  3. Skapa en instans av klassen Presentation.
  4. Hämta bildreferensen med dess index.
  5. Hämta miniatyrbilden av den refererade bilden med renderingsalternativen.
  6. Spara miniatyrbilden i valfritt bildformat.
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();

Liveexempel

Du kan prova den kostnadsfria appen Aspose.Slides Viewer för att se vad du kan implementera med Aspose.Slides API:

Online PowerPoint Viewer

FAQ

Kan jag bädda in en presentationsvisare i en webbapplikation?

Ja. Du kan använda Aspose.Slides på serversidan för att rendera bilder som bilder eller HTML och visa dem i webbläsaren. Navigations- och zoomfunktioner kan implementeras med JavaScript för en interaktiv upplevelse.

Vad är det bästa sättet att visa bilder i en egen visare?

Den rekommenderade metoden är att rendera varje bild som en bild (t.ex. PNG eller SVG) eller konvertera den till HTML med Aspose.Slides, och sedan visa resultatet i en bildruta (för skrivbord) eller i en HTML‑behållare (för webb).

Hur hanterar jag stora presentationer med många bilder?

För stora presentationer, överväg lazy‑loading eller rendering på begäran av bilderna. Det betyder att generera en bilds innehåll först när användaren navigerar till den, vilket minskar minnes- och laddningstid.