Cum să salvaţi prezentări în .NET

Cum să salvaţi prezentări în .NET

Aspose.Slides FOSS pentru .NET salvează prezentările exclusiv în formatul .pptx utilizând prs.Save(path, SaveFormat.Pptx). Acest ghid acoperă modelul corect de salvare, salvarea într-o altă cale, salvarea într-un flux și erorile comune legate de salvare.

Ghid pas cu pas

Pasul 1: Instalați pachetul

dotnet add package Aspose.Slides.Foss

Pasul 2: Deschideți sau creaţi o prezentare

Utilizați întotdeauna o declarație using. Apelul de salvare trebuie să aibă loc înainte ca obiectul să fie eliberat.

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);

Pasul 3: Salvează după toate modificările

Plasați apelul Save() după ce toate modificările sunt finalizate, înainte ca domeniul using să se încheie.

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);

Pasul 4: Salvează într-o altă cale

Furnizați o cale de ieșire diferită pentru a crea un fișier nou fără a modifica originalul:

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

Fișierul template.pptx nu este modificat; customized.pptx este creat (sau suprascris dacă există deja).


Pasul 5: Salvează într-un flux

Metoda Presentation.Save acceptă, de asemenea, 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");

Pasul 6: Verificați rezultatul

După salvarea într-un fișier, verificaţi dacă există:

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

Format de salvare acceptat

FormatValoare EnumSuportat
PPTX (Office Open XML)SaveFormat.PptxDa
PDFN/ANu
HTMLN/ANu
SVGN/ANu
PNG / JPEGN/ANu
ODP (OpenDocument)N/ANu

Doar PPTX este acceptat. Parametrul format este în prezent ignorat; toate prezentările sunt salvate ca PPTX, indiferent de SaveFormat specificat.


Probleme comune și soluții

IOException: The process cannot access the file

Fișierul de ieșire este deschis într-o altă aplicație (de exemplu, PowerPoint are fișierul deschis). Închideți fișierul în alte aplicații înainte de a salva.

Fișierul este creat, dar pare gol sau corupt.

Asigurați-vă că prs.Save() este apelat înainte ca obiectul să fie eliberat. După ce Dispose() rulează, apelurile ulterioare vor eșua sau vor produce rezultate corupte.

Format de ieșire neașteptat la salvare

Transmiterea oricărei valori SaveFormat diferită de SaveFormat.Pptx nu aruncă o excepție — parametrul format este ignorat în tăcere și fișierul este întotdeauna salvat ca PPTX. Nu există NotSupportedException pentru o valoare de format nerecunoscută.


Întrebări frecvente

Pot să salvez în același fișier pe care l-am deschis?

Da. Salvarea în aceeași cale suprascrie fișierul original:

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

Salvarea păstrează conținutul pe care nu l-am modificat?

Da. Părțile XML necunoscute din fișierul original sunt păstrate exact așa. Biblioteca serializează doar părțile modelului de document pe care le înțelege și trece prin orice XML pe care nu îl recunoaște.


Vezi și

 Română