Kaip įkelti pristatymus .NET
Aspose.Slides FOSS for .NET leidžia atverti bet kokį .pptx failą, peržiūrėti jo turinį ir arba išsaugoti jį atgal į PPTX, arba išgauti duomenis iš jo. Šiame vadove apžvelgiami failo atvėrimas, skaidrių peržiūra, formų teksto skaitymas ir round‑tripping išsaugojimas.
Žingsnis po žingsnio vadovas
Žingsnis 1: Įdiekite paketą
dotnet add package Aspose.Slides.FossŽingsnis 2: Atidaryti esamą pristatymą
Perduokite failo kelią new Presentation(). Naudokite using sakinį, kad užtikrintumėte išvalymą.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation("input.pptx");
Console.WriteLine($"Slide count: {prs.Slides.Count}");
prs.Save("output.pptx", SaveFormat.Pptx);Nežinomos XML dalys šaltinio faile išsaugomos nepakitusiomis: biblioteka niekada nepašalina turinio, kurio dar nesupranta.
3 žingsnis: Peržiūrėti skaidres
Iteruokite per visas skaidres ir išveskite jų indeksą:
using Aspose.Slides.Foss;
using var prs = new Presentation("deck.pptx");
for (int i = 0; i < prs.Slides.Count; i++)
{
var slide = prs.Slides[i];
int shapeCount = slide.Shapes.Count;
Console.WriteLine($"Slide {i}: {shapeCount} shapes");
}Žingsnis 4: Skaityti formos tekstą
Iteruokite per formas ir skaitykite tekstą iš formų, kurios turi TextFrame:
using Aspose.Slides.Foss;
using var prs = new Presentation("deck.pptx");
foreach (var slide in prs.Slides)
{
foreach (var shape in slide.Shapes)
{
if (shape is IAutoShape autoShape && autoShape.TextFrame != null)
{
string text = autoShape.TextFrame.Text;
if (!string.IsNullOrWhiteSpace(text))
Console.WriteLine($" Shape text: {text}");
}
}
}Žingsnis 5: Skaityti dokumento savybes
Gauti prieigą prie pagrindinių dokumento savybių iš prs.DocumentProperties:
using Aspose.Slides.Foss;
using var prs = new Presentation("deck.pptx");
var props = prs.DocumentProperties;
Console.WriteLine($"Title: {props.Title}");
Console.WriteLine($"Author: {props.Author}");
Console.WriteLine($"Subject: {props.Subject}");6 žingsnis: Išsaugojimas su grįžtamuoju ciklu
Patikrinus arba modifikuojant prezentaciją, išsaugokite ją atgal į PPTX:
prs.Save("output.pptx", SaveFormat.Pptx);Išsaugojimas į kitą kelią sukuria naują failą. Išsaugojimas į tą patį kelią perrašo originalą.
Dažnos problemos ir sprendimai
FileNotFoundException
Patikrinkite, ar kelias į .pptx failą yra teisingas, atsižvelgiant į darbinį katalogą. Naudokite Path.Combine patikimam kelio konstruavimui:
string path = Path.Combine(AppContext.BaseDirectory, "assets", "deck.pptx");
using var prs = new Presentation(path);Exception: File format is not supported
Biblioteka palaiko tik .pptx (Office Open XML). Senesni .ppt (binary PowerPoint 97-2003) failai nepalaikomi.
Shapes neturi TextFrame savybės
Kai kurie formos (Connector, PictureFrame) neturi TextFrame. Konvertuokite į IAutoShape ir patikrinkite, ar nėra null, prieš pasiekiant tekstą.
Dažnai užduodami klausimai
Ar įkėlimas išsaugo visą originalų turinį?
Taip. Nežinomos XML dalys išsaugomos nepakitusiomis, atliekant dvigubą išsaugojimą. Biblioteka nepašalins jokio XML turinio, kurio dar neatpažįsta.
Ar galiu įkelti slaptažodžiu apsaugotą PPTX?
Šioje leidimo versijoje nepalaikomos slaptažodžiu apsaugotos (užšifruotos) prezentacijos.
Ar galiu išgauti įterptus vaizdus?
Pasiekite vaizdų kolekciją: prs.Images grąžina ImageCollection. Kiekvienas vaizdas turi savybes, leidžiančias perskaityti neapdorotus vaizdo duomenis.
Ar įkėlimas iš MemoryStream palaikomas?
Taip. Presentation konstruktorius priima Stream:
using var stream = new MemoryStream(pptxBytes);
using var prs = new Presentation(stream);
Console.WriteLine($"Slides: {prs.Slides.Count}");