Kako spremiti prezentacije u .NET

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.Foss

Korak 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

FormatEnum vrijednostPodrž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 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 original

Zadrž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.


Vidi također

 Hrvatski