Ako vytvoriť prezentácie v .NET

Ako vytvoriť prezentácie v .NET

Aspose.Slides FOSS for .NET lets you create PowerPoint presentations entirely in C# with no dependency on Microsoft Office. This guide shows how to create a new presentation, add slides and shapes, format text, and save the result.

Postupný návod

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

Žiadne ďalšie systémové balíky nie sú potrebné.


Krok 2: Importujte 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: Vytvorte 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 príkazom. Trieda implementuje IDisposable a zdroje nebudú správne uvoľnené bez neho.


Krok 4: Prístup k snímke

Prvá snímka je na indexe 0. Prázdna prezentácia má presne jednu snímku.

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: Pridajte 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žte prezentáciu

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

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

Súbor sa zapisuje atomicky; ak dôjde k chybe pred týmto volaním, nevytvorí sa žiadny výstupný súbor.


Kompletný funkčný príklad

Nasledujúci program vytvorí prezentáciu s dvoma snímkami, pričom na prvej snímke je tvar s titulkom 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 Presentation objekt po using blok skončil. Všetka práca musí prebehnúť pred tým, ako je objekt uvoľnený.

Chýba chyba 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 akéhokoľvek SaveFormat hodnoty okrem SaveFormat.Pptx nevytvorí výnimku. Parameter formátu je ticho ignorovaný a vždy sa vytvorí PPTX. Vždy používajte SaveFormat.Pptx pre explicitnosť.


Často kladené otázky

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

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

Môžem pridať viac ako jednu snímku?

Áno. Zavolajte prs.Slides.AddEmptySlide(prs.LayoutSlides[0]) na pridanie prázdnej snímky a prístup k nej 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 ukladať?

Iba SaveFormat.Pptx je podporované. Export do PDF, HTML, SVG alebo obrázkov nie je v tejto edícii k dispozícii.


Pozri tiež

 Slovenčina