Com desar presentacions a .NET
Aspose.Slides FOSS per .NET desa les presentacions exclusivament al format .pptx utilitzant prs.Save(path, SaveFormat.Pptx). Aquesta guia cobreix el patró correcte de desament, desar a una ruta diferent, desar a un flux i errors comuns relacionats amb el desament.
Guia pas a pas
Pas 1: Instal·la el paquet
dotnet add package Aspose.Slides.FossPas 2: Obre o crea una presentació
Sempre utilitzeu una declaració using. La crida de desament ha de succeir abans que l’objecte sigui alliberat.
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);Pas 3: Desa després de totes les modificacions
Col·loqueu la crida Save() després que totes les modificacions estiguin completes, abans que finalitzi l’àmbit using.
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);Pas 4: Desa a una ruta diferent
Passeu un camí d’eixida diferent per crear un fitxer nou sense modificar l’original:
using var prs = new Presentation("template.pptx");
// modify ...
prs.Save("customized.pptx", SaveFormat.Pptx);El fitxer template.pptx no es modifica; customized.pptx es crea (o es sobreescriu si ja existeix).
Pas 5: Desar a un flux
El mètode Presentation.Save també accepta 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");Pas 6: Verifica la sortida
Després de desar a un fitxer, comprova que existeix:
var info = new FileInfo("output.pptx");
Console.WriteLine($"Saved: {info.Exists}, size: {info.Length} bytes");Formats de desament compatibles
| Format | Valor d’Enumeració | Admet |
|---|---|---|
| PPTX (Office Open XML) | SaveFormat.Pptx | Sí |
| N/A | No | |
| HTML | N/A | No |
| SVG | N/A | No |
| PNG / JPEG | N/A | No |
| ODP (OpenDocument) | N/A | No |
Només es suporta PPTX. El paràmetre de format s’ignora actualment; totes les presentacions es desen com a PPTX independentment del SaveFormat especificat.
Problemes comuns i solucions
IOException: The process cannot access the file
El fitxer de sortida està obert en una altra aplicació (p. ex., PowerPoint té el fitxer obert). Tanqueu el fitxer en altres aplicacions abans de desar.
El fitxer es crea però apareix buit o corromput
Assegureu que prs.Save() es cridi abans que l’objecte sigui alliberat. Després d’executar Dispose(), les crides posteriors fallaran o produiran una sortida corrupta.
Format de sortida inesperat en desar
Passar qualsevol valor SaveFormat diferent de SaveFormat.Pptx no llança una excepció — el paràmetre de format s’ignora silenciosament i el fitxer sempre es desa com a PPTX. No hi ha NotSupportedException per a un valor de format no reconegut.
Preguntes freqüents
Puc desar al mateix fitxer que vaig obrir?
Sí. Desar al mateix camí sobrescriu el fitxer original:
using var prs = new Presentation("deck.pptx");
// modify ...
prs.Save("deck.pptx", SaveFormat.Pptx); // overwrites originalDesar conserva el contingut que no he modificat?
Sí. Les parts XML desconegudes del fitxer original es conserven literalment. La biblioteca només serialitza les parts del model de document que entén i passa a través de qualsevol XML que no reconeix.