Sådan opretter du præsentationer i .NET
Aspose.Slides FOSS for .NET giver dig mulighed for at oprette PowerPoint‑præsentationer udelukkende i C# uden afhængighed af Microsoft Office. Denne vejledning viser, hvordan du opretter en ny præsentation, tilføjer dias og former, formaterer tekst og gemmer resultatet.
Trin-for-trin guide
Trin 1: Installer pakken
Installer Aspose.Slides FOSS fra NuGet. .NET 9.0 eller senere er påkrævet.
dotnet add package Aspose.Slides.FossBekræft installationen:
using Aspose.Slides.Foss;
using var prs = new Presentation();
Console.WriteLine("Aspose.Slides FOSS ready");Ingen andre systempakker er påkrævet.
Trin 2: Importer de nødvendige navnerum
Tilføj de nødvendige navnerum til at oprette og gemme præsentationer.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;Alle shape-type konstanter findes i Aspose.Slides.Foss.ShapeType. Alle formaterings-typer (FillType, NullableBool) er også i Aspose.Slides.Foss.
Trin 3: Opret en præsentation
Brug new Presentation() med en using-udsagn. En ny præsentation starter med et tomt dias.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
Console.WriteLine($"Slides in new presentation: {prs.Slides.Count}");
// work with prs
prs.Save("output.pptx", SaveFormat.Pptx);Vigtigt: Brug altid Presentation med en using udsagn. Klassen implementerer IDisposable og ressourcer vil ikke blive frigivet korrekt uden den.
Trin 4: Få adgang til et dias
Den første slide er på indeks 0. En tom præsentation har præcis ét slide.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0]; // zero-based index
Console.WriteLine($"Slide at index 0: {slide}");
prs.Save("output.pptx", SaveFormat.Pptx);Trin 5: Tilføj en form
Brug slide.Shapes.AddAutoShape() til at tilføje en AutoShape. Parametrene er (shapeType, x, y, width, height) alle i punkter (1 punkt = 1/72 tomme; standard slide er 720 x 540 pt).
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
// Rectangle at (50, 50) with 400 wide and 120 tall
var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 400, 120);
// Attach a text frame
shape.AddTextFrame("Hello from Aspose.Slides FOSS!");
prs.Save("with-shape.pptx", SaveFormat.Pptx);Trin 6: Gem præsentationen
Kald prs.Save(path, SaveFormat.Pptx) før objektet bliver frigjort. PPTX er det eneste understøttede outputformat.
prs.Save("result.pptx", SaveFormat.Pptx);Filen skrives atomisk; hvis der opstår en fejl før dette kald, oprettes der ingen outputfil.
Komplet fungerende eksempel
Det følgende program opretter en præsentation med to dias, med en titel‑form på det første dias og en tabel på det andet.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
// --- Slide 1: title shape ---
var slide1 = prs.Slides[0];
var title = slide1.Shapes.AddAutoShape(ShapeType.Rectangle, 40, 40, 640, 80);
var tf = title.AddTextFrame("Q1 Results: Executive Summary");
var fmt = tf.Paragraphs[0].Portions[0].PortionFormat;
fmt.FontHeight = 32;
fmt.FontBold = NullableBool.True;
fmt.FillFormat.FillType = FillType.Solid;
fmt.FillFormat.SolidFillColor.Color = Color.FromArgb(255, 0, 70, 127);
// --- Slide 2: table ---
prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
var slide2 = prs.Slides[1];
var table = slide2.Shapes.AddTable(40, 40,
new double[] { 200.0, 120.0, 120.0 },
new double[] { 40.0, 40.0, 40.0 });
string[] headers = { "Region", "Revenue", "Growth" };
string[][] data = {
new[] { "North", "$1.2M", "+8%" },
new[] { "South", "$0.9M", "+4%" },
};
for (int col = 0; col < headers.Length; col++)
table.Rows[0][col].TextFrame.Text = headers[col];
for (int row = 0; row < data.Length; row++)
for (int col = 0; col < data[row].Length; col++)
table.Rows[row + 1][col].TextFrame.Text = data[row][col];
prs.Save("q1-results.pptx", SaveFormat.Pptx);
Console.WriteLine("Saved q1-results.pptx");Almindelige problemer og løsninger
ObjectDisposedException
Du bruger Presentation-objektet efter at using-blokken er afsluttet. Alt arbejde skal ske, før objektet bliver disponeret.
Manglende navnerumsfejl for ShapeType
Sørg for, at du har using Aspose.Slides.Foss; øverst i din fil. ShapeType, NullableBool, FillType og andre enums er i dette navneområde.
SaveFormat andet end Pptx
At videregive enhver SaveFormat‑værdi andet end SaveFormat.Pptx kaster ikke en undtagelse. Formatparameteren ignoreres tavst, og PPTX produceres altid. Brug altid SaveFormat.Pptx for at være eksplicit.
Ofte stillede spørgsmål
Hvad er standardstørrelsen på sliden?
En ny Presentation() opretter dias i den standard 10 x 7,5 tommer (720 x 540 punkt) størrelse. Ændring af diasstørrelsen understøttes endnu ikke i denne udgave.
Kan jeg tilføje mere end én slide?
Ja. Kald prs.Slides.AddEmptySlide(prs.LayoutSlides[0]) for at tilføje et tomt slide og få adgang til det ved indeks:
prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
var slide2 = prs.Slides[1];Kan jeg åbne en eksisterende fil og tilføje slides?
Ja:
using var prs = new Presentation("existing.pptx");
prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
prs.Save("existing.pptx", SaveFormat.Pptx);Hvilke formater kan jeg gemme til?
Kun SaveFormat.Pptx understøttes. Eksport til PDF, HTML, SVG eller billeder er ikke tilgængelig i denne udgave.