Comment utiliser C# pour créer une présentation PowerPoint
Regan Pun
mars 6, 2024
Mise à jour avril 3, 2025
Partager:
Introduction
Présentations PowerPoint sont essentielles pour les rapports d'entreprise, les présentations de vente, les conférences académiques et les tableaux de bord générés par logiciel. Cependant, créer des diapositives PowerPoint manuellement peut être fastidieux et chronophage.
Ne serait-il pas formidable de pouvoir automatiser la création de PowerPoint en C# sans avoir besoin de télécharger des bibliothèques d'interopérabilité ? C'est là qu'intervient la puissante bibliothèque PowerPoint d'Iron Software, IronPPT. IronPPT est une bibliothèque .NET puissante qui permet aux développeurs de créer, modifier et exporter des présentations PowerPoint de manière programmatique avec facilité, sans besoin de la bibliothèque d'interopérabilité Microsoft PowerPoint. Que vous ayez besoin de générer des diapositives dynamiquement, d'insérer des graphiques ou de convertir des présentations en PDF, IronPPT offre une solution simple et efficace.
Aujourd'hui, nous allons explorer comment créer des présentations PowerPoint en C# en utilisant IronPPT. Nous aborderons :
Ajout de diapositives, de texte, d'images et de formes
Meilleures pratiques pour l'automatisation de PowerPoint
Plongeons-nous dedans ! 🚀
Premiers pas avec IronPPT
Avant de plonger dans la création de présentations de manière programmatique, configurons d'abord notre environnement de développement.
Installation de IronPPT
Pour utiliser IronPPT, installez le package NuGet dans votre projet C# :
Ouvrez Visual Studio.
Ouvrez la Console du gestionnaire de paquets (Outils > Gestionnaire de paquets NuGet > Console du gestionnaire de paquets).
Exécutez la commande suivante : ``
Install-Package IronPPT ``
Alternativement, vous pouvez l'installer en allant dans "Outils -> Gestionnaire de packages NuGet -> Gérer les packages NuGet pour la solution", recherchez IronPPT, puis cliquez sur "Installer".
Créez un nouveau projet d'application Console.
Une fois installé, vous êtes prêt à commencer à créer des présentations PowerPoint au sein de notre .NET Framework.
Créer une présentation PowerPoint en C#
1. Initialisation d'un fichier PowerPoint
La première étape de l'automatisation PowerPoint consiste à créer un nouveau fichier PowerPoint. Avec IronPPT, vous pouvez générer des présentations PowerPoint par programmation et les enregistrer sous forme de fichiers .pptx. Par défaut, le fichier PowerPoint généré est compatible avec Microsoft PowerPoint, Google Slides et d'autres logiciels qui prennent en charge le format .pptx. Pour l'exemple d'aujourd'hui, nous allons créer un nouveau projet Visual Studio.
Alors, pour notre premier exemple de code, nous allons créer un nouveau fichier de présentation PowerPoint vide. Ce sera notre point de départ, un simple fichier de présentation PowerPoint auquel nous pourrons ajouter du texte, du style, et plus encore par la suite.
using IronPPT;
class Program
{
static void main()
{
// Creating a new PresentationDocument object
var ppt = new PresentationDocument();
// Save the blank file presentation
ppt.Save("example.pptx");
}
}
using IronPPT;
class Program
{
static void main()
{
// Creating a new PresentationDocument object
var ppt = new PresentationDocument();
// Save the blank file presentation
ppt.Save("example.pptx");
}
}
Imports IronPPT
Friend Class Program
Private Shared Sub main()
' Creating a new PresentationDocument object
Dim ppt = New PresentationDocument()
' Save the blank file presentation
ppt.Save("example.pptx")
End Sub
End Class
$vbLabelText $csharpLabel
Fichier de sortie
Lorsque nous ouvrons la nouvelle présentation dans notre programme PowerPoint, nous pouvons voir qu'elle ne contient à ce stade qu'une seule diapositive vierge.
2. Ajouter des diapositives à PowerPoint
Une présentation PowerPoint se compose de plusieurs diapositives, chacune pouvant avoir des mises en page, du texte, des images et des éléments de design différents. En utilisant IronPPT, vous pouvez ajouter des diapositives dynamiquement à une présentation, modifier leur mise en page, et insérer du contenu par programmation. Ceci est utile pour les systèmes de reporting automatisés, les exportations de tableaux de bord et la génération de présentations.
À ce stade, notre document PowerPoint n'est qu'une seule diapositive vierge sans aucun contenu ni diapositives supplémentaires. Voyons comment vous pouvez commencer à ajouter des diapositives à votre présentation PowerPoint.
using IronPPT;
using IronPPT.Models;
// Loading in our presentation file
var ppt = new PresentationDocument("output.pptx");
ppt.AddSlide();
ppt.Save("output.pptx");
using IronPPT;
using IronPPT.Models;
// Loading in our presentation file
var ppt = new PresentationDocument("output.pptx");
ppt.AddSlide();
ppt.Save("output.pptx");
Imports IronPPT
Imports IronPPT.Models
' Loading in our presentation file
Private ppt = New PresentationDocument("output.pptx")
ppt.AddSlide()
ppt.Save("output.pptx")
$vbLabelText $csharpLabel
Sortie
🔹 En plus d'ajouter des diapositives simples comme celles-ci, vous pouvez ajouter plusieurs diapositives et les modifier dynamiquement en utilisant IronPPT. Pour notre exemple, nous avons uniquement ajouté deux diapositives à notre présentation, mais vous pouvez en ajouter autant que nécessaire.
3. Ajout de texte, d'images et de mise en forme
Une fois que vous avez ajouté des diapositives, l'étape suivante consiste à insérer du contenu. IronPPT vous permet d'ajouter :
Texte : Titres, paragraphes et contenu formaté.
Images : Logos, graphiques et captures d'écran.
Mise en forme personnalisée : Polices, couleurs et alignement.
Par exemple, vous pouvez ajouter un titre à une diapositive, insérer une image et la positionner de manière dynamique en fonction de vos besoins de mise en page. En utilisant les classes ParagraphStyle et TextStyle d'IronPPT, nous pouvons appliquer un formatage et un style personnalisé au texte lors de son ajout aux diapositives.
Ajout de texte à une présentation PowerPoint
using IronPPT;
using IronPPT.Models;
using IronPPT.Enums;
// Creating a new PresentationDocument object
var ppt = new PresentationDocument("test.pptx");
// Adding simple text to the title slide
ppt.Slides[0].TextBoxes[0].AddText("Welcome to IronPPT");
TextBox textBox = new TextBox();
textBox.Type = ShapeType.Rectangle;
textBox.Width = 500;
textBox.Height = 200;
textBox.Position = (100, 100);
ppt.Slides[1].AddChild(textBox);
// Adding a styled paragraph to the second slide
var style = new ParagraphStyle()
{
Alignment = TextAlignmentTypeValues.Center,
NoBullet = true,
LineSpacing = 30,
ContextualSpacing = true,
};
TextStyle textStyle = new TextStyle()
{
IsBold = true,
Color = Color.Blue,
};
var paragraph = new Paragraph();
paragraph.Style = style;
paragraph.AddText("Let's create some awesome presentations with IronPPT!");
paragraph.TextStyle = textStyle;
ppt.Slides[1].TextBoxes[0].AddParagraph(paragraph);
ppt.Save("example.pptx");
using IronPPT;
using IronPPT.Models;
using IronPPT.Enums;
// Creating a new PresentationDocument object
var ppt = new PresentationDocument("test.pptx");
// Adding simple text to the title slide
ppt.Slides[0].TextBoxes[0].AddText("Welcome to IronPPT");
TextBox textBox = new TextBox();
textBox.Type = ShapeType.Rectangle;
textBox.Width = 500;
textBox.Height = 200;
textBox.Position = (100, 100);
ppt.Slides[1].AddChild(textBox);
// Adding a styled paragraph to the second slide
var style = new ParagraphStyle()
{
Alignment = TextAlignmentTypeValues.Center,
NoBullet = true,
LineSpacing = 30,
ContextualSpacing = true,
};
TextStyle textStyle = new TextStyle()
{
IsBold = true,
Color = Color.Blue,
};
var paragraph = new Paragraph();
paragraph.Style = style;
paragraph.AddText("Let's create some awesome presentations with IronPPT!");
paragraph.TextStyle = textStyle;
ppt.Slides[1].TextBoxes[0].AddParagraph(paragraph);
ppt.Save("example.pptx");
Imports IronPPT
Imports IronPPT.Models
Imports IronPPT.Enums
' Creating a new PresentationDocument object
Private ppt = New PresentationDocument("test.pptx")
' Adding simple text to the title slide
ppt.Slides(0).TextBoxes(0).AddText("Welcome to IronPPT")
Dim textBox As New TextBox()
textBox.Type = ShapeType.Rectangle
textBox.Width = 500
textBox.Height = 200
textBox.Position = (100, 100)
ppt.Slides(1).AddChild(textBox)
' Adding a styled paragraph to the second slide
Dim style = New ParagraphStyle() With {
.Alignment = TextAlignmentTypeValues.Center,
.NoBullet = True,
.LineSpacing = 30,
.ContextualSpacing = True
}
Dim textStyle As New TextStyle() With {
.IsBold = True,
.Color = Color.Blue
}
Dim paragraph As New Paragraph()
paragraph.Style = style
paragraph.AddText("Let's create some awesome presentations with IronPPT!")
paragraph.TextStyle = textStyle
ppt.Slides(1).TextBoxes(0).AddParagraph(paragraph)
ppt.Save("example.pptx")
$vbLabelText $csharpLabel
Sortie
Dans le code ci-dessus, nous avons ajouté un nouveau texte à la boîte de texte existante sur l'écran titre. Nous avons également créé une nouvelle zone de texte pour la deuxième diapositive, avant d'y ajouter du texte de paragraphe stylé. Ceci est un exemple simple de la façon dont vous pouvez ajouter du texte entièrement personnalisé à vos présentations PowerPoint avec IronPPT.
Ajouter une image
Ensuite, ajoutons une image à notre diapositive de titre et personnalisons sa taille et sa position pour la placer comme nous le souhaitons sur la diapositive.
using IronPPT;
using IronPPT.Models;
// Creating a new PresentationDocument object
var ppt = new PresentationDocument();
Image image = new Image();
image.LoadFromFile("example.png");
var newImage = ppt.Slides[0].AddImage(image);
newImage.Position = (150, 300);
newImage.Name = "IronPPT";
newImage.Width = 450;
newImage.Height = 200;
ppt.Save("output.pptx");
using IronPPT;
using IronPPT.Models;
// Creating a new PresentationDocument object
var ppt = new PresentationDocument();
Image image = new Image();
image.LoadFromFile("example.png");
var newImage = ppt.Slides[0].AddImage(image);
newImage.Position = (150, 300);
newImage.Name = "IronPPT";
newImage.Width = 450;
newImage.Height = 200;
ppt.Save("output.pptx");
Imports IronPPT
Imports IronPPT.Models
' Creating a new PresentationDocument object
Private ppt = New PresentationDocument()
Private image As New Image()
image.LoadFromFile("example.png")
Dim newImage = ppt.Slides(0).AddImage(image)
newImage.Position = (150, 300)
newImage.Name = "IronPPT"
newImage.Width = 450
newImage.Height = 200
ppt.Save("output.pptx")
$vbLabelText $csharpLabel
Sortie
4. Personnalisation des diapositives avec des formes et des graphiques
Au-delà des simples textes et images, les présentations PowerPoint contiennent souvent des éléments visuels tels que des formes. Avec IronPPT, nous pouvons ajouter des formes à notre fichier de présentation aussi facilement que nous avons ajouté le texte et l'image auparavant.
Pour démontrer, nous allons créer une forme circulaire et la dessiner sur la diapositive spécifiée à une position précise.
using IronPPT;
using IronPPT.Models;
using IronPPT.Enums;
// Creating a new PresentationDocument object
var ppt = new PresentationDocument("example.pptx");
Shape shape = new Shape();
shape.Name = "Circle";
shape.Type = ShapeType.Ellipse;
shape.Width = 300;
shape.Height = 300;
shape.FillColor = Color.PowderBlue;
shape.OutlineColor = Color.Black;
shape.Position = (180, 200);
ppt.Slides[1].AddShape(shape);
ppt.Save("example.pptx");
using IronPPT;
using IronPPT.Models;
using IronPPT.Enums;
// Creating a new PresentationDocument object
var ppt = new PresentationDocument("example.pptx");
Shape shape = new Shape();
shape.Name = "Circle";
shape.Type = ShapeType.Ellipse;
shape.Width = 300;
shape.Height = 300;
shape.FillColor = Color.PowderBlue;
shape.OutlineColor = Color.Black;
shape.Position = (180, 200);
ppt.Slides[1].AddShape(shape);
ppt.Save("example.pptx");
Imports IronPPT
Imports IronPPT.Models
Imports IronPPT.Enums
' Creating a new PresentationDocument object
Private ppt = New PresentationDocument("example.pptx")
Private shape As New Shape()
shape.Name = "Circle"
shape.Type = ShapeType.Ellipse
shape.Width = 300
shape.Height = 300
shape.FillColor = Color.PowderBlue
shape.OutlineColor = Color.Black
shape.Position = (180, 200)
ppt.Slides(1).AddShape(shape)
ppt.Save("example.pptx")
$vbLabelText $csharpLabel
Sortie
Meilleures pratiques pour l'automatisation de PowerPoint en C#
Lors de l'automatisation de la génération de PowerPoint, prenez en compte les meilleures pratiques suivantes :
1. Optimiser les performances pour les grandes présentations
Limitez le nombre de diapositives pour prévenir la surcharge de mémoire.
Utilisez la compression pour les images afin de réduire la taille du fichier.
Évitez les objets redondants pour maintenir l'efficacité de la présentation.
2. Maintenir un design cohérent
Utilisez des polices et couleurs cohérentes pour maintenir l'identité de marque.
Appliquez des modèles de diapositives pour garantir une apparence professionnelle.
Structurez le contenu de manière logique pour améliorer la lisibilité.
3. Gérez les erreurs et exceptions avec élégance
Implémenter la gestion des erreurs pour gérer les entrées invalides.
Validez les chemins d'image avant d'insérer des images.
Assurez-vous que les fichiers exportés ont le bon format et les bonnes autorisations.
En suivant ces meilleures pratiques, vous pouvez créer des présentations PowerPoint de haute qualité et professionnelles tout en garantissant fiabilité et efficacité.
Conclusion
L'automatisation de la création de PowerPoint en C# avec IronPPT révolutionne la donne pour les développeurs qui ont besoin de générer des présentations dynamiques rapidement et efficacement. Que vous développiez un système de reporting d'entreprise, un outil éducatif ou un tableau de bord commercial, IronPPT facilite la création et la manipulation de fichiers PowerPoint de manière programmée dans vos applications .NET.
Avec des fonctionnalités telles que la personnalisation des diapositives, l'insertion d'images et l'exportation en PDF, IronPPT fournit tout ce dont vous avez besoin pour une automatisation PowerPoint fluide.
Prêt à essayer ? Téléchargez l'essai gratuit pour IronPPT dès aujourd'hui et commencez à créer des présentations PowerPoint automatisées en C#!
Regan est diplômé de l'université de Reading, où il a obtenu une licence en ingénierie électronique. Avant de rejoindre Iron Software, il s'était concentré sur une seule tâche. Ce qu'il apprécie le plus chez Iron Software, c'est la diversité des tâches qu'il peut accomplir, qu'il s'agisse d'apporter une valeur ajoutée aux ventes, à l'assistance technique, au développement de produits ou à la commercialisation. Il aime comprendre comment les développeurs utilisent la bibliothèque d'Iron Software et utiliser ces connaissances pour améliorer continuellement la documentation et développer les produits.
SUIVANT > Comment utiliser C# pour convertir PowerPoint en image
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier