Kako sačuvati prezentacije u .NET

Kako sačuvati prezentacije u .NET

Aspose.Slides FOSS for .NET saves presentations exclusively to .pptx format koristeći prs.Save(path, SaveFormat.Pptx). Ovaj vodič pokriva ispravan obrazac čuvanja, čuvanje na drugu putanju, čuvanje u tok, i uobičajene greške vezane za čuvanje.

Vodič korak po korak

Korak 1: Instalirajte paket

dotnet add package Aspose.Slides.Foss

Korak 2: Otvorite ili kreirajte prezentaciju

Uvek koristite using izraz. Poziv za čuvanje mora da se izvrši pre nego što se objekat oslobodi.

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

Korak 3: Sačuvajte nakon svih izmena

Postavite Save() poziv nakon što su sve izmene završene, pre nego što using opseg se završi.

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

Korak 4: Sačuvajte na drugu putanju

Prosledite drugu izlaznu putanju da biste kreirali novu datoteku bez izmene originala:

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

The template.pptx datoteka nije izmenjena; customized.pptx se kreira (ili prepisuje ako već postoji).


Korak 5: Sačuvajte u tok

The Presentation.Save metod takođe prihvata 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");

Korak 6: Verifikujte izlaz

Nakon čuvanja u fajl, proverite da li postoji:

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

Podržani format za čuvanje

FormatEnum vrednostPodržano
PPTX (Office Open XML)SaveFormat.PptxDa
PDFN/ANe
HTMLN/ANe
SVGN/ANe
PNG / JPEGN/ANe
ODP (OpenDocument)N/ANe

Podržan je samo PPTX. Parametar formata se trenutno ignoriše; sve prezentacije se čuvaju kao PPTX bez obzira na navedeni SaveFormat.


Uobičajeni problemi i rešenja

IOException: The process cannot access the file

Izlazna datoteka je otvorena u drugoj aplikaciji (npr. PowerPoint ima datoteku otvorenu). Zatvorite datoteku u drugim aplikacijama pre nego što sačuvate.

Datoteka je kreirana, ali izgleda prazna ili oštećena

Osiguraj prs.Save() se poziva pre nego što je objekat oslobođen. Nakon Dispose() se pokrene, naredni pozivi će propasti ili proizvesti oštećen izlaz.

Neočekivani format izlaza prilikom čuvanja

Prosleđivanje bilo kog SaveFormat vrednosti osim SaveFormat.Pptx ne baca izuzetak — parametar format se tiho ignoriše i fajl se uvek čuva kao PPTX. Ne postoji NotSupportedException za neprepoznatu vrednost formata.


Često postavljana pitanja

Mogu li da sačuvam u istu datoteku koju sam otvorio?

Da. Čuvanje na istu putanju prepisuje originalnu datoteku:

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

Da li čuvanje čuva sadržaj koji nisam izmenio?

Da. Nepoznati XML delovi iz originalne datoteke se čuvaju doslovno. Biblioteka serijalizuje samo one delove modela dokumenta koje razume, a sve XML‑ove koje ne prepoznaje propušta.


Vidi takođe

 Српски