Introduction

Aspose.Slides FOSS pour .NET est maintenant disponible sur NuGet : une bibliothèque gratuite, sous licence MIT, pour créer, lire et modifier des fichiers PowerPoint .pptx entièrement en C#, sans dépendance à Microsoft Office ou à aucun runtime propriétaire.

La bibliothèque est conçue pour les développeurs qui doivent générer ou manipuler des fichiers de présentation de manière programmatique : automatiser des diaporamas à partir de données, extraire le texte et les métadonnées des fichiers PPTX téléchargés, créer des pipelines de reporting basés sur des présentations, ou intégrer la création de présentations dans des applications ASP.NET. Parce que Aspose.Slides.Foss nécessite .NET 9.0 ou une version ultérieure, elle se déploie de façon identique sur Windows, macOS, Linux et les conteneurs Docker.

Fonctionnalités clés

  • Prise en charge complète du cycle complet PPTX : Ouvrez n’importe quel fichier .pptx, modifiez son contenu et enregistrez-le à nouveau sans perdre les parties XML inconnues que la bibliothèque ne comprend pas encore.
  • Gestion des diapositives : Ajoutez, supprimez et parcourez les diapositives à l’aide de prs.Slides ; la présentation commence avec une diapositive vierge après new Presentation().
  • AutoShapes, tableaux et connecteurs : Insérez des formes via slide.Shapes.AddAutoShape(), des données tabulaires via slide.Shapes.AddTable(), et des connecteurs visuels entre les formes via slide.Shapes.AddConnector().
  • Mise en forme de texte enrichi : Formatez le texte au niveau des caractères avec PortionFormat : taille de police, gras, italique, souligné et couleur ARGB via FillType.Solid et ColorFormat.
  • Types de remplissage : Appliquez des remplissages FillType.Solid, Gradient, Pattern ou Picture à n’importe quelle forme.
  • Effets visuels : Ombre externe, lueur, bord doux, flou, réflexion et ombre interne via shape.EffectFormat.
  • Mise en forme 3D : Biseau, caméra, dispositif d’éclairage, matériau et profondeur d’extrusion via shape.ThreeDFormat.
  • Notes du présentateur : Joignez du texte de notes à chaque diapositive via NotesSlideManager.AddNotesSlide().
  • Commentaires en fil : Ajoutez des commentaires avec les métadonnées de l’auteur et la position sur la diapositive.
  • Images intégrées : Intégrez depuis un chemin de fichier, des octets ou Stream.
  • Propriétés du document : Lisez et écrivez les propriétés de base, d’application et personnalisées.

Premiers pas

Installez depuis NuGet. .NET 9.0 ou version ultérieure est requis.

dotnet add package Aspose.Slides.Foss

Créez votre première présentation avec une forme et enregistrez‑la :

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation();
var slide = prs.Slides[0];
var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 400, 120);
shape.AddTextFrame("Hello from Aspose.Slides FOSS!");
prs.Save("hello.pptx", SaveFormat.Pptx);

Utilisez toujours Presentation à l’intérieur d’un bloc using ; cela garantit que toutes les ressources internes sont libérées lorsque le bloc se termine.

Exemple de formatage de texte

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;

using var prs = new Presentation();
var shape = prs.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 500, 150);
var tf = shape.AddTextFrame("Bold heading in corporate blue");
var fmt = tf.Paragraphs[0].Portions[0].PortionFormat;
fmt.FontHeight = 28;
fmt.FontBold = NullableBool.True;
fmt.FillFormat.FillType = FillType.Solid;
fmt.FillFormat.SolidFillColor.Color = Color.FromArgb(255, 0, 70, 127);
prs.Save("formatted.pptx", SaveFormat.Pptx);

Limitations actuelles

Les zones suivantes ne sont pas prises en charge dans cette version :

  • Graphiques, SmartArt et objets OLE
  • Animations et transitions de diapositives
  • Exportation vers PDF, HTML, SVG ou formats d’image
  • Hyperliens, paramètres d’action, macros VBA et signatures numériques

Les parties XML inconnues rencontrées lors du chargement sont conservées verbatim lors de l’enregistrement, de sorte que les fichiers PPTX produits par d’autres outils effectuent un aller‑retour en toute sécurité.

Voir aussi