Kako spremiti prezentacije u .NET-u
Aspose.Slides FOSS for .NET sprema prezentacije isključivo u format .pptx koristeći prs.Save(path, SaveFormat.Pptx). Ovaj vodič pokriva ispravan obrazac spremanja, spremanje na drugu putanju, spremanje u tok i uobičajene pogreške povezane sa spremanjem.
Vodič korak po korak
Korak 1: Instalirajte paket
dotnet add package Aspose.Slides.FossKorak 2: Otvorite ili stvorite prezentaciju
Uvijek koristite izjavu using. Poziv za spremanje mora se dogoditi prije nego što se objekt uništi.
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: Spremi nakon svih izmjena
Postavite poziv Save() nakon što su sve izmjene dovršene, prije nego što using opseg 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: Spremi na drugu putanju
Proslijedite drugačiji put izlaza kako biste stvorili novu datoteku bez izmjene originala:
using var prs = new Presentation("template.pptx");
// modify ...
prs.Save("customized.pptx", SaveFormat.Pptx);Datoteka template.pptx nije izmijenjena; customized.pptx je stvorena (ili prepisana ako već postoji).
Korak 5: Spremi u tok
Metoda Presentation.Save također prihvaća 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: Provjeri izlaz
Nakon spremanja u datoteku, provjerite postoji li:
var info = new FileInfo("output.pptx");
Console.WriteLine($"Saved: {info.Exists}, size: {info.Length} bytes");Podržani format spremanja
| Format | Vrijednost enumeracije | 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 format trenutno se zanemaruje; sve prezentacije se spremaju kao PPTX bez obzira na navedeni SaveFormat.
Uobičajeni problemi i rješenja
IOException: The process cannot access the file
Izlazna datoteka je otvorena u drugoj aplikaciji (npr. PowerPoint ima otvorenu datoteku). Zatvorite datoteku u drugim aplikacijama prije spremanja.
Datoteka je stvorena, ali izgleda prazna ili oštećena
Osigurajte da se prs.Save() pozove prije nego što se objekt oslobodi. Nakon što Dispose() izvrši, daljnji pozivi će propasti ili proizvesti oštećen izlaz.
Neočekivani format izlaza pri spremanju
Prosljeđivanje bilo koje SaveFormat vrijednosti osim SaveFormat.Pptx ne izaziva iznimku — parametar formata se tiho ignorira i datoteka se uvijek sprema kao PPTX. Ne postoji NotSupportedException za neprepoznatu vrijednost formata.
Često postavljana pitanja
Mogu li spremiti u istu datoteku koju sam otvorio?
Da. Spremanje na istu putanju prepisuje originalnu datoteku:
using var prs = new Presentation("deck.pptx");
// modify ...
prs.Save("deck.pptx", SaveFormat.Pptx); // overwrites originalČuva li spremanje sadržaj koji nisam izmijenio?
Da. Nepoznati XML dijelovi iz originalne datoteke očuvani su doslovno. Biblioteka serijalizira samo dijelove modela dokumenta koje razumije i propušta sve XML‑ove koje ne prepoznaje.