Kaip įkelti pristatymus į .NET

Kaip įkelti pristatymus į .NET

Aspose.Slides FOSS for .NET lets you open any .pptx failą, peržiūrėti jo turinį ir arba išsaugoti jį atgal į PPTX, arba išgauti duomenis iš jo. Ši vadovas apima failo atidarymą, skaidrių iteravimą, formų teksto skaitymą ir išsaugojimo grąžinimą.

Žingsnis po žingsnio vadovas

Žingsnis 1: Įdiekite paketą

dotnet add package Aspose.Slides.Foss

Žingsnis 2: Atverti esamą pristatymą

Perduokite failo kelią į new Presentation(). Naudokite using teiginį, 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.


Žingsnis 3: Peržiūrėti skaidres

Iteruokite per visas skaidres ir spausdinkite 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 formų 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

Gaukite pagrindines dokumento savybes 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}");

Žingsnis 6: Išsaugoti atgal

Po peržiūros arba modifikavimo, išsaugokite pristatymą 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 .pptx (Office Open XML) tik. Senesni .ppt (binary PowerPoint 97-2003) failai nepalaikomi.

Formos neturi TextFrame savybės

Kai kurios 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 išsaugojimo sugrįžimą. Biblioteka nepašalins jokio XML turinio, kurio dar neatpažįsta.

Ar galiu įkelti slaptažodžiu apsaugotą PPTX?

Slaptažodžiu apsaugoti (šifruoti) pristatymai šioje versijoje nepalaikomi.

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 palaikomas įkėlimas iš MemoryStream?

Taip. The 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ų