Comment enregistrer des présentations en .NET

Comment enregistrer des présentations en .NET

Aspose.Slides FOSS for .NET enregistre les présentations exclusivement au format .pptx en utilisant prs.Save(path, SaveFormat.Pptx). Ce guide couvre le modèle d’enregistrement correct, l’enregistrement vers un chemin différent, l’enregistrement vers un flux et les erreurs courantes liées à l’enregistrement.

Guide étape par étape

Étape 1 : Installer le package

dotnet add package Aspose.Slides.Foss

Étape 2 : Ouvrir ou créer une présentation

Utilisez toujours une instruction using. L’appel de sauvegarde doit être effectué avant que l’objet ne soit libéré.

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

// Create new
using var prs = new Presentation();
prs.Save("new.pptx", SaveFormat.Pptx);
// Open existing
using var prs = new Presentation("input.pptx");
prs.Save("output.pptx", SaveFormat.Pptx);

Étape 3 : Enregistrer après toutes les modifications

Placez l’appel Save() après que toutes les modifications soient terminées, avant que la portée using ne se termine.

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, 300, 100);
shape.AddTextFrame("Hello, World!");
prs.Save("output.pptx", SaveFormat.Pptx);

Étape 4 : Enregistrer dans un autre chemin

Passez un chemin de sortie différent pour créer un nouveau fichier sans modifier l’original :

using var prs = new Presentation("template.pptx");
// modify ...
prs.Save("customized.pptx", SaveFormat.Pptx);

Le fichier template.pptx n’est pas modifié ; customized.pptx est créé (ou écrasé s’il existe déjà).


Étape 5 : Enregistrer dans un flux

La méthode Presentation.Save accepte également un Stream:

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

using var prs = new Presentation();
using var stream = new MemoryStream();
prs.Save(stream, SaveFormat.Pptx);
byte[] pptxBytes = stream.ToArray();
Console.WriteLine($"Size: {pptxBytes.Length} bytes");

Étape 6 : Vérifier la sortie

Après avoir enregistré dans un fichier, vérifiez qu’il existe :

var info = new FileInfo("output.pptx");
Console.WriteLine($"Saved: {info.Exists}, size: {info.Length} bytes");

Format d’enregistrement pris en charge

FormatValeur d’énumérationPris en charge
PPTX (Office Open XML)SaveFormat.PptxOui
PDFN/ANon
HTMLN/ANon
SVGN/ANon
PNG / JPEGN/ANon
ODP (OpenDocument)N/ANon

Seul le PPTX est pris en charge. Le paramètre de format est actuellement ignoré ; toutes les présentations sont enregistrées au format PPTX, quel que soit le SaveFormat spécifié.


Problèmes courants et solutions

IOException: The process cannot access the file

Le fichier de sortie est ouvert dans une autre application (par exemple, PowerPoint a le fichier ouvert). Fermez le fichier dans les autres applications avant d’enregistrer.

Fichier créé mais apparaît vide ou corrompu

Assurez-vous que prs.Save() est appelé avant que l’objet ne soit libéré. Après l’exécution de Dispose(), les appels ultérieurs échoueront ou produiront une sortie corrompue.

Format de sortie inattendu lors de l’enregistrement

Passer toute valeur SaveFormat autre que SaveFormat.Pptx ne génère pas d’exception — le paramètre de format est silencieusement ignoré et le fichier est toujours enregistré au format PPTX. Il n’existe pas de NotSupportedException pour une valeur de format non reconnue.


Foire aux questions

Puis-je enregistrer dans le même fichier que j’ai ouvert ?

Oui. Enregistrer dans le même chemin écrase le fichier original :

using var prs = new Presentation("deck.pptx");
// modify ...
prs.Save("deck.pptx", SaveFormat.Pptx);  // overwrites original

L’enregistrement préserve-t-il le contenu que je n’ai pas modifié ?

Oui. Les parties XML inconnues du fichier original sont conservées mot pour mot. La bibliothèque ne sérialise que les parties du modèle de document qu’elle comprend, et transmet telles quelles tout XML qu’elle ne reconnaît pas.


Voir aussi

 Français