Create PowerPoint in Node.js

O aplicativo Microsoft PowerPoint (no Windows, macOS e outras plataformas) permite que você crie apresentações e slideshows contendo textos, imagens, gráficos, animações e muitos outros elementos.

Quando você terminar de ler este artigo, terá aprendido como criar PowerPoint no Node.js e adicionar todo tipo de conteúdo a uma apresentação executando código em node.js.

Obter API PowerPoint do Node.js

Aspose.Slides Node.js PowerPoint API

Aspose.Slides para Node.js via Java é uma API poderosa que fornece tudo o que os desenvolvedores e aplicativos precisam para criar, abrir, converter e manipular documentos PowerPoint em aplicações node.js e javascript do lado do servidor.

Você pode instalar Aspose.Slides para Node.js via Java a partir do NPM executando este comando:

npm install aspose.slides.via.java

Se você encontrar algum problema durante o processo de instalação, veja esta página do produto.

Notas:

Criar PowerPoint PPT no Node.js

  1. Crie uma instância da classe Presentation.
  2. Salve o objeto através do método Presentation.save(String, SaveFormat).
// Instancie um objeto Presentation que representa um arquivo de apresentação
var presentation = new aspose.slides.Presentation();

// Obtenha o primeiro slide
var slide = presentation.getSlides().get_Item(0);

// Adicione conteúdo ao slide...

// Salve a apresentação
presentation.save("NewPresentation.pptx", aspose.slides.SaveFormat.Pptx);

Abrir PowerPoint PPT no Node.js

  1. Crie uma instância da classe Presentation e passe o caminho para o PowerPoint que você deseja abrir para a construção da classe.
  2. Realize uma tarefa. Você pode adicionar algum conteúdo a um slide. Você pode não fazer nada.
  3. Salve a apresentação.
// Instancie um objeto Presentation que representa um arquivo de apresentação
var presentation = new aspose.slides.Presentation("presentation.pptx");

// Obtenha o primeiro slide
var slide = presentation.getSlides().get_Item(0);

// Adicione conteúdo ao slide...

// Salve a apresentação
presentation.save("NewPresentation.pptx", aspose.slides.SaveFormat.Pptx);

Adicionar Slide ao PowerPoint PPTX no Node.js

  1. Crie uma instância da classe Presentation e passe o caminho para o PowerPoint onde você deseja adicionar um slide.
  2. Instancie a classe ISlideCollection definindo uma referência para o método getSlides().
  3. Adicione um slide vazio à apresentação através do método addEmptySlide(ILayoutSlide) exposto pelo objeto ISlideCollection.
  4. Salve a apresentação atualizada usando o método Presentation.save(String, SaveFormat).
// Instancie um objeto Presentation que representa um arquivo de apresentação
var presentation = new aspose.slides.Presentation("presentation.pptx");

// Acesse a coleção de slides
var slds = presentation.getSlides();

for (var i = 0; i < presentation.getLayoutSlides().size(); i++) {
	// Adicione um slide vazio à coleção de Slides
	slds.addEmptySlide(presentation.getLayoutSlides().get_Item(i));
}

// Salve a apresentação
presentation.save("NewPresentation.pptx", aspose.slides.SaveFormat.Pptx);

Adicionar Texto ao PowerPoint PPT

  1. Crie uma instância da classe Presentation e passe o caminho para o PowerPoint onde você deseja adicionar algum texto.
  2. Obtenha a referência do slide onde você deseja adicionar algum texto através de seu índice.
  3. Adicione um retângulo através do método addAutoShape() e obtenha sua referência no objeto IAutoShape.
  4. Adicione um TextFrame à forma contendo texto.
  5. Defina suas propriedades preferidas para o texto, como cor de preenchimento, tipo de preenchimento, etc.
  6. Salve a apresentação atualizada através do método save(String, SaveFormat).
var colorBlack = java.getStaticFieldValue("java.awt.Color", "BLACK");
var colorWhite = java.getStaticFieldValue("java.awt.Color", "WHITE");

// Instancie um objeto Presentation que representa um arquivo de apresentação
var presentation = new aspose.slides.Presentation("presentation.pptx");

// Obtenha o primeiro slide
var sld = presentation.getSlides().get_Item(0);

// Adicione um AutoShape do tipo Retângulo
var ashp = sld.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 150, 75, 150, 50);

// Adicione ITextFrame ao Retângulo
ashp.addTextFrame("Olá Mundo");

// Altere a cor do texto para Preto (que é Branco por padrão)
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);

// Altere a cor da linha do retângulo para Branco
ashp.getShapeStyle().getLineColor().setColor(colorWhite);

// Remova qualquer formatação de preenchimento na forma
ashp.getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill));

// Salve a apresentação
presentation.save("NewPresentation.pptx", aspose.slides.SaveFormat.Pptx);

Criar Gráfico no PowerPoint PPT

  1. Crie uma instância da classe Presentation e passe o caminho para o PowerPoint onde você deseja criar um gráfico.
  2. Obtenha a referência do slide onde você deseja criar um gráfico através de seu índice.
  3. Adicione seu gráfico preferido através do método addChart.
  4. Adicione um título ao gráfico.
  5. Acesse a planilha de dados do gráfico.
  6. Limpe todas as séries e categorias padrão.
  7. Adicione novas séries e categorias.
  8. Adicione novos dados de gráfico para as séries do gráfico.
  9. Defina uma cor de preenchimento para as séries do gráfico.
  10. Adicione rótulos de séries do gráfico.
  11. Salve a apresentação como um arquivo PPT.
var colorGreen = java.getStaticFieldValue("java.awt.Color", "GREEN");
var colorRed = java.getStaticFieldValue("java.awt.Color", "RED");

// Instancie uma classe de apresentação que representa um arquivo PPTX
var pres = new aspose.slides.Presentation();

// Acesse o primeiro slide
var sld = pres.getSlides().get_Item(0);

// Adicione um gráfico com seus dados padrão
var chart = sld.getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 0, 0, 500, 500);

// Defina o Título do gráfico
chart.getChartTitle().addTextFrameForOverriding("Título de Exemplo");
chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(java.newByte(aspose.slides.NullableBool.True));
chart.getChartTitle().setHeight(20);
chart.hasTitle();

// Defina a primeira série para mostrar valores
chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);

// Defina o índice para a planilha de dados do gráfico
var defaultWorksheetIndex = 0;

// Obtenha a planilha de dados do gráfico
var fact = chart.getChartData().getChartDataWorkbook();

// Exclua as séries e categorias geradas por padrão
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
var s = chart.getChartData().getSeries().size();
s = chart.getChartData().getCategories().size();

// Adicione novas séries
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 1, "Série 1"),chart.getType());
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 2, "Série 2"),chart.getType());

// Adicione novas categorias
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 1, 0, "Categoria 1"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 2, 0, "Categoria 2"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 3, 0, "Categoria 3"));

// Pegue a primeira série do gráfico
var series = chart.getChartData().getSeries().get_Item(0);

// Agora preencha os dados da série
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));

// Defina a cor de preenchimento para a série
series.getFormat().getFill().setFillType(java.newByte(aspose.slides.FillType.Solid));
series.getFormat().getFill().getSolidFillColor().setColor(colorRed);

// Pegue a segunda série do gráfico
series = chart.getChartData().getSeries().get_Item(1);

// Preencha os dados da série
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));

// Defina a cor de preenchimento para a série
series.getFormat().getFill().setFillType(java.newByte(aspose.slides.FillType.Solid));
series.getFormat().getFill().getSolidFillColor().setColor(colorGreen);

//Crie rótulos personalizados para cada categoria para a nova série
// Defina o primeiro rótulo para mostrar o nome da Categoria
var lbl = series.getDataPoints().get_Item(0).getLabel();
lbl.getDataLabelFormat().setShowCategoryName(true);

// Defina o segundo rótulo para mostrar o nome da Série
lbl = series.getDataPoints().get_Item(1).getLabel();
lbl.getDataLabelFormat().setShowSeriesName(true);

// Mostre o valor para o terceiro rótulo
lbl = series.getDataPoints().get_Item(2).getLabel();
lbl.getDataLabelFormat().setShowValue(true);
lbl.getDataLabelFormat().setShowSeriesName(true);
lbl.getDataLabelFormat().setSeparator("/");

// Salve a apresentação com o gráfico
pres.save("NewPresentation.pptx", aspose.slides.SaveFormat.Pptx);

Adicionar Imagem ao PPT no Node.js

  1. Crie uma instância da classe Presentation.
  2. Obtenha a referência do slide onde você deseja adicionar uma imagem através de seu índice.
  3. Crie um objeto IPPImage adicionando uma imagem à IImagescollection associada ao objeto de apresentação que será usado para preencher a forma.
  4. Especifique a largura e a altura da imagem.
  5. Crie um PictureFrame com base na largura e altura da imagem através do método AddPictureFrame exposto pelo objeto de forma associado ao slide referenciado.
  6. Adicione um quadro de imagem (contendo a imagem) ao slide.
  7. Salve a apresentação como um arquivo 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);    
});

Conclusão

Neste artigo, guiamos você pelas operações de criação de PowerPoint no Node.js e execução de outras tarefas simplesmente executando algumas linhas de código Node.js. Você pode estar interessado em aprender mais sobre a poderosa API PowerPoint que torna tudo fácil.

Veja Também