Les présentations MS PowerPoint vous permettent de créer des diaporamas contenant du texte, des images, des graphiques, des animations et d’autres éléments. Diverses options de formatage supplémentaires vous permettent de rendre vos présentations plus attrayantes. Dans cet article, vous apprendrez à créer de telles présentations par programmation. Vous apprendrez à créer des présentations PPTX contenant du texte, des tableaux, des images et des graphiques à l’aide de C#.
- API PowerPoint C#
- Créer une présentation PowerPoint
- Ouvrir une présentation PowerPoint existante
- Ajouter une diapositive à une présentation
- Ajouter du texte à la diapositive de la présentation
- Créer un tableau dans la présentation
- Créer un graphique dans la présentation
- Ajouter une image dans la présentation
API C# PowerPoint - Télécharger gratuit
Aspose.Slides for .NET est une API de manipulation de présentation qui vous permet de créer et de manipuler des documents PowerPoint à partir de vos applications .NET. L’API fournit presque toutes les fonctionnalités possibles requises pour implémenter des fonctionnalités d’automatisation PowerPoint de base et avancées. Vous pouvez soit télécharger l’API ou l’installer via NuGet.
Install-Package Aspose.Slides.NET
Créer une présentation PowerPoint en C#
Commençons par créer une présentation PowerPoint vide à l’aide de Aspose.Slides for .NET. Voici les étapes à suivre.
- Créez une instance de la classe Presentation.
- Enregistrez-le au format PPTX à l’aide de la méthode Presentation.Save(String, SaveFormat).
L’exemple de code suivant montre comment créer une présentation PowerPoint en C#.
// Instancier un objet Presentation qui représente un fichier de présentation
using (Presentation presentation = new Presentation())
{
// Obtenir la première diapositive
ISlide slide = presentation.Slides[0];
// Ajouter du contenu à la diapositive...
// Enregistrer la présentation
presentation.Save("NewPresentation.pptx", SaveFormat.Pptx);
}
Ouvrir une présentation PowerPoint existante en C#
Vous n’avez pas besoin de déployer des efforts supplémentaires pour ouvrir une présentation PowerPoint existante. Fournissez simplement le chemin du fichier PPTX au constructeur de la classe Presentation et vous avez terminé. L’exemple de code suivant montre comment ouvrir une présentation PPTX existante.
// Ouverture du fichier de présentation en transmettant le chemin du fichier au constructeur de la classe Presentation
Presentation pres = new Presentation("OpenPresentation.pptx");
// Impression du nombre total de diapositives de la présentation
System.Console.WriteLine(pres.Slides.Count.ToString());
Ajouter une diapositive à la présentation en C#
Une fois que vous avez créé la présentation, vous pouvez commencer à y ajouter les diapositives. Voici les étapes pour ajouter une diapositive dans la présentation à l’aide de Aspose.Slides for .NET.
- Créez une instance de la classe Presentation.
- Instanciez la classe ISlideCollection en définissant une référence à la propriété Presentations.Slides.
- Ajoutez une diapositive vide à la présentation à l’aide de la méthode Slide.AddEmptySlide(ILayoutSlide) exposée par l’objet ISlideCollection
- Enregistrez le fichier de présentation à l’aide de la méthode Presentation.Save(String, SaveFormat).
L’exemple de code suivant montre comment ajouter une diapositive dans une présentation PowerPoint à l’aide de C#.
// Instancier la classe Presentation qui représente le fichier de présentation
using (Presentation pres = new Presentation())
{
// Instancier la classe SlideCollection
ISlideCollection slds = pres.Slides;
for (int i = 0; i < pres.LayoutSlides.Count; i++)
{
// Ajouter une diapositive vide à la collection Slides
slds.AddEmptySlide(pres.LayoutSlides[i]);
}
// Enregistrez le fichier PPTX sur le disque
pres.Save("EmptySlide_out.pptx", SaveFormat.Pptx);
}
Insérer du texte dans une diapositive à l’aide de C#
Nous pouvons maintenant ajouter du contenu aux diapositives de la présentation PowerPoint. Commençons par ajouter un morceau de texte à la diapositive en suivant les étapes suivantes.
- Créez une nouvelle présentation à l’aide de la classe Presentation.
- Obtenir la référence de la diapositive dans la présentation.
- Ajoutez un IAutoShape avec ShapeType comme Rectangle à une position spécifiée de la diapositive.
- Obtenez la référence de cet objet IAutoShape nouvellement ajouté.
- Ajoutez un TextFrame à la forme automatique contenant le texte par défaut.
- Enregistrez la présentation en tant que fichier PPTX.
L’exemple de code suivant montre comment ajouter du texte à une diapositive dans une présentation à l’aide de C#.
// Instancier PresentationEx// Instancier PresentationEx
using (Presentation pres = new Presentation())
{
// Obtenir la première diapositive
ISlide sld = pres.Slides[0];
// Ajouter une forme automatique de type Rectangle
IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50);
// Ajouter TextFrame au rectangle
ashp.AddTextFrame(" ");
// Accéder au cadre de texte
ITextFrame txtFrame = ashp.TextFrame;
// Créer l'objet Paragraph pour le bloc de texte
IParagraph para = txtFrame.Paragraphs[0];
// Créer un objet Portion pour le paragraphe
IPortion portion = para.Portions[0];
// Définir le texte
portion.Text = "Aspose TextBox";
// Enregistrer la présentation sur disque
pres.Save("presentation.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}
Créer un tableau dans une présentation à l’aide de C#
Aspose.Slides for .NET fournit un moyen simple de créer un tableau dans le document de présentation. Voici les étapes pour cela.
- Créez une instance de la classe Presentation.
- Obtenir la référence d’une diapositive en utilisant son index.
- Définissez des tableaux de colonnes avec une largeur et des lignes avec une hauteur.
- Ajoutez un tableau à la diapositive à l’aide de la méthode Slide.Shapes.AddTable() exposée par l’objet IShapes et obtenez la référence au tableau dans l’instance ITable.
- Parcourez chaque cellule pour appliquer la mise en forme.
- Ajoutez du texte aux cellules à l’aide de la propriété Table.Rows[][].TextFrame.Text.
- Enregistrez la présentation en tant que fichier PPTX.
L’exemple de code suivant montre comment créer un tableau dans une diapositive de présentation PowerPoint.
// Instancier la classe de présentation qui représente le fichier PPTX
Presentation pres = new Presentation();
// Accéder à la première diapositive
ISlide sld = pres.Slides[0];
// Définir des colonnes avec des largeurs et des lignes avec des hauteurs
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };
// Ajouter une forme de tableau à la diapositive
ITable tbl = sld.Shapes.AddTable(100, 50, dblCols, dblRows);
// Définir le format de bordure pour chaque cellule
for (int row = 0; row < tbl.Rows.Count; row++)
{
for (int cell = 0; cell < tbl.Rows[row].Count; cell++)
{
tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.SolidFillColor.Color = Color.Red;
tbl.Rows[row][cell].CellFormat.BorderTop.Width = 5;
tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.FillType = (FillType.Solid);
tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.SolidFillColor.Color= Color.Red;
tbl.Rows[row][cell].CellFormat.BorderBottom.Width =5;
tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.SolidFillColor.Color =Color.Red;
tbl.Rows[row][cell].CellFormat.BorderLeft.Width = 5;
tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.SolidFillColor.Color = Color.Red;
tbl.Rows[row][cell].CellFormat.BorderRight.Width = 5;
}
}
// Fusionner les cellules 1 et 2 de la ligne 1
tbl.MergeCells(tbl.Rows[0][0], tbl.Rows[1][1], false);
// Ajouter du texte à la cellule fusionnée
tbl.Rows[0][0].TextFrame.Text = "Merged Cells";
// Enregistrer PPTX sur le disque
pres.Save("table.pptx", SaveFormat.Pptx);
Créer un graphique dans une présentation à l’aide de C#
Voici les étapes pour ajouter un graphique dans une présentation PowerPoint à l’aide de C#.
- Créez une instance de la classe Presentation.
- Obtenir la référence d’une diapositive par index.
- Ajoutez un graphique avec le type souhaité à l’aide de la méthode ISlide.Shapes.AddChart(ChartType, Single, Single, Single, Single).
- Ajoutez un titre au graphique.
- Accédez à la feuille de calcul des données du graphique.
- Effacez toutes les séries et catégories par défaut.
- Ajouter de nouvelles séries et catégories.
- Ajoutez de nouvelles données de graphique pour les séries de graphiques.
- Définissez la couleur de remplissage des séries de graphiques.
- Ajoutez des étiquettes de série de graphiques.
- Enregistrez la présentation en tant que fichier PPTX.
L’exemple de code suivant montre comment ajouter un graphique dans une présentation à l’aide de C#.
// Instancier la classe de présentation qui représente le fichier PPTX
Presentation pres = new Presentation();
// Accéder à la première diapositive
ISlide sld = pres.Slides[0];
// Ajouter un graphique avec des données par défaut
IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500);
// Tableau de réglage Titre
// Chart.ChartTitle.TextFrameForOverriding.Text = "Titre de l'échantillon" ;
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;
// Définir la première série sur Afficher les valeurs
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;
// Définition de l'index de la feuille de données du graphique
int defaultWorksheetIndex = 0;
// Obtenir la feuille de calcul des données du graphique
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;
// Supprimer les séries et catégories générées par défaut
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
int s = chart.ChartData.Series.Count;
s = chart.ChartData.Categories.Count;
// Ajout de nouvelles séries
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.Type);
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.Type);
// Ajout de nouvelles catégories
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"));
// Prendre la première série de graphiques
IChartSeries series = chart.ChartData.Series[0];
// Remplir maintenant les données de la série
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, 20));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 50));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 30));
// Définition de la couleur de remplissage pour les séries
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Red;
// Prendre la deuxième série de graphiques
series = chart.ChartData.Series[1];
// Remplir maintenant les données de la série
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 2, 30));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 2, 10));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 2, 60));
// Définition de la couleur de remplissage pour les séries
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Green;
// La première étiquette affichera le nom de la catégorie
IDataLabel lbl = series.DataPoints[0].Label;
lbl.DataLabelFormat.ShowCategoryName = true;
lbl = series.DataPoints[1].Label;
lbl.DataLabelFormat.ShowSeriesName = true;
// Afficher la valeur pour la troisième étiquette
lbl = series.DataPoints[2].Label;
lbl.DataLabelFormat.ShowValue = true;
lbl.DataLabelFormat.ShowSeriesName = true;
lbl.DataLabelFormat.Separator = "/";
// Enregistrer la présentation avec le graphique
pres.Save("AsposeChart_out.pptx", SaveFormat.Pptx);
En savoir plus sur les grilles de présentation ici.
Ajouter une image dans la présentation
Voici les étapes pour ajouter des images dans la diapositive de présentation.
- Créez une nouvelle présentation en utilisant la classe Presentation.
- Lire l’image SVG à l’aide de la méthode File.ReadAllText(String path).
- Ajoutez une image à la diapositive à l’aide de la méthode Presentation.Slides[0].Shapes.AddPictureFrame(ShapeType shapeType, float x, float y,float width, float height, IPPImage image).
- Enregistrez la présentation.
L’exemple de code suivant montre comment ajouter une image à une présentation en C#.
// Créer une présentation
using (var p = new Presentation())
{
// Lire l'image
var svgContent = File.ReadAllText("image.svg");
// Ajouter une image à la collection d'images
var emfImage = p.Images.AddFromSvg(svgContent);
// Ajouter une image à la diapositive
p.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 0, 0, emfImage.Width, emfImage.Height, emfImage);
// Enregistrer la présentation
p.Save("presentation.pptx", SaveFormat.Pptx);
}
Conclusion
Dans cet article, vous avez appris à créer des présentations PowerPoint à partir de zéro à l’aide de C#. De plus, vous avez vu comment ajouter des diapositives, du texte, des tableaux, des images et des graphiques dans des présentations PPTX nouvelles ou existantes. Vous pouvez en savoir plus sur l’API en utilisant la documentation.
Voir également
- Protégez les présentations PowerPoint PPTX à l’aide de C#
- Créer des présentations MS PowerPoint dans ASP.NET
- Convertir PowerPoint PPTX/PPT en images PNG en C#
- Définir l’arrière-plan de la diapositive dans les présentations PowerPoint à l’aide de C#
- Générer des vignettes pour PowerPoint PPTX ou PPT à l’aide de C#
- Appliquer l’animation au texte dans PowerPoint à l’aide de C#
- Fractionner des présentations PowerPoint à l’aide de C#
Conseil : Outre la création de diapositives ou de présentations, Aspose.Slides fournit de nombreuses fonctionnalités qui vous permettent de travailler avec des présentations. Par exemple, en utilisant ses propres API, Aspose a développé une visionneuse en ligne gratuite pour les présentations Microsoft PowerPoint.