Jak načítat prezentace v .NET

Jak načítat prezentace v .NET

Aspose.Slides FOSS for .NET lets you open any .pptx Tento průvodce pokrývá otevření souboru, iterování slajdů, čtení textu tvaru a opakované uložení.

Krok za krokem

Krok 1: Nainstalujte balíček

aspose-slides-foss/slides is not yet published — build from source until it ships. See the project README for build instructions.


Krok 2: Otevřete existující prezentaci

Přeneste cestu souboru na … new Presentation().Použijte: using prohlášení o zajištění čištění.

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

Neznámé části XML ve zdrojovém souboru jsou doslova uchovány: knihovna nikdy neodstraňuje obsah, který ještě nechápe.


Krok 3: Zkontrolujte snímky

Iterujte všechny snímky a vytiskněte jejich index:

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

Krok 4: Číst text ve tvaru

Iterovat tvary a číst text z tvarů, které mají 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}");
        }
    }
}

Krok 5: Číst vlastnosti dokumentu

Přístup k vlastnostem jádra dokumentu ze systému . 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}");

Krok 6: Uložení z cesty a zpět

Po prohlídce nebo úpravě prezentace ji uložíte zpět do systému PPTX:

prs.Save("output.pptx", SaveFormat.Pptx);

Uložení na jinou cestu vytváří nový soubor.


Obvyklé problémy a řešení

FileNotFoundException

Zkontrolujte, zda cesta k … .pptx soubor je správný ve vztahu k pracovnímu adresáři. Use Path.Combine pro robustní konstrukci dráhy:

string path = Path.Combine(AppContext.BaseDirectory, "assets", "deck.pptx");
using var prs = new Presentation(path);

Exception: File format is not supported

Knihovna podporuje: .pptx (Office Open XML) pouze. Legacy .ppt (binární PowerPoint 97-2003) soubory nejsou podporovány.

Formy nemají vlastnost TextFrame

Některé tvary (Connector, PictureFrame) nemají žádnou TextFrame.- Vydání . IAutoShape a zkontrolujte, zda je před přístupem k textu nulová.


Časté otázky

Zachovává načtení veškerý původní obsah?

Ano. Neznámé části XML jsou doslova uchovávány při ukládání z a do cesty. Knihovna neodstraňuje žádný obsah XML, který ještě nepozná.

Můžu si nainstalovat PPTX chráněný heslem?

V této edici nejsou podporovány prezentace chráněné heslem (šifrované).

Můžu vytáhnout vestavěné snímky?

Přístup ke sbírce obrázků: prs.Images vrací se číslo ImageCollection.Každý obrázek má vlastnosti pro čtení dat ze surového obrazu.

Podporuje se načtení z MemoryStreamu?

Ano, to je ono. Presentation konstruktor přijímá a Stream:

using var stream = new MemoryStream(pptxBytes);
using var prs = new Presentation(stream);
Console.WriteLine($"Slides: {prs.Slides.Count}");

Viz také:

 Čeština