Kā izveidot prezentācijas .NET vidē
Aspose.Slides FOSS for .NET ļauj izveidot PowerPoint prezentācijas pilnīgi C# valodā, neizmantojot Microsoft Office. Šis ceļvedis parāda, kā izveidot jaunu prezentāciju, pievienot slaidus un formas, formatēt tekstu un saglabāt rezultātu.
Rokasgrāmata soli pa solim
1. solis: instalēt pakotni
Instalējiet Aspose.Slides FOSS no NuGet. Ir nepieciešams .NET 9.0 vai jaunāks.
dotnet add package Aspose.Slides.FossPārbaudiet instalāciju:
using Aspose.Slides.Foss;
using var prs = new Presentation();
Console.WriteLine("Aspose.Slides FOSS ready");Nav vajadzīgas citas sistēmas pakotnes.
2. solis: Importēt nepieciešamās vārdtelpas
Pievienojiet vajadzīgās vārdtelpas, lai izveidotu un saglabātu prezentācijas.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;Visi formu tipa konstanti atrodas Aspose.Slides.Foss.ShapeType. Visi formatēšanas tipi (FillType, NullableBool) arī ir Aspose.Slides.Foss.
3. solis: Izveidot prezentāciju
Izmantojiet new Presentation() ar using paziņojumu. Jauna prezentācija sākas ar vienu tukšu slaidu.
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);Svarīgi: Vienmēr izmantojiet Presentation ar using paziņojumu. Klase īsteno IDisposable, un resursi netiks pareizi atbrīvoti bez tā.
Solis 4: Piekļūt slaidam
Pirmais slaids ir indeksā 0. Tukšā prezentācija satur tieši vienu slaidu.
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);5. solis: Pievienot formu
Izmantojiet slide.Shapes.AddAutoShape(), lai pievienotu AutoShape. Parametri ir (shapeType, x, y, width, height), visi punktos (1 punkts = 1/72 collas; standarta slaids ir 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);6. solis: Saglabāt prezentāciju
Izsauciet prs.Save(path, SaveFormat.Pptx) pirms objekts tiek atbrīvots. PPTX ir vienīgais atbalstītais izvades formāts.
prs.Save("result.pptx", SaveFormat.Pptx);Fails tiek rakstīts atomiski; ja kļūda notiek pirms šī izsaukuma, netiek izveidots neviens izvades fails.
Pilns darbos piemērs
Šis programmas fragments izveido divu slaidu prezentāciju ar virsraksta formu pirmajā slaidā un tabulu otrajā.
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");Biežas problēmas un risinājumi
ObjectDisposedException
Jūs izmantojat Presentation objektu pēc tam, kad using bloks ir beidzies. Visa darbība jāveic pirms objekts tiek atbrīvots.
Trūkst nosaukumvārda kļūda priekš ShapeType
Pārliecinieties, ka jūsu faila augšdaļā ir using Aspose.Slides.Foss;. ShapeType, NullableBool, FillType un citi uzskaitījumi ir šajā vārdtelpā.
SaveFormat izņemot Pptx
Ja tiek nodota jebkura SaveFormat vērtība, kas nav SaveFormat.Pptx, netiek izsviests izņēmums. Formāta parametrs tiek klusi ignorēts, un vienmēr tiek ģenerēts PPTX. Vienmēr izmantojiet SaveFormat.Pptx, lai būtu skaidri.
Biežāk uzdotie jautājumi
Kāda ir noklusējuma slaida izmērs?
Jauns Presentation() izveido slaidus standarta 10 x 7,5 collas (720 x 540 punktu) izmērā. Slaidu izmēra mainīšana šajā izdevumā vēl nav atbalstīta.
Vai es varu pievienot vairāk nekā vienu slaidu?
Jā. Izsauciet prs.Slides.AddEmptySlide(prs.LayoutSlides[0]), lai pievienotu tukšu slaidu un piekļūtu tam pēc indeksa:
prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
var slide2 = prs.Slides[1];Vai varu atvērt esošu failu un pievienot slaidus?
Jā:
using var prs = new Presentation("existing.pptx");
prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
prs.Save("existing.pptx", SaveFormat.Pptx);Kādus formātus es varu saglabāt?
Tikai SaveFormat.Pptx tiek atbalstīts. Eksportēšana uz PDF, HTML, SVG vai attēliem nav pieejama šajā izdevumā.