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.FossOverte 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.