Pengantar
Aspose.Slides FOSS for .NET provides a comprehensive set of classes for managing PowerPoint presentations entirely in C#. The library lets you create new .pptx file dari awal, memuat yang sudah ada, memanipulasi slide dan bentuk, dan menyimpan hasilnya kembali ke disk – semuanya tanpa menginstal Microsoft Office atau ketergantungan eksternal.
Pengelolaan Aspose.Slides.Foss Paket NuGet menargetkan .NET 9.0 dan berjalan secara identik pada Windows, macOS, Linux, dan kontainer Docker. Ini dirilis di bawah lisensi MIT, sehingga Anda dapat menggunakannya dalam proyek komersial dan open-source tanpa pembatasan.
Posting ini berjalan melalui kemampuan manajemen presentasi inti: bekerja dengan slide, membangun hierarki bentuk, mengatur teks, mengelola tabel, dan menyimpan ke PPTX.
Apa yang Termasuk?
Membuat dan Mengunggah Presentasi
Pengelolaan Presentation class adalah titik masuk untuk setiap operasi. Anda dapat membuat presentasi kosong, memuatnya dari jalur file, atau membacanya dari stream. Kelas mengimplementasikan IDisposable, jadi membungkusnya dalam sebuah using pernyataan memastikan sumber daya dilepaskan dengan benar.
// Create a brand-new, empty presentation
using var pres = new Presentation();
// Load an existing file
using var existing = new Presentation("report.pptx");
Pengelolaan Presentation objek mengekspos seluruh hierarki slide melalui sifat seperti: Slides, Masters, LayoutSlides, Sections, CommentAuthors, Images, dan NotesSize.
Bekerja dengan Slide
Pengelolaan SlideCollection dikembalikan oleh: Presentation.Slides mendukung penambahan, kloning, memasukkan, menyusun ulang dan menghapus slide. Anda dapat mengkloning slides dalam presentasi yang sama atau di seluruh presentation sambil mempertahankan atau memetakan kembali tata letak.
using var pres = new Presentation();
// The default presentation contains one blank slide
var firstSlide = pres.Slides[0];
// Clone the first slide and append it
pres.Slides.AddClone(firstSlide);
// Insert a clone at a specific position
pres.Slides.InsertClone(1, firstSlide);
// Remove a slide by index
pres.Slides.RemoveAt(2);
// Total slide count
int count = pres.Slides.Count;
Setiap Slide eksposor SlideNumber, Hidden, LayoutSlide, NotesSlideManager, dan Name.Anda dapat mengulang koleksi dengan foreach atau mengkonversi ke array dengan ToArray().
Bentuk dan AutoShapes
Setiap slide berisi sebuah ShapeCollection dapat diakses melalui: Slide.Shapes.Koleksi ini menyediakan metode pabrik untuk tipe bentuk yang paling umum.
using var pres = new Presentation();
var slide = pres.Slides[0];
// Add a rectangle AutoShape
var rect = slide.Shapes.AddAutoShape(
ShapeType.Rectangle, 50, 50, 300, 150);
// Add a connector
var connector = slide.Shapes.AddConnector(
ShapeType.BentConnector3, 100, 200, 200, 50);
// Reorder a shape to bring it forward
slide.Shapes.Reorder(0, rect);
// Remove all shapes
slide.Shapes.Clear();
Pengelolaan AddAutoShape dan (b) InsertAutoShape metode menerima a ShapeType nilai enum ditambah posisi dan ukuran koordinat. AddConnector, InsertConnector, AddPictureFrame, dan InsertPictureFrame mengikuti pola yang sama.
Teks: Paragraf dan Bagian-bagian
Teks dalam presentasi tinggal di dalam sebuah TextFrame, yang mengandung ParagraphCollection.Setiap . Paragraph memiliki PortionCollection dari: Portion objek yang mewakili teks individu berjalan dengan pemformatan independen.
using var pres = new Presentation();
var slide = pres.Slides[0];
var shape = slide.Shapes.AddAutoShape(
ShapeType.Rectangle, 50, 50, 400, 200);
// Access the shape's text frame
var tf = shape.TextFrame;
// Read or set the full text
tf.Text = "Hello, presentation world!";
// Work with individual paragraphs and portions
var para = new Paragraph();
var portion = new Portion("Formatted run");
para.Portions.Add(portion);
tf.Paragraphs.Add(para);
Setiap Portion memiliki PortionFormat properti untuk mengontrol font, ukuran, bold/italic, warna, underline, dan atribut tingkat karakter lainnya. ParagraphFormat mengontrol keselarasan, gaya peluru, jarak dan indentasi.
Tabel-tabel
Tabel ditambahkan melalui ShapeCollection.AddTable, yang menerima lebar kolom dan tinggi baris sebagai array. Yang dikembalikan adalah Table objek memberikan akses ke Rows, Columns, dan individu Cell benda-benda.
using var pres = new Presentation();
var slide = pres.Slides[0];
double[] colWidths = { 150, 150, 150 };
double[] rowHeights = { 40, 40, 40 };
var table = slide.Shapes.AddTable(
50, 50, colWidths, rowHeights);
// Set text in a cell
table.Rows[0][0].TextFrame.Text = "Header 1";
table.Rows[0][1].TextFrame.Text = "Header 2";
table.Rows[0][2].TextFrame.Text = "Header 3";
// Merge cells
table.MergeCells(table.Rows[1][0], table.Rows[1][2], false);
// Style presets
table.StylePreset = TableStylePreset.MediumStyle2Accent1;
Menyimpan Presentasi
Pengelolaan Presentation.Save metode menulis dokumen ke file atau stream. SaveFormat enum menentukan format output. PPTX adalah format utama yang didukung.
using var pres = new Presentation();
// ... build slides ...
// Save to a file
pres.Save("output.pptx", SaveFormat.Pptx);
// Save to a stream
using var ms = new MemoryStream();
pres.Save(ms, SaveFormat.Pptx);
// Save specific slides by index
pres.Save("subset.pptx", new[] { 1, 3 }, SaveFormat.Pptx);
Anda juga dapat melewati sebuah SaveOptions objek untuk kontrol tambahan atas output.
Memulai dengan cepat
Install paket melalui .NET CLI:
dotnet add package aspose.slides.foss
Kemudian buat dan simpan presentasi minimal:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
// 1. Create a new presentation
using var pres = new Presentation();
// 2. Get the default slide
var slide = pres.Slides[0];
// 3. Add a title shape
var title = slide.Shapes.AddAutoShape(
ShapeType.Rectangle, 50, 30, 600, 60);
title.TextFrame.Text = "Quarterly Report";
// 4. Add a content shape
var body = slide.Shapes.AddAutoShape(
ShapeType.Rectangle, 50, 120, 600, 300);
var para = new Paragraph();
para.Portions.Add(new Portion("Revenue grew 12% year-over-year."));
body.TextFrame.Paragraphs.Add(para);
// 5. Save as PPTX
pres.Save("quarterly-report.pptx", SaveFormat.Pptx);
Format yang Didhukung
| Format (Inggris) | Perpanjangan | Bacalah. | Menulis |
|---|---|---|---|
| PPTX | .pptx (dalam bahasa Inggris) | Ya, aku tahu. | Ya, aku tahu. |
| PPSX | .ppsx (dalam bahasa Inggris) | Tidak ada. | Dianjurkan |
| PPTM | .pptm | Tidak ada. | Dianjurkan |
| POTX | .potx | Tidak ada. | Dianjurkan |
| ODP | .odp | Tidak ada. | Dianjurkan |
| FODP | .fodp | Tidak ada. | Dianjurkan |
Catatan: Saat ini hanya PPTX ekspor yang diimplementasikan. Nilai format lain ada dalam
SaveFormatini untuk kompatibilitas ke depan tetapi belum berfungsi.Save()metode selalu menghasilkan output PPTX terlepas dari parameter format. Legacy.pptformat biner tidak didukung.
Open Source & Lisensi
Aspose.Slides FOSS for .NET is released under the MIT license. The full source code is available on GitHub.Anda dapat menggunakannya dalam proyek komersial dan open source, memodifikasi kode, dan mendistribusikannya tanpa batasan. Tidak ada kunci API, file lisensi, atau pendaftaran yang diperlukan.
Memulai
- Panduan Pengembang: Docs.aspose.org/slides/net/ – tutorial dan dokumentasi konseptual.
- Basis Pengetahuan: kb.aspose.org/slides/net/ – FAQ dan artikel panduan.
- Referensi API: referensi.aspose.org/slides/net/ – referensi kelas dan metode penuh.