Com desar presentacions a .NET

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.Foss

Pas 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

FormatValor d’EnumeracióAdmet
PPTX (Office Open XML)SaveFormat.Pptx
PDFN/ANo
HTMLN/ANo
SVGN/ANo
PNG / JPEGN/ANo
ODP (OpenDocument)N/ANo

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 original

Desar 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.


Vegeu també

 Català