Создать просмотрщик презентаций на Android
Aspose.Slides для Android через Java используется для создания файлов презентаций со слайдами. Эти слайды можно просматривать, открывая презентации, например, в Microsoft PowerPoint. Однако иногда разработчикам может потребоваться просматривать слайды в виде изображений в предпочитаемом просмотрщике изображений или создавать свой собственный просмотрщик презентаций. В таких случаях Aspose.Slides позволяет экспортировать отдельный слайд как изображение. В этой статье описано, как это сделать.
Создать SVG‑изображение со слайда
Чтобы создать SVG‑изображение из слайда презентации с помощью Aspose.Slides, выполните следующие шаги:
- Создайте экземпляр класса Презентация.
- Получите ссылку на слайд по его индексу.
- Откройте файловый поток.
- Сохраните слайд как SVG‑изображение в файловый поток.
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();
Создать SVG с пользовательским идентификатором формы
Aspose.Slides можно использовать для генерации SVG из слайда с пользовательским ID формы. Для этого используйте метод setId из ISvgShape. CustomSvgShapeFormattingController можно использовать для установки ID формы.
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++));
}
}
Создать изображение миниатюры слайда
Aspose.Slides помогает создавать изображения миниатюр слайдов. Чтобы создать миниатюру слайда с помощью Aspose.Slides, выполните следующие шаги:
- Создайте экземпляр класса Презентация.
- Получите ссылку на слайд по его индексу.
- Получите изображение миниатюры ссылки на слайд в определённом масштабе.
- Сохраните изображение миниатюры в любом желаемом формате изображения.
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();
Создать миниатюру слайда с пользовательскими размерами
Чтобы создать изображение миниатюры слайда с пользовательскими размерами, выполните следующие шаги:
- Создайте экземпляр класса Презентация.
- Получите ссылку на слайд по его индексу.
- Получите изображение миниатюры ссылки на слайд с заданными размерами.
- Сохраните изображение миниатюры в любом желаемом формате изображения.
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();
Создать миниатюру слайда с заметками докладчика
Чтобы создать миниатюру слайда с заметками докладчика с помощью Aspose.Slides, выполните следующие шаги:
- Создайте экземпляр класса RenderingOptions.
- Используйте метод
RenderingOptions.setSlidesLayoutOptionsдля установки положения заметок докладчика. - Создайте экземпляр класса Презентация.
- Получите ссылку на слайд по его индексу.
- Получите изображение миниатюры ссылки на слайд с параметрами рендеринга.
- Сохраните изображение миниатюры в любом желаемом формате изображения.
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();
Пример в работе
Вы можете попробовать бесплатное приложение Aspose.Slides Viewer, чтобы увидеть, что можно реализовать с помощью API Aspose.Slides:

FAQ
Могу ли я встроить просмотрщик презентаций в веб‑приложение?
Да. Вы можете использовать Aspose.Slides на стороне сервера для рендеринга слайдов в виде изображений или HTML и отображать их в браузере. Навигацию и функции масштабирования можно реализовать с помощью JavaScript для интерактивного взаимодействия.
Какой лучший способ отображать слайды внутри кастомного просмотрщика?
Рекомендуемый подход — рендерить каждый слайд как изображение (например, PNG или SVG) или конвертировать его в HTML с помощью Aspose.Slides, затем отображать результат в элементе picture box (для настольных приложений) или в HTML‑контейнере (для веба).
Как работать с большими презентациями, содержащими много слайдов?
Для больших наборов слайдов рекомендуется использовать отложенную загрузку или рендеринг по запросу. Это означает генерацию содержимого слайда только при переходе пользователя к нему, что снижает потребление памяти и время загрузки.