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.FossKorak 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
| Format | Enum vrednost | Podržano |
|---|---|---|
| PPTX (Office Open XML) | SaveFormat.Pptx | Da |
| N/A | Ne | |
| HTML | N/A | Ne |
| SVG | N/A | Ne |
| PNG / JPEG | N/A | Ne |
| ODP (OpenDocument) | N/A | Ne |
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 originalDa 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.