Создание PowerPoint в Node.js

Приложение Microsoft PowerPoint (на Windows, macOS и других платформах) позволяет создавать презентации и слайды, содержащие тексты, изображения, диаграммы, анимации и многие другие элементы.

К моменту, когда вы закончите читать эту статью, вы узнаете как создать PowerPoint в Node.js и добавить все виды содержимого в презентацию, выполняя код в node.js.

Получить API PowerPoint для Node.js

Aspose.Slides API PowerPoint для Node.js

Aspose.Slides для Node.js через Java — это мощный API, который предоставляет все необходимое разработчикам и приложениям для создания, открытия, конвертирования и манипулирования документами PowerPoint в node.js и javascript на стороне сервера.

Вы можете установить Aspose.Slides для Node.js через Java из NPM с помощью следующей команды:

npm install aspose.slides.via.java

Если вы столкнетесь с какими-либо проблемами во время установки, смотрите эту страницу продукта.

Примечания:

Создать PowerPoint PPT в Node.js

  1. Создайте экземпляр класса Presentation.
  2. Сохраните объект через метод Presentation.save(String, SaveFormat).
// Инициализируйте объект Presentation, представляющий файл презентации
var presentation = new aspose.slides.Presentation();

// Получите первый слайд
var slide = presentation.getSlides().get_Item(0);

// Добавьте содержимое на слайд...

// Сохраните презентацию
presentation.save("NewPresentation.pptx", aspose.slides.SaveFormat.Pptx);

Открыть PowerPoint PPT в Node.js

  1. Создайте экземпляр класса Presentation и передайте путь к PowerPoint, который вы хотите открыть, в конструктор класса.
  2. Выполните задачу. Вы можете добавить какое-то содержимое на слайд. Вы можете ничего не делать.
  3. Сохраните презентацию.
// Инициализируйте объект Presentation, представляющий файл презентации
var presentation = new aspose.slides.Presentation("presentation.pptx");

// Получите первый слайд
var slide = presentation.getSlides().get_Item(0);

// Добавьте содержимое на слайд...

// Сохраните презентацию
presentation.save("NewPresentation.pptx", aspose.slides.SaveFormat.Pptx);

Добавить слайд в PowerPoint PPTX в Node.js

  1. Создайте экземпляр класса Presentation и передайте путь к PowerPoint, в который вы хотите добавить слайд.
  2. Инициализируйте класс ISlideCollection, установив ссылку на метод getSlides().
  3. Добавьте пустой слайд в презентацию через метод addEmptySlide(ILayoutSlide) объекта ISlideCollection.
  4. Сохраните обновленную презентацию, используя метод Presentation.save(String, SaveFormat).
// Инициализируйте объект Presentation, представляющий файл презентации
var presentation = new aspose.slides.Presentation("presentation.pptx");

// Получите коллекцию слайдов
var slds = presentation.getSlides();

for (var i = 0; i < presentation.getLayoutSlides().size(); i++) {
	// Добавьте пустой слайд в коллекцию слайдов
	slds.addEmptySlide(presentation.getLayoutSlides().get_Item(i));
}

// Сохраните презентацию
presentation.save("NewPresentation.pptx", aspose.slides.SaveFormat.Pptx);

Добавить текст в PowerPoint PPT

  1. Создайте экземпляр класса Presentation и передайте путь к PowerPoint, в который вы хотите добавить текст.
  2. Получите ссылку на слайд, на который вы хотите добавить текст, через его индекс.
  3. Добавьте прямоугольник через метод addAutoShape() и получите его ссылку в объекте IAutoShape.
  4. Добавьте TextFrame к форме, содержащей текст.
  5. Установите предпочтительные свойства для текста, такие как цвет заливки, тип заливки и т. д.
  6. Сохраните обновленную презентацию через метод save(String, SaveFormat).
var colorBlack = java.getStaticFieldValue("java.awt.Color", "BLACK");
var colorWhite = java.getStaticFieldValue("java.awt.Color", "WHITE");

// Инициализируйте объект Presentation, представляющий файл презентации
var presentation = new aspose.slides.Presentation("presentation.pptx");

// Получите первый слайд
var sld = presentation.getSlides().get_Item(0);

// Добавьте AutoShape типа Прямоугольник
var ashp = sld.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 150, 75, 150, 50);

// Добавьте ITextFrame к Прямоугольнику
ashp.addTextFrame("Привет, мир!");

// Измените цвет текста на черный (который по умолчанию белый)
ashp.getTextFrame().getParagraphs().get_Item(0).getPortions().get_Item(0).getPortionFormat().getFillFormat()
		.setFillType(java.newByte(aspose.slides.FillType.Solid));
ashp.getTextFrame().getParagraphs().get_Item(0).getPortions().get_Item(0).getPortionFormat().getFillFormat()
		.getSolidFillColor().setColor(colorBlack);

// Измените цвет линии прямоугольника на белый
ashp.getShapeStyle().getLineColor().setColor(colorWhite);

// Удалите любое форматирование заливки в форме
ashp.getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill));

// Сохраните презентацию
presentation.save("NewPresentation.pptx", aspose.slides.SaveFormat.Pptx);

Создать диаграмму в PowerPoint PPT

  1. Создайте экземпляр класса Presentation и передайте путь к PowerPoint, в котором вы хотите создать диаграмму.
  2. Получите ссылку на слайд, на котором вы хотите создать диаграмму, через его индекс.
  3. Добавьте свою предпочтительную диаграмму через метод addChart.
  4. Добавьте заголовок диаграммы.
  5. Получите рабочий лист данных диаграммы.
  6. Очистите все стандартные серии и категории.
  7. Добавьте новые серии и категории.
  8. Добавьте новые данные диаграммы для серий диаграммы.
  9. Установите цвет заливки для серий диаграммы.
  10. Добавьте метки серий диаграммы.
  11. Сохраните презентацию как PPT файл.
var colorGreen = java.getStaticFieldValue("java.awt.Color", "GREEN");
var colorRed = java.getStaticFieldValue("java.awt.Color", "RED");

// Инициализируйте класс презентации, представляющий файл PPTX
var pres = new aspose.slides.Presentation();

// Получите первый слайд
var sld = pres.getSlides().get_Item(0);

// Добавьте диаграмму с ее стандартными данными
var chart = sld.getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 0, 0, 500, 500);

// Установите заголовок диаграммы
chart.getChartTitle().addTextFrameForOverriding("Пример заголовка");
chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(java.newByte(aspose.slides.NullableBool.True));
chart.getChartTitle().setHeight(20);
chart.hasTitle();

// Установите первую серию для отображения значений
chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);

// Установите индекс для рабочего листа данных диаграммы
var defaultWorksheetIndex = 0;

// Получите рабочий лист данных диаграммы
var fact = chart.getChartData().getChartDataWorkbook();

// Удалите стандартные сгенерированные серии и категории
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
var s = chart.getChartData().getSeries().size();
s = chart.getChartData().getCategories().size();

// Добавьте новые серии
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 1, "Серия 1"),chart.getType());
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 2, "Серия 2"),chart.getType());

// Добавьте новые категории
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 1, 0, "Категория 1"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 2, 0, "Категория 2"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 3, 0, "Категория 3"));

// Возьмите первую серию диаграммы
var series = chart.getChartData().getSeries().get_Item(0);

// Теперь заполняем данные серии
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 1, 20));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 50));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 30));

// Установите цвет заливки для серии
series.getFormat().getFill().setFillType(java.newByte(aspose.slides.FillType.Solid));
series.getFormat().getFill().getSolidFillColor().setColor(colorRed);

// Возьмите вторую серию диаграммы
series = chart.getChartData().getSeries().get_Item(1);

// Заполните данные серии
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 2, 30));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 2, 10));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 2, 60));

// Установите цвет заливки для серии
series.getFormat().getFill().setFillType(java.newByte(aspose.slides.FillType.Solid));
series.getFormat().getFill().getSolidFillColor().setColor(colorGreen);

//Создайте пользовательские метки для каждой категории для новых серий
// Установите первую метку, чтобы показать имя категории
var lbl = series.getDataPoints().get_Item(0).getLabel();
lbl.getDataLabelFormat().setShowCategoryName(true);

// Установите вторую метку, чтобы показать имя серии
lbl = series.getDataPoints().get_Item(1).getLabel();
lbl.getDataLabelFormat().setShowSeriesName(true);

// Покажите значение для третьей метки
lbl = series.getDataPoints().get_Item(2).getLabel();
lbl.getDataLabelFormat().setShowValue(true);
lbl.getDataLabelFormat().setShowSeriesName(true);
lbl.getDataLabelFormat().setSeparator("/");

// Сохраните презентацию с диаграммой
pres.save("NewPresentation.pptx", aspose.slides.SaveFormat.Pptx);

Добавить изображение в PPT в Node.js

  1. Создайте экземпляр класса Presentation.
  2. Получите ссылку на слайд, на который вы хотите добавить изображение, через его индекс.
  3. Создайте объект IPPImage добавив изображение в IImagescollection, связанное с объектом презентации, который будет использован для заполнения формы.
  4. Укажите ширину и высоту изображения.
  5. Создайте PictureFrame на основе ширины и высоты изображения через метод AddPictureFrame, доступный объектом формы, связанным с указанным слайдом.
  6. Добавьте рамку изображения (содержащую изображение) на слайд.
  7. Сохраните презентацию как файл PPT.
var fileStream = fs.createReadStream("image.png");
aspose.slides.readBytesFromStream(fileStream, function (imgArray) {
    var pres = new aspose.slides.Presentation();
    var img = pres.getImages().addImage(imgArray);
    pres.getSlides().get_Item(0).getShapes().addPictureFrame(aspose.slides.ShapeType.Rectangle, 10, 10, 200, 200, img); 
    pres.save("NewPresentation.pptx", aspose.slides.SaveFormat.Pptx);    
});

Заключение

В этой статье мы провели вас через операции по созданию PowerPoint в Node.js и выполнению других задач, просто запуская несколько строк кода Node.js. Вам может быть интересно узнать больше о мощном API PowerPoint, который делает все проще.

Также смотрите