Cara Membuat Pembentangan dalam .NET
Aspose.Slides FOSS untuk .NET membolehkan anda membuat persembahan PowerPoint sepenuhnya dalam C# tanpa kebergantungan pada Microsoft Office. Panduan ini menunjukkan cara membuat persembahan baru, menambah slaid dan bentuk, memformat teks, dan menyimpan hasilnya.
Panduan Langkah demi Langkah
Langkah 1: Pasang Pakej
Pasang Aspose.Slides FOSS dari NuGet. .NET 9.0 atau lebih baru diperlukan.
dotnet add package Aspose.Slides.FossSahkan pemasangan:
using Aspose.Slides.Foss;
using var prs = new Presentation();
Console.WriteLine("Aspose.Slides FOSS ready");Tiada pakej sistem lain diperlukan.
Langkah 2: Import Ruang Nama yang Diperlukan
Tambah ruang nama yang diperlukan untuk membuat dan menyimpan persembahan.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;Semua pemalar jenis bentuk berada dalam Aspose.Slides.Foss.ShapeType. Semua jenis pemformatan (FillType, NullableBool) juga berada dalam Aspose.Slides.Foss.
Langkah 3: Buat Persembahan
Gunakan new Presentation() dengan pernyataan using. Pembentangan baru bermula dengan satu slaid kosong.
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);Penting: Sentiasa gunakan Presentation dengan pernyataan using. Kelas tersebut melaksanakan IDisposable dan sumber tidak akan dilepaskan dengan betul tanpa ia.
Langkah 4: Akses Slaid
Slaid pertama berada pada indeks 0. Persembahan kosong mempunyai tepat satu slaid.
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);Langkah 5: Tambah Bentuk
Gunakan slide.Shapes.AddAutoShape() untuk menambah AutoShape. Parameter ialah (shapeType, x, y, width, height) semua dalam titik (1 titik = 1/72 inci; slaid standard ialah 720 × 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);Langkah 6: Simpan Persembahan
Panggil prs.Save(path, SaveFormat.Pptx) sebelum objek dibuang. PPTX ialah satu-satunya format output yang disokong.
prs.Save("result.pptx", SaveFormat.Pptx);Fail ditulis secara atomik; jika ralat berlaku sebelum panggilan ini, tiada fail output yang dibuat.
Contoh Kerja Lengkap
Program berikut menghasilkan persembahan dua slaid dengan bentuk tajuk pada slaid pertama dan jadual pada slaid kedua.
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");Isu Umum dan Penyelesaian
ObjectDisposedException
Anda sedang menggunakan objek Presentation selepas blok using berakhir. Semua kerja mesti dilakukan sebelum objek tersebut dibuang.
Ralat ruang nama hilang untuk ShapeType
Pastikan anda mempunyai using Aspose.Slides.Foss; di bahagian atas fail anda. ShapeType, NullableBool, FillType, dan enum lain berada dalam ruang nama ini.
SaveFormat selain Pptx
Melewatkan sebarang nilai SaveFormat selain SaveFormat.Pptx tidak akan melemparkan pengecualian. Parameter format diabaikan secara senyap dan PPTX sentiasa dihasilkan. Sentiasa gunakan SaveFormat.Pptx untuk menjadi jelas.
Soalan Lazim
Apakah saiz slaid lalai?
Satu Presentation() baru mencipta slaid pada saiz standard 10 × 7.5 inci (720 × 540 titik). Menukar saiz slaid belum disokong dalam edisi ini.
Bolehkah saya menambah lebih daripada satu slaid?
Ya. Panggil prs.Slides.AddEmptySlide(prs.LayoutSlides[0]) untuk menambah slaid kosong dan mengaksesnya mengikut indeks:
prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
var slide2 = prs.Slides[1];Bolehkah saya membuka fail sedia ada dan menambah slaid?
Ya:
using var prs = new Presentation("existing.pptx");
prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
prs.Save("existing.pptx", SaveFormat.Pptx);Format apa yang boleh saya simpan?
Hanya SaveFormat.Pptx disokong. Eksport ke PDF, HTML, SVG, atau imej tidak tersedia dalam edisi ini.