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