Просмотрщик презентаций
Aspose.Slides для Node.js через Java используется для создания файлов презентаций со слайдами. Эти слайды можно просматривать, открывая презентации в Microsoft PowerPoint, например. Однако иногда разработчикам может потребоваться просматривать слайды как изображения в их предпочитаемом просмотрщике изображений или создавать собственный просмотрщик презентаций. В таких случаях Aspose.Slides позволяет экспортировать отдельный слайд в виде изображения. В этой статье описано, как это сделать.
Создать SVG‑изображение со слайда
Чтобы создать SVG‑изображение из слайда презентации с помощью Aspose.Slides, выполните следующие шаги:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд по его индексу.
- Откройте файловый поток.
- Сохраните слайд как SVG‑изображение в файловый поток.
var slideIndex = 0;
var presentation = new aspose.slides.Presentation("sample.pptx");
var slide = presentation.getSlides().get_Item(slideIndex);
var svgStream = java.newInstanceSync("java.io.FileOutputStream", "output.svg");
slide.writeAsSvg(svgStream);
svgStream.close();
presentation.dispose();
Создать SVG с пользовательским идентификатором фигуры
Aspose.Slides можно использовать для создания SVG из слайда с пользовательским идентификатором фигуры. Для этого используйте метод setId из SvgShape. CustomSvgShapeFormattingController можно использовать для установки идентификатора фигуры.
var slideIndex = 0;
var presentation = new aspose.slides.Presentation("sample.pptx");
var slide = presentation.getSlides().get_Item(slideIndex);
var svgOptions = new aspose.slides.SVGOptions();
svgOptions.setShapeFormattingController(new CustomSvgShapeFormattingController(0));
var svgStream = java.newInstanceSync("java.io.FileOutputStream", "output.svg");
slide.writeAsSvg(svgStream, svgOptions);
svgStream.close();
presentation.dispose();
class CustomSvgShapeFormattingController {
constructor(shapeStartIndex = 0) {
this.m_shapeIndex = shapeStartIndex;
}
formatShape(svgShape, shape) {
svgShape.setId(`shape-${this.m_shapeIndex++}`);
}
}
Создать миниатюру слайда
Aspose.Slides помогает вам создавать миниатюры слайдов. Чтобы создать миниатюру слайда с помощью Aspose.Slides, выполните следующие шаги:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд по его индексу.
- Получите изображение‑миниатюру указанного слайда с определённым масштабом.
- Сохраните изображение‑миниатюру в любом необходимом формате изображения.
const slideIndex = 0;
const scaleX = 1;
const scaleY = scaleX;
var presentation = new aspose.slides.Presentation("sample.pptx");
var slide = presentation.getSlides().get_Item(slideIndex);
var image = slide.getImage(scaleX, scaleY);
image.save("output.jpg", aspose.slides.ImageFormat.Jpeg);
image.dispose();
presentation.dispose();
Создать миниатюру слайда с пользовательскими размерами
Чтобы создать изображение‑миниатюру слайда с пользовательскими размерами, выполните следующие шаги:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд по его индексу.
- Получите изображение‑миниатюру указанного слайда с заданными размерами.
- Сохраните изображение‑миниатюру в любом необходимом формате изображения.
var slideIndex = 0;
var slideSize = java.newInstanceSync("java.awt.Dimension", 1200, 800);
var presentation = new aspose.slides.Presentation("sample.pptx");
var slide = presentation.getSlides().get_Item(slideIndex);
var image = slide.getImage(slideSize);
image.save("output.jpg", aspose.slides.ImageFormat.Jpeg);
image.dispose();
presentation.dispose();
Создать миниатюру слайда с заметками докладчика
Чтобы создать миниатюру слайда с заметками докладчика с помощью Aspose.Slides, выполните следующие шаги:
- Создайте экземпляр класса RenderingOptions.
- Используйте метод
RenderingOptions.setSlidesLayoutOptionsдля установки положения заметок докладчика. - Создайте экземпляр класса Presentation.
- Получите ссылку на слайд по его индексу.
- Получите изображение‑миниатюру указанного слайда с указанными параметрами рендеринга.
- Сохраните изображение‑миниатюру в любом необходимом формате изображения.
var slideIndex = 0;
var layoutingOptions = new aspose.slides.NotesCommentsLayoutingOptions();
layoutingOptions.setNotesPosition(aspose.slides.NotesPositions.BottomTruncated);
var renderingOptions = new aspose.slides.RenderingOptions();
renderingOptions.setSlidesLayoutOptions(layoutingOptions);
var presentation = new aspose.slides.Presentation("sample.pptx");
var slide = presentation.getSlides().get_Item(slideIndex);
var image = slide.getImage(renderingOptions);
image.save("output.png", aspose.slides.ImageFormat.Png);
image.dispose();
presentation.dispose();
Пример
Вы можете попробовать бесплатное приложение Aspose.Slides Viewer чтобы увидеть, что можно реализовать с помощью API Aspose.Slides:

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