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