Créer PowerPoint dans Node.js

L’application Microsoft PowerPoint (sur Windows, macOS et d’autres plateformes) vous permet de créer des présentations et des diaporamas contenant des textes, des images, des graphiques, des animations et de nombreux autres éléments.

Au moment où vous aurez terminé de lire cet article, vous aurez appris comment créer des PowerPoint dans Node.js et ajouter toutes sortes de contenu à une présentation en exécutant du code dans node.js.

Obtenez l’API PowerPoint de Node.js

Aspose.Slides API PowerPoint Node.js

Aspose.Slides pour Node.js via Java est une API puissante qui fournit tout ce dont les développeurs et les applications ont besoin pour créer, ouvrir, convertir et manipuler des documents PowerPoint dans des applications server-side node.js et javascript.

Vous pouvez installer Aspose.Slides pour Node.js via Java depuis NPM en exécutant cette commande :

npm install aspose.slides.via.java

Si vous rencontrez des problèmes lors du processus d’installation, consultez cette page de produit.

Remarques :

Créer un PPT PowerPoint dans Node.js

  1. Créez une instance de la classe Presentation.
  2. Enregistrez l’objet via la méthode Presentation.save(String, SaveFormat).
// Instancier un objet Presentation qui représente un fichier de présentation
var presentation = new aspose.slides.Presentation();

// Obtenez la première diapositive
var slide = presentation.getSlides().get_Item(0);

// Ajoutez du contenu à la diapositive...

// Enregistrez la présentation
presentation.save("NouvellePrésentation.pptx", aspose.slides.SaveFormat.Pptx);

Ouvrir un PPT PowerPoint dans Node.js

  1. Créez une instance de la classe Presentation et passez le chemin vers le PowerPoint que vous souhaitez ouvrir à la construction de la classe.
  2. Effectuez une tâche. Vous pouvez ajouter du contenu à une diapositive. Vous pouvez ne rien faire.
  3. Enregistrez la présentation.
// Instancier un objet Presentation qui représente un fichier de présentation
var presentation = new aspose.slides.Presentation("presentation.pptx");

// Obtenez la première diapositive
var slide = presentation.getSlides().get_Item(0);

// Ajoutez du contenu à la diapositive...

// Enregistrez la présentation
presentation.save("NouvellePrésentation.pptx", aspose.slides.SaveFormat.Pptx);

Ajouter une diapositive à PowerPoint PPTX dans Node.js

  1. Créez une instance de la classe Presentation et passez le chemin vers le PowerPoint où vous souhaitez ajouter une diapositive.
  2. Instanciez la classe ISlideCollection en définissant une référence à la méthode getSlides().
  3. Ajoutez une diapositive vide à la présentation via la méthode addEmptySlide(ILayoutSlide) exposée par l’objet ISlideCollection.
  4. Enregistrez la présentation mise à jour à l’aide de la méthode Presentation.save(String, SaveFormat).
// Instancier un objet Presentation qui représente un fichier de présentation
var presentation = new aspose.slides.Presentation("presentation.pptx");

// Accéder à la collection de diapositives
var slds = presentation.getSlides();

for (var i = 0; i < presentation.getLayoutSlides().size(); i++) {
	// Ajoutez une diapositive vide à la collection de diapositives
	slds.addEmptySlide(presentation.getLayoutSlides().get_Item(i));
}

// Enregistrez la présentation
presentation.save("NouvellePrésentation.pptx", aspose.slides.SaveFormat.Pptx);

Ajouter du texte à PowerPoint PPT

  1. Créez une instance de la classe Presentation et passez le chemin vers le PowerPoint où vous souhaitez ajouter du texte.
  2. Obtenez la référence de la diapositive où vous souhaitez ajouter du texte via son index.
  3. Ajoutez un rectangle via la méthode addAutoShape() et obtenez sa référence dans l’objet IAutoShape.
  4. Ajoutez un TextFrame à la forme contenant du texte.
  5. Définissez vos propriétés préférées pour le texte, telles que la couleur de remplissage, le type de remplissage, etc.
  6. Enregistrez la présentation mise à jour via la méthode save(String, SaveFormat).
var colorBlack = java.getStaticFieldValue("java.awt.Color", "BLACK");
var colorWhite = java.getStaticFieldValue("java.awt.Color", "WHITE");

// Instancier un objet Presentation qui représente un fichier de présentation
var presentation = new aspose.slides.Presentation("presentation.pptx");

// Obtenez la première diapositive
var sld = presentation.getSlides().get_Item(0);

// Ajoutez une AutoShape de type Rectangle
var ashp = sld.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 150, 75, 150, 50);

// Ajoutez ITextFrame au Rectangle
ashp.addTextFrame("Bonjour le monde");

// Changez la couleur du texte en noir (qui est blanc par défaut)
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);

// Changez la couleur de ligne du rectangle en blanc
ashp.getShapeStyle().getLineColor().setColor(colorWhite);

// Supprimez toute mise en forme de remplissage dans la forme
ashp.getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill));

// Enregistrez la présentation
presentation.save("NouvellePrésentation.pptx", aspose.slides.SaveFormat.Pptx);

Créer un graphique dans PowerPoint PPT

  1. Créez une instance de la classe Presentation et passez le chemin vers le PowerPoint où vous souhaitez créer un graphique.
  2. Obtenez la référence de la diapositive où vous souhaitez créer un graphique via son index.
  3. Ajoutez votre graphique préféré via la méthode addChart.
  4. Ajoutez un titre au graphique.
  5. Accédez à la feuille de calcul des données du graphique.
  6. Effacez toutes les séries et catégories par défaut.
  7. Ajoutez de nouvelles séries et catégories.
  8. Ajoutez de nouvelles données de graphique pour les séries de graphique.
  9. Définissez une couleur de remplissage pour les séries de graphique.
  10. Ajoutez des étiquettes de séries de graphique.
  11. Enregistrez la présentation en tant que fichier PPT.
var colorGreen = java.getStaticFieldValue("java.awt.Color", "GREEN");
var colorRed = java.getStaticFieldValue("java.awt.Color", "RED");

// Instancier une classe de présentation qui représente un fichier PPTX
var pres = new aspose.slides.Presentation();

// Accéder à la première diapositive
var sld = pres.getSlides().get_Item(0);

// Ajoutez un graphique avec ses données par défaut
var chart = sld.getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 0, 0, 500, 500);

// Définir le titre du graphique
chart.getChartTitle().addTextFrameForOverriding("Titre d'échantillon");
chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(java.newByte(aspose.slides.NullableBool.True));
chart.getChartTitle().setHeight(20);
chart.hasTitle();

// Définir la première série pour afficher les valeurs
chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);

// Définir l'index pour la feuille de données du graphique
var defaultWorksheetIndex = 0;

// Obtenez la feuille de données du graphique
var fact = chart.getChartData().getChartDataWorkbook();

// Supprimez les séries et catégories générées par défaut
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
var s = chart.getChartData().getSeries().size();
s = chart.getChartData().getCategories().size();

// Ajoutez de nouvelles 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());

// Ajoutez de nouvelles catégories
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 1, 0, "Catégorie 1"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 2, 0, "Catégorie 2"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 3, 0, "Catégorie 3"));

// Prenez la première série de graphique
var series = chart.getChartData().getSeries().get_Item(0);

// Maintenant, remplissez les données de la 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));

// Définissez la couleur de remplissage pour la série
series.getFormat().getFill().setFillType(java.newByte(aspose.slides.FillType.Solid));
series.getFormat().getFill().getSolidFillColor().setColor(colorRed);

// Prenez la deuxième série de graphique
series = chart.getChartData().getSeries().get_Item(1);

// Remplissez les données de la 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));

// Définissez la couleur de remplissage pour la série
series.getFormat().getFill().setFillType(java.newByte(aspose.slides.FillType.Solid));
series.getFormat().getFill().getSolidFillColor().setColor(colorGreen);

// Créez des étiquettes personnalisées pour chaque catégorie pour la nouvelle série
// Définir la première étiquette pour montrer le nom de la catégorie
var lbl = series.getDataPoints().get_Item(0).getLabel();
lbl.getDataLabelFormat().setShowCategoryName(true);

// Définir la deuxième étiquette pour montrer le nom de la série
lbl = series.getDataPoints().get_Item(1).getLabel();
lbl.getDataLabelFormat().setShowSeriesName(true);

// Montrer la valeur pour la troisième étiquette
lbl = series.getDataPoints().get_Item(2).getLabel();
lbl.getDataLabelFormat().setShowValue(true);
lbl.getDataLabelFormat().setShowSeriesName(true);
lbl.getDataLabelFormat().setSeparator("/");

// Enregistrez la présentation avec le graphique
pres.save("NouvellePrésentation.pptx", aspose.slides.SaveFormat.Pptx);

Ajouter une image à PPT dans Node.js

  1. Créez une instance de la classe Presentation.
  2. Obtenez la référence de la diapositive où vous souhaitez ajouter une image via son index.
  3. Créez un objet IPPImage en ajoutant une image à la IImagescollection associée à l’objet présentation qui sera utilisé pour remplir la forme.
  4. Spécifiez la largeur et la hauteur de l’image.
  5. Créez un PictureFrame basé sur la largeur et la hauteur de l’image via la méthode AddPictureFrame exposée par l’objet forme associé à la diapositive référencée.
  6. Ajoutez un cadre d’image (contenant l’image) à la diapositive.
  7. Enregistrez la présentation en tant que fichier 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("NouvellePrésentation.pptx", aspose.slides.SaveFormat.Pptx);    
});

Conclusion

Dans cet article, nous vous avons guidé à travers les opérations de création de PowerPoint dans Node.js et l’exécution d’autres tâches en exécutant simplement quelques lignes de code Node.js. Vous pourriez être intéressé à en savoir plus sur l’API PowerPoint puissante qui rend tout cela facile.

Voir aussi