Создание презентаций в Node.js через .NET
Обзор
В этой статье показано, как создать презентацию с помощью Aspose.Slides for Node.js via .NET, добавить текстовое поле на первый слайд и сохранить результат в файл PPTX. Также показано, как добавить дополнительные слайды и как переключить презентацию на широкоформатные (16:9) слайды.
Для примеров требуется проект, настроенный согласно инструкции в разделе Installation. Сохраните каждый пример как файл с расширением .js в папке проекта и запустите его из этой папки с помощью node, например node create-presentation.js.
Note
Aspose.Slides for Node.js via .NET не имеет собственной справки по API. Он отражает API Aspose.Slides for .NET с именами в camelCase, поэтому ссылки на API в этой статье ведут к соответствующим классам и членам в Aspose.Slides for .NET API reference.Создание презентации с текстовым полем
Чтобы создать презентацию и разместить текстовое поле на её первом слайде, выполните следующие действия:
- Создайте экземпляр класса Presentation. Новая презентация уже содержит один пустой слайд.
- Получите этот слайд из коллекции slides. Коллекции в этом пакете читаются методом
get(index), индексы начинаются с 0. - Добавьте прямоугольник с помощью метода addAutoShape и задайте text его textFrame.
- Сохраните презентацию методом save и значением
SaveFormat.Pptx. - Вызовите
disposeв блокеfinally, чтобы освободить .NET‑ресурсы, поддерживающие презентацию.
const { Presentation, ShapeType, SaveFormat } = require("aspose.slides.via.net");
const presentation = new Presentation();
try {
const slide = presentation.slides.get(0);
// Позиция (x, y) и размер (ширина, высота) указаны в пунктах.
const textBox = slide.shapes.addAutoShape(ShapeType.Rectangle, 50, 50, 400, 100);
textBox.textFrame.text = "Hello, Aspose.Slides!";
presentation.save("new-presentation.pptx", SaveFormat.Pptx);
console.log("Saved new-presentation.pptx");
} finally {
presentation.dispose();
}
Скрипт записывает new-presentation.pptx в папку проекта. Файл содержит один слайд с заполненным прямоугольником, левый верхний угол которого находится на расстоянии 50 пунктов от левого и верхнего краёв слайда. Прямоугольник имеет ширину 400 пунктов и высоту 100 пунктов, текст в нём центрирован. Один пункт = 1/72 дюйма. Без лицензии Aspose.Slides также добавляет водяной знак оценки к слайду; см. раздел Licensing.
Добавление слайдов
Новая презентация содержит один слайд. Чтобы добавить больше, передайте слайд‑макет в метод addEmptySlide коллекции slides. Метод getByType коллекции layoutSlides возвращает первый макет указанного SlideLayoutType.
Следующий пример добавляет два слайда с макетом Blank:
const { Presentation, SlideLayoutType, SaveFormat } = require("aspose.slides.via.net");
const presentation = new Presentation();
try {
const blankLayout = presentation.layoutSlides.getByType(SlideLayoutType.Blank);
presentation.slides.addEmptySlide(blankLayout);
presentation.slides.addEmptySlide(blankLayout);
console.log("Slide count: " + presentation.slides.count);
presentation.save("three-slides.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Скрипт выводит Slide count: 3 и записывает three-slides.pptx. Новые слайды добавляются после первого и не содержат фигур. Новая презентация всегда имеет макет Blank, но презентация, открытая из файла, может не иметь макета запрошенного типа; в этом случае getByType возвращает null, поэтому проверьте результат перед дальнейшим использованием.
Установка размера слайда
Новая презентация использует слайды 4:3 размером 720 × 540 пунктов (10 × 7,5 дюйма). Чтобы создать широкоформатные слайды, вызовите метод setSize свойства slideSize презентации, передав значение SlideSizeType и SlideSizeScaleType. Тип масштабирования указывает Aspose.Slides, как обращаться с уже существующими на слайдах объектами; DoNotScale оставляет их без изменений, что является правильным выбором для презентации без содержимого.
const { Presentation, SlideSizeType, SlideSizeScaleType, SaveFormat } = require("aspose.slides.via.net");
const presentation = new Presentation();
try {
presentation.slideSize.setSize(SlideSizeType.Widescreen, SlideSizeScaleType.DoNotScale);
const slideSize = presentation.slideSize.size;
console.log(`Slide size: ${slideSize.width} x ${slideSize.height} points`);
presentation.save("widescreen.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Скрипт выводит Slide size: 960 x 540 points, что соответствует 13,33 × 7,5 дюйма, и записывает widescreen.pptx. Значение SlideSizeType.OnScreen16x9 имеет тот же соотношение сторон 16:9, но меньше: 720 × 405 пунктов.
Часто задаваемые вопросы
В каких единицах измеряются позиции и размеры?
В пунктах. Один дюйм = 72 пункта, поэтому слайд 4:3 по умолчанию имеет размеры 720 × 540 пунктов, а широкоформатный слайд 16:9 — 960 × 540 пунктов.
В какие форматы можно сохранить новую презентацию?
В любой из форматов, представленных в перечислении SaveFormat, например SaveFormat.Ppt для PowerPoint 97–2003, SaveFormat.Odp для OpenDocument или SaveFormat.Pdf. Для вывода в PDF см. раздел Convert PowerPoint to PDF.
Почему сохранённая презентация содержит текст «Evaluation only»?
Без лицензии Aspose.Slides добавляет водяной знак оценки к сохраняемым слайдам. Примените лицензию, как описано в разделе Licensing, чтобы убрать его.
Почему следует вызывать dispose?
Объект Presentation опирается на .NET‑объект, который занимает память и другие ресурсы. Вызов dispose освобождает их сразу после того, как презентация больше не нужна, а размещение вызова в блоке finally гарантирует освобождение ресурсов даже при возникновении ошибки.