Kaip kurti prezentacijas .NET
Aspose.Slides FOSS for .NET leidžia kurti PowerPoint pristatymus visiškai C# kalba, nesikliaujant Microsoft Office. Šiame vadove parodyta, kaip sukurti naują pristatymą, pridėti skaidres ir formas, formatuoti tekstą ir išsaugoti rezultatą.
Žingsnis po žingsnio vadovas
Žingsnis 1: Įdiekite paketą
Įdiekite Aspose.Slides FOSS iš NuGet. Reikalingas .NET 9.0 arba vėlesnė versija.
dotnet add package Aspose.Slides.FossPatikrinkite diegimą:
using Aspose.Slides.Foss;
using var prs = new Presentation();
Console.WriteLine("Aspose.Slides FOSS ready");Kiti sistemos paketai nėra reikalingi.
Žingsnis 2: Importuokite reikiamus vardų sritis
Pridėkite reikalingas vardų sritis, skirtas kurti ir išsaugoti pristatymus.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;Visos formų tipo konstantos yra Aspose.Slides.Foss.ShapeType. Visų formatavimo tipų (FillType, NullableBool) taip pat yra Aspose.Slides.Foss.
Žingsnis 3: Sukurti prezentaciją
Naudokite new Presentation() su using teiginiu. Nauja prezentacija prasideda viena tuščia skaidrė.
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);Svarbu: Visada naudokite Presentation kartu su using pareiškimu. Klasė įgyvendina IDisposable ir ištekliai nebus teisingai atlaisvinti be to.
Žingsnis 4: Prieiti prie skaidrės
Pirmoji skaidrė yra indekse 0. Tuščia prezentacija turi lygiai vieną skaidrę.
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);Žingsnis 5: Pridėti formą
Naudokite slide.Shapes.AddAutoShape(), kad pridėtumėte AutoShape. Parametrai yra (shapeType, x, y, width, height), visi matuojami taškais (1 taškas = 1/72 colio; standartinis skaidrės dydis yra 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);6 žingsnis: Išsaugoti pristatymą
Iškvieskite prs.Save(path, SaveFormat.Pptx) prieš objektas bus atlaisvintas. PPTX yra vienintelis palaikomas išvesties formatas.
prs.Save("result.pptx", SaveFormat.Pptx);Failas rašomas atominiu būdu; jei įvyksta klaida prieš šį iškvietimą, išvesties failas nesukuriamas.
Pilnas veikiantis pavyzdys
Žemiau pateikta programa sukuria dviejų skaidrių pristatymą su pavadinimo forma pirmoje skaidrėje ir lentele antroje.
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");Dažnos problemos ir sprendimai
ObjectDisposedException
Jūs naudojate Presentation objektą po to, kai using blokas baigėsi. Visas darbas turi būti atliktas prieš objekto išmetimą.
Trūksta vardų srities klaida dėl ShapeType
Įsitikinkite, kad failo viršuje yra using Aspose.Slides.Foss;. ShapeType, NullableBool, FillType ir kiti enumai yra šioje vardų erdvėje.
SaveFormat išskyrus Pptx
Perduodant bet kurią SaveFormat reikšmę, kuri nėra SaveFormat.Pptx, nekelia išimties. Formato parametras tyliai ignoruojamas ir visada kuriamas PPTX. Visada naudokite SaveFormat.Pptx, kad būtumėte aiškūs.
Dažniausiai užduodami klausimai
Koks yra numatytasis skaidrės dydis?
Naujas Presentation() sukuria skaidres standartiniu 10 x 7,5 colio (720 x 540 taškų) dydžiu. Skaidrių dydžio keitimas šioje leidimo versijoje dar nepalaikomas.
Ar galiu pridėti daugiau nei vieną skaidrę?
Taip. Iškvieskite prs.Slides.AddEmptySlide(prs.LayoutSlides[0]), kad pridėtumėte tuščią skaidrę ir pasiektumėte ją pagal indeksą:
prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
var slide2 = prs.Slides[1];Ar galiu atidaryti esamą failą ir pridėti skaidres?
Taip:
using var prs = new Presentation("existing.pptx");
prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
prs.Save("existing.pptx", SaveFormat.Pptx);Kokius formatus galiu išsaugoti?
Palaikoma tik SaveFormat.Pptx. Eksportavimas į PDF, HTML, SVG arba vaizdus šioje leidimo versijoje nėra prieinamas.