Cara Membuat Presentasi di .NET
Aspose.Slides FOSS untuk .NET memungkinkan Anda membuat presentasi PowerPoint sepenuhnya dalam C# tanpa ketergantungan pada Microsoft Office. Panduan ini menunjukkan cara membuat presentasi baru, menambahkan slide dan bentuk, memformat teks, dan menyimpan hasilnya.
Panduan Langkah-demi-Langkah
Langkah 1: Instal Paket
Instal Aspose.Slides FOSS dari NuGet. .NET 9.0 atau yang lebih baru diperlukan.
dotnet add package Aspose.Slides.FossVerifikasi instalasi:
using Aspose.Slides.Foss;
using var prs = new Presentation();
Console.WriteLine("Aspose.Slides FOSS ready");Tidak ada paket sistem lain yang diperlukan.
Langkah 2: Impor Namespace yang Diperlukan
Tambahkan namespace yang diperlukan untuk membuat dan menyimpan presentasi.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;Semua konstanta tipe bentuk berada di Aspose.Slides.Foss.ShapeType. Semua tipe pemformatan (FillType, NullableBool) juga berada di Aspose.Slides.Foss.
Langkah 3: Buat Presentasi
Gunakan new Presentation() dengan pernyataan using. Presentasi baru dimulai dengan satu slide 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);Important: Selalu gunakan Presentation dengan pernyataan using. Kelas mengimplementasikan IDisposable dan sumber daya tidak akan dilepaskan dengan benar tanpa itu.
Langkah 4: Akses Slide
Slide pertama berada pada indeks 0. Presentasi kosong memiliki tepat satu slide.
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: Tambahkan Bentuk
Gunakan slide.Shapes.AddAutoShape() untuk menambahkan AutoShape. Parameter‑nya adalah (shapeType, x, y, width, height) semuanya dalam poin (1 poin = 1/72 inci; slide standar berukuran 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 Presentasi
Panggil prs.Save(path, SaveFormat.Pptx) sebelum objek dibuang. PPTX adalah satu-satunya format output yang didukung.
prs.Save("result.pptx", SaveFormat.Pptx);File ditulis secara atomik; jika terjadi kesalahan sebelum pemanggilan ini, tidak ada file output yang dibuat.
Contoh Kerja Lengkap
Program berikut membuat presentasi dua slide dengan bentuk judul pada slide pertama dan tabel pada slide 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");Masalah Umum dan Perbaikan
ObjectDisposedException
Anda menggunakan objek Presentation setelah blok using berakhir. Semua pekerjaan harus dilakukan sebelum objek tersebut dibuang.
Kesalahan namespace yang hilang untuk ShapeType
Pastikan Anda memiliki using Aspose.Slides.Foss; di bagian atas file Anda. ShapeType, NullableBool, FillType, dan enum lainnya berada di namespace ini.
SaveFormat selain Pptx
Mengirimkan nilai SaveFormat apa pun selain SaveFormat.Pptx tidak melempar pengecualian. Parameter format diabaikan secara diam-diam dan PPTX selalu dihasilkan. Selalu gunakan SaveFormat.Pptx untuk menjadi eksplisit.
Pertanyaan yang Sering Diajukan
Berapa ukuran slide default?
Sebuah Presentation() baru membuat slide dengan ukuran standar 10 × 7,5 inci (720 × 540 poin). Mengubah ukuran slide belum didukung dalam edisi ini.
Bisakah saya menambahkan lebih dari satu slide?
Ya. Panggil prs.Slides.AddEmptySlide(prs.LayoutSlides[0]) untuk menambahkan slide kosong dan mengaksesnya dengan indeks:
prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
var slide2 = prs.Slides[1];Bisakah saya membuka file yang ada dan menambahkan slide?
Ya:
using var prs = new Presentation("existing.pptx");
prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
prs.Save("existing.pptx", SaveFormat.Pptx);Format apa yang dapat saya simpan?
Hanya SaveFormat.Pptx yang didukung. Ekspor ke PDF, HTML, SVG, atau gambar tidak tersedia dalam edisi ini.