Kuinka luoda esityksiä .NET:ssä
Aspose.Slides FOSS for .NET antaa sinun luoda PowerPoint-esityksiä kokonaan C#:lla ilman riippuvuutta Microsoft Officesta. Tämä opas näyttää, miten luodaan uusi esitys, lisätään dioja ja muotoja, muotoillaan tekstiä ja tallennetaan tulos.
Vaiheittainen opas
Vaihe 1: Asenna paketti
Asenna Aspose.Slides FOSS NuGetista. .NET 9.0 tai uudempi vaaditaan.
dotnet add package Aspose.Slides.FossVahvista asennus:
using Aspose.Slides.Foss;
using var prs = new Presentation();
Console.WriteLine("Aspose.Slides FOSS ready");Muita järjestelmäpaketteja ei tarvita.
Vaihe 2: Tuo vaaditut nimiavaruudet
Lisää esitysten luomiseen ja tallentamiseen tarvittavat nimialueet.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;Kaikki muoto-tyypin vakioita löytyy Aspose.Slides.Foss.ShapeType. Kaikki muotoilutyypit (FillType, NullableBool) ovat myös Aspose.Slides.Fossssa.
Vaihe 3: Luo esitys
Käytä new Presentation() using-lauseella. Uusi esitys alkaa yhdellä tyhjällä dialla.
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);Tärkeää: Käytä aina Presentation using-lauseella. Luokka toteuttaa IDisposable, eikä resursseja vapauteta oikein ilman sitä.
Vaihe 4: Avaa dia
Ensimmäinen dia on indeksissä 0. Tyhjä esitys sisältää täsmälleen yhden dian.
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);Vaihe 5: Lisää muoto
Käytä slide.Shapes.AddAutoShape() lisätäksesi AutoShapea. Parametrit ovat (shapeType, x, y, width, height) kaikki pisteinä (1 piste = 1/72 tuumaa; standardi dia on 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);Vaihe 6: Tallenna esitys
Kutsu prs.Save(path, SaveFormat.Pptx) ennen kuin objekti vapautetaan. PPTX on ainoa tuettu tulostusmuoto.
prs.Save("result.pptx", SaveFormat.Pptx);Tiedosto kirjoitetaan atomisesti; jos virhe tapahtuu ennen tätä kutsua, tulostetiedostoa ei luoda.
Täydellinen toimiva esimerkki
Seuraava ohjelma luo kaksidiapisteisen esityksen, jossa on otsikkomuoto ensimmäisellä dialla ja taulukko toisella.
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");Yleisiä ongelmia ja korjauksia
ObjectDisposedException
Käytät Presentation-objektia sen jälkeen, kun using-lohko on päättynyt. Kaiken työn on suoritettava ennen kuin objekti vapautetaan.
Puuttuva nimiavaruusvirhe kohteelle ShapeType
Varmista, että using Aspose.Slides.Foss; on tiedostosi yläosassa. ShapeType, NullableBool, FillType ja muut enumit ovat tässä nimialueessa.
SaveFormat muuta kuin Pptx
Kun annetaan mikä tahansa SaveFormat arvo muu kuin SaveFormat.Pptx, poikkeusta ei heitetä. Muoto‑parameteri jätetään hiljaisesti huomiotta, ja PPTX tuotetaan aina. Käytä aina SaveFormat.Pptx ollaksesi täsmällinen.
Usein kysytyt kysymykset
Mikä on dian oletuskoko?
Uusi Presentation() luo dioja standardikokoisina 10 x 7,5 tuumaa (720 x 540 pistettä) kokoisina. Dia‑koon muuttamista ei vielä tueta tässä versiossa.
Voinko lisätä useamman kuin yhden dian?
Kyllä. Kutsu prs.Slides.AddEmptySlide(prs.LayoutSlides[0]) lisätäksesi tyhjän dian ja käyttää sitä indeksin avulla:
prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
var slide2 = prs.Slides[1];Voinko avata olemassa olevan tiedoston ja lisätä dioja?
Kyllä:
using var prs = new Presentation("existing.pptx");
prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
prs.Save("existing.pptx", SaveFormat.Pptx);Mihin formaatteihin voin tallentaa?
Vain SaveFormat.Pptx on tuettu. Vienti PDF-, HTML-, SVG- tai kuviin ei ole saatavilla tässä versiossa.