Kako kreirati prezentacije u .NET

Kako kreirati prezentacije u .NET

Aspose.Slides FOSS za .NET omogućava kreiranje PowerPoint prezentacija u potpunosti u C# bez zavisnosti od Microsoft Office. Ovaj vodič pokazuje kako napraviti novu prezentaciju, dodati slajdove i oblike, formatirati tekst i sačuvati rezultat.

Vodič korak po korak

Korak 1: Instalirajte paket

Instalirajte Aspose.Slides FOSS sa NuGet-a. Potreban je .NET 9.0 ili noviji.

dotnet add package Aspose.Slides.Foss

Proverite instalaciju:

using Aspose.Slides.Foss;

using var prs = new Presentation();
Console.WriteLine("Aspose.Slides FOSS ready");

Nisu potrebni drugi sistemski paketi.


Korak 2: Uvezi potrebne prostore imena

Dodajte potrebne namespaces za kreiranje i čuvanje prezentacija.

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

Svi konstanti tipa oblika nalaze se u Aspose.Slides.Foss.ShapeType. Svi tipovi formatiranja (FillType, NullableBool) takođe su u Aspose.Slides.Foss.


Korak 3: Kreirajte prezentaciju

Koristite new Presentation() sa using izjavom. Nova prezentacija počinje jednim praznim slajdom.

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

Važno: Uvek koristite Presentation sa using izjavom. Klasa implementira IDisposable i resursi neće biti pravilno oslobođeni bez toga.


Korak 4: Pristup slajdu

Prvi slajd je na indeksu 0. Prazna prezentacija ima tačno jedan slajd.

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

Korak 5: Dodajte oblik

Koristite slide.Shapes.AddAutoShape() da dodate AutoShape. Parametri su (shapeType, x, y, width, height) svi u tačkama (1 tačka = 1/72 inča; standardni slajd je 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);

Korak 6: Sačuvajte prezentaciju

Pozovite prs.Save(path, SaveFormat.Pptx) pre nego što se objekat oslobodi. PPTX je jedini podržani izlazni format.

prs.Save("result.pptx", SaveFormat.Pptx);

Datoteka se zapisuje atomarno; ako dođe do greške pre ovog poziva, izlazna datoteka se ne kreira.


Kompletan radni primer

Sledeći program kreira prezentaciju od dva slajda sa naslovnim oblikom na prvom slajdu i tabelom na drugom.

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

Уобичајени проблеми и решења

ObjectDisposedException

Koristite objekat Presentation nakon što je blok using završen. Sav rad mora da se obavi pre nego što se objekat oslobodi.

Greška nedostajućeg namespace‑a za ShapeType

Uverite se da imate using Aspose.Slides.Foss; na vrhu vašeg fajla. ShapeType, NullableBool, FillType i druge enumeracije su u ovom prostoru imena.

SaveFormat osim Pptx

Prosleđivanje bilo koje vrednosti SaveFormat osim SaveFormat.Pptx ne izaziva izuzetak. Parametar format se tiho ignoriše i uvek se proizvodi PPTX. Uvek koristite SaveFormat.Pptx da biste bili eksplicitni.


Često postavljana pitanja

Koja je podrazumevana veličina slajda?

Novi Presentation() kreira slajdove u standardnoj veličini od 10 × 7,5 inča (720 × 540 tačaka). Promena veličine slajda još nije podržana u ovom izdanju.

Mogu li dodati više od jednog slajda?

Да. Позовите prs.Slides.AddEmptySlide(prs.LayoutSlides[0]) да додате празан слајд и приступите му по индексу:

prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
var slide2 = prs.Slides[1];

Mogu li otvoriti postojeći fajl i dodati slajdove?

Da:

using var prs = new Presentation("existing.pptx");
prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
prs.Save("existing.pptx", SaveFormat.Pptx);

U koje formate mogu da sačuvam?

Podržan je samo SaveFormat.Pptx. Izvoz u PDF, HTML, SVG ili slike nije dostupan u ovoj ediciji.


Види такође

 Српски