Kaip įkelti pristatymus .NET

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}");

Žr. taip pat

 Lietuvių