Kuinka tallentaa esitykset .NET:ssa
Aspose.Slides FOSS for .NET saves presentations exclusively to .pptx formaattia käyttäen prs.Save(path, SaveFormat.Pptx). Tämä opas kattaa oikean tallennusmallin, tallentamisen eri polkuun, tallentamisen virtaan ja yleiset tallennukseen liittyvät virheet.
Vaiheittainen opas
Vaihe 1: Asenna paketti
dotnet add package Aspose.Slides.FossVaihe 2: Avaa tai luo esitys
Käytä aina using lausetta. Tallennuskutsu on suoritettava ennen kuin objekti vapautetaan.
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);Vaihe 3: Tallenna kaikkien muutosten jälkeen
Aseta Save() kutsu sen jälkeen, kun kaikki muutokset on tehty, ennen kuin using alue päättyy.
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);Vaihe 4: Tallenna eri polkuun
Anna eri tulostuspolku luodaksesi uusi tiedosto muuttamatta alkuperäistä:
using var prs = new Presentation("template.pptx");
// modify ...
prs.Save("customized.pptx", SaveFormat.Pptx);Tiedosto template.pptx tiedostoa ei muuteta; customized.pptx luodaan (tai ylikirjoitetaan, jos se on jo olemassa).
Vaihe 5: Tallenna virtaan
Metodi Presentation.Save metodi hyväksyy myös 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");Vaihe 6: Vahvista tulos
Tallennuksen jälkeen tiedostoon, tarkista että se on olemassa:
var info = new FileInfo("output.pptx");
Console.WriteLine($"Saved: {info.Exists}, size: {info.Length} bytes");Tuettu tallennusmuoto
| Formaatti | Enum-arvo | Tuettu |
|---|---|---|
| PPTX (Office Open XML) | SaveFormat.Pptx | Kyllä |
| N/A | Ei | |
| HTML | N/A | Ei |
| SVG | N/A | Ei |
| PNG / JPEG | N/A | Ei |
| ODP (OpenDocument) | N/A | Ei |
Vain PPTX on tuettu. Formaatti‑parametriä ohitetaan tällä hetkellä; kaikki esitykset tallennetaan PPTX-muodossa riippumatta määritetystä SaveFormatista.
Yleisiä ongelmia ja korjauksia
IOException: The process cannot access the file
Tulostustiedosto on avoinna toisessa sovelluksessa (esim. PowerPoint on avannut tiedoston). Sulje tiedosto muissa sovelluksissa ennen tallentamista.
Tiedosto on luotu, mutta se näyttää tyhjältä tai vioittuneelta
Varmista prs.Save() kutsutaan ennen kuin objekti on vapautettu. Tämän jälkeen Dispose() suoritetaan, myöhemmät kutsut epäonnistuvat tai tuottavat vioittunutta tulostetta.
Odottamaton tulostusformaatti tallennettaessa
Minkä tahansa SaveFormat arvo kuin SaveFormat.Pptx ei heitä poikkeusta — formaatti‑parametri jätetään hiljaisesti huomiotta ja tiedosto tallennetaan aina PPTX‑muodossa. Ei ole NotSupportedException tunnistamattomalle formaattiarvolle.
Usein kysytyt kysymykset
Voinko tallentaa samaan tiedostoon, jonka avasin?
Kyllä. Tallentaminen samaan polkuun korvaa alkuperäisen tiedoston:
using var prs = new Presentation("deck.pptx");
// modify ...
prs.Save("deck.pptx", SaveFormat.Pptx); // overwrites originalSäilyttääkö tallennus sisällön, jota en ole muokannut?
Kyllä. Alkuperäisen tiedoston tuntemattomat XML-osat säilytetään tarkalleen sellaisina kuin ne ovat. Kirjasto sarjoittaa vain ne dokumenttimallin osat, jotka se ymmärtää, ja ohjaa läpi kaikki XML, jota se ei tunnista.