Kako kreirati prezentacije u .NET-u

Kako kreirati prezentacije u .NET-u

Aspose.Slides FOSS za .NET omogućuje stvaranje PowerPoint prezentacija u potpunosti u C# bez ovisnosti o Microsoft Officeu. Ovaj vodič pokazuje kako stvoriti novu prezentaciju, dodati slajdove i oblike, formatirati tekst i spremiti rezultat.

Vodič korak po korak

Korak 1: Instalirajte paket

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

dotnet add package Aspose.Slides.Foss

Provjerite instalaciju:

using Aspose.Slides.Foss;

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

Nisu potrebni drugi sustavni paketi.


Korak 2: Uvezi potrebne prostore imena

Dodajte potrebne prostore imena za stvaranje i spremanje prezentacija.

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

Sve konstante tipa oblika nalaze se u Aspose.Slides.Foss.ShapeType. Sve vrste formatiranja (FillType, NullableBool) također su u Aspose.Slides.Foss.


Korak 3: Stvori prezentaciju

Koristite new Presentation() s using izjavom. Nova prezentacija započinje s 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: Uvijek koristite Presentation s using izjavom. Klasa implementira IDisposable i resursi neće biti ispravno oslobođeni bez toga.


Korak 4: Pristup slajdu

Prvi slajd je na indeksu 0. Prazna prezentacija ima toč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: Dodaj oblik

Koristite slide.Shapes.AddAutoShape() za dodavanje AutoShape‑a. Parametri su (shapeType, x, y, width, height), svi u točkama (1 toč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: Spremi prezentaciju

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

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

Datoteka se zapisuje atomarno; ako dođe do pogreške prije ovog poziva, ne stvara se izlazna datoteka.


Potpuni radni primjer

Sljedeći program stvara prezentaciju od dva slajda s naslovnim oblikom na prvom slajdu i tablicom 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");

Uobičajeni problemi i rješenja

ObjectDisposedException

Koristite objekt Presentation nakon što je blok using završio. Sav rad mora se obaviti prije nego što se objekt uništi.

Greška nedostajućeg prostora imena za ShapeType

Osigurajte da imate using Aspose.Slides.Foss; na vrhu svoje datoteke. ShapeType, NullableBool, FillType i drugi enumeratori su u ovom prostoru imena.

SaveFormat osim Pptx

Prosljeđivanje bilo koje vrijednosti SaveFormat osim SaveFormat.Pptx ne izaziva iznimku. Parametar formata se tiho ignorira i uvijek se generira PPTX. Uvijek koristite SaveFormat.Pptx da biste bili eksplicitni.


Često postavljana pitanja

Koja je zadana veličina slajda?

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

Mogu li dodati više od jednog slajda?

Da. Pozovite prs.Slides.AddEmptySlide(prs.LayoutSlides[0]) da dodate prazni slajd i pristupite mu po indeksu:

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

Mogu li otvoriti postojeću datoteku 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 spremiti?

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


Vidi također

 Hrvatski