Kako spremiti 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 spremanja, spremanje na drugu putanju, spremanje u tok i uobičajene pogreške vezane uz spremanje.
Vodič korak po korak
Korak 1: Instalirajte paket
dotnet add package Aspose.Slides.FossKorak 2: Otvorite ili stvorite prezentaciju
Uvijek koristite using izraz. 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: Spremite nakon svih izmjena
Postavite Save() poziv nakon što su sve izmjene dovršene, prije 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: Spremite na drugi put
Proslijedite drugi izlazni put 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 datoteka nije izmijenjena; customized.pptx se stvara (ili prepisuje ako već postoji).
Korak 5: Spremi u tok
Metoda Presentation.Save metoda 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 da li postoji:
var info = new FileInfo("output.pptx");
Console.WriteLine($"Saved: {info.Exists}, size: {info.Length} bytes");Podržani format spremanja
| Format | Enum vrijednost | 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 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 datoteku otvorenu). Zatvorite datoteku u drugim aplikacijama prije spremanja.
Datoteka je stvorena, ali izgleda prazna ili oštećena
Osigurajte prs.Save() se poziva prije nego što se objekt uništi. Nakon Dispose() se izvrši, daljnji pozivi će neuspjeti ili proizvesti oštećen izlaz.
Neočekivani format izlaza pri spremanju
Prosljeđivanje bilo kojeg SaveFormat vrijednosti osim SaveFormat.Pptx ne baca 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 originalZadržava li spremanje sadržaj koji nisam modificirao?
Da. Nepoznati XML dijelovi iz originalne datoteke se čuvaju doslovno. Biblioteka serijalizira samo dijelove modela dokumenta koje razumije i propušta sve XML‑ove koje ne prepoznaje.