Hvordan lage presentasjoner i .NET
Aspose.Slides FOSS for .NET lar deg lage PowerPoint‑presentasjoner helt i C# uten avhengighet av Microsoft Office. Denne guiden viser hvordan du oppretter en ny presentasjon, legger til lysbilder og former, formaterer tekst og lagrer resultatet.
Steg-for-steg Guide
Trinn 1: Installer pakken
Installer Aspose.Slides FOSS fra NuGet. .NET 9.0 eller nyere kreves.
dotnet add package Aspose.Slides.FossBekreft installasjonen:
using Aspose.Slides.Foss;
using var prs = new Presentation();
Console.WriteLine("Aspose.Slides FOSS ready");Ingen andre systempakker er påkrevd.
Steg 2: Importer de nødvendige navnerommene
Legg til de nødvendige navnerommene for å opprette og lagre presentasjoner.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;Alle shape-type‑konstanter finnes i Aspose.Slides.Foss.ShapeType. Alle formateringstyper (FillType, NullableBool) er også i Aspose.Slides.Foss.
Steg 3: Opprett en presentasjon
Bruk new Presentation() med en using‑setning. En ny presentasjon starter med ett tomt lysbilde.
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);Viktig: Bruk alltid Presentation med en using-setning. Klassen implementerer IDisposable, og ressurser vil ikke bli frigitt korrekt uten den.
Steg 4: Åpne et lysbilde
Den første lysbildet er på indeks 0. En tom presentasjon har nøyaktig ett lysbilde.
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);Trinn 5: Legg til en form
Bruk slide.Shapes.AddAutoShape() for å legge til en AutoShape. Parameterne er (shapeType, x, y, width, height), alle i punkter (1 punkt = 1/72 tomme; standard lysbilde er 720 × 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);Steg 6: Lagre presentasjonen
Kall prs.Save(path, SaveFormat.Pptx) før objektet blir frigjort. PPTX er det eneste støttede utdataformatet.
prs.Save("result.pptx", SaveFormat.Pptx);Filen skrives atomisk; hvis en feil oppstår før dette kallet, opprettes ingen utdatafil.
Fullstendig fungerende eksempel
Følgende program oppretter en presentasjon med to lysbilder med en tittelform på det første lysbildet og en tabell på det andre.
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");Vanlige problemer og løsninger
ObjectDisposedException
Du bruker Presentation-objektet etter at using-blokken er avsluttet. Alt arbeid må utføres før objektet blir disponert.
Manglende navnerom-feil for ShapeType
Sørg for at du har using Aspose.Slides.Foss; øverst i filen din. ShapeType, NullableBool, FillType, og andre enum‑er er i dette navnerommet.
SaveFormat annet enn Pptx
Å sende inn en hvilken som helst SaveFormat‑verdi annet enn SaveFormat.Pptx kaster ikke et unntak. Formatparameteren blir stille ignorert, og PPTX blir alltid produsert. Bruk alltid SaveFormat.Pptx for å være eksplisitt.
Ofte stilte spørsmål
Hva er standard lysbildestørrelse?
En ny Presentation() oppretter lysbilder i standardstørrelsen 10 × 7,5 tommer (720 × 540 punkt). Å endre lysbildestørrelsen støttes ikke ennå i denne utgaven.
Kan jeg legge til mer enn ett lysbilde?
Ja. Kall prs.Slides.AddEmptySlide(prs.LayoutSlides[0]) for å legge til et tomt lysbilde og få tilgang til det ved indeks:
prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
var slide2 = prs.Slides[1];Kan jeg åpne en eksisterende fil og legge til lysbilder?
Ja:
using var prs = new Presentation("existing.pptx");
prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
prs.Save("existing.pptx", SaveFormat.Pptx);Hvilke formater kan jeg lagre til?
Kun SaveFormat.Pptx støttes. Eksport til PDF, HTML, SVG eller bilder er ikke tilgjengelig i denne utgaven.