Ako vytvárať prezentácie v .NET

Ako vytvárať prezentácie v .NET

Aspose.Slides FOSS pre .NET vám umožňuje vytvárať prezentácie PowerPoint výlučne v C# bez závislosti na Microsoft Office. Tento sprievodca ukazuje, ako vytvoriť novú prezentáciu, pridať snímky a tvary, formátovať text a uložiť výsledok.

Sprievodca krok za krokom

Krok 1: Nainštalujte balík

Nainštalujte Aspose.Slides FOSS z NuGet. Vyžaduje sa .NET 9.0 alebo novší.

dotnet add package Aspose.Slides.Foss

Overte inštaláciu:

using Aspose.Slides.Foss;

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

Nie sú potrebné žiadne ďalšie systémové balíky.


Krok 2: Importovať požadované menné priestory

Pridajte menné priestory potrebné na vytváranie a ukladanie prezentácií.

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

Všetky konštanty typu tvaru sa nachádzajú v Aspose.Slides.Foss.ShapeType. Všetky typy formátovania (FillType, NullableBool) sú tiež v Aspose.Slides.Foss.


Krok 3: Vytvoriť prezentáciu

Použite new Presentation() s using príkazom. Nová prezentácia začína jedným prázdnym snímkom.

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

Dôležité: Vždy používajte Presentation s using výrokom. Trieda implementuje IDisposable a zdroje nebudú správne uvoľnené bez toho.


Krok 4: Prístup k snímke

Prvý snímok je na indexe 0. Prázdna prezentácia má presne jeden snímok.

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

Krok 5: Pridať tvar

Použite slide.Shapes.AddAutoShape() na pridanie AutoShape. Parametre sú (shapeType, x, y, width, height) všetky v bodoch (1 bod = 1/72 palca; štandardný snímok je 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);

Krok 6: Uložiť prezentáciu

Volajte prs.Save(path, SaveFormat.Pptx) predtým, ako je objekt uvoľnený. PPTX je jediný podporovaný výstupný formát.

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

Súbor je zapísaný atomicky; ak nastane chyba pred týmto volaním, nevytvorí sa výstupný súbor.


Kompletný funkčný príklad

Nasledujúci program vytvára prezentáciu s dvoma snímkami, pričom na prvej snímke je tvar nadpisu a na druhej tabuľka.

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

Bežné problémy a riešenia

ObjectDisposedException

Používate objekt Presentation po tom, čo blok using skončil. Všetka práca musí prebehnúť pred tým, ako je objekt uvoľnený.

Chyba chýbajúceho menného priestoru pre ShapeType

Uistite sa, že máte using Aspose.Slides.Foss; na začiatku vášho súboru. ShapeType, NullableBool, FillType a ďalšie enumy sú v tomto mennom priestore.

SaveFormat okrem Pptx

Odovzdanie akejkoľvek hodnoty SaveFormat okrem SaveFormat.Pptx nevyvolá výnimku. Parameter formátu je ticho ignorovaný a PPTX sa vždy vytvorí. Vždy použite SaveFormat.Pptx, aby ste boli explicitní.


Často kladené otázky

Aká je predvolená veľkosť snímky?

Nový Presentation() vytvára snímky v štandardnej veľkosti 10 × 7,5 palca (720 × 540 bodov). Zmena veľkosti snímky zatiaľ nie je podporovaná v tejto edícii.

Môžem pridať viac ako jeden snímok?

Áno. Zavolajte prs.Slides.AddEmptySlide(prs.LayoutSlides[0]) na pridanie prázdneho snímku a prístup k nemu podľa indexu:

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

Môžem otvoriť existujúci súbor a pridať snímky?

Áno:

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

Do akých formátov môžem uložiť?

Podporovaný je iba SaveFormat.Pptx. Export do PDF, HTML, SVG alebo obrázkov nie je v tejto edícii k dispozícii.


Pozri tiež

 Slovenčina