Cara Menyimpan Presentasi di .NET

Cara Menyimpan Presentasi di .NET

Aspose.Slides FOSS for .NET saves presentations exclusively to .pptx format menggunakan prs.Save(path, SaveFormat.Pptx). Panduan ini mencakup pola penyimpanan yang benar, menyimpan ke jalur yang berbeda, menyimpan ke aliran, dan kesalahan umum terkait penyimpanan.

Panduan Langkah-demi-Langkah

Langkah 1: Instal Paket

dotnet add package Aspose.Slides.Foss

Langkah 2: Buka atau Buat Presentasi

Selalu gunakan using pernyataan. Panggilan penyimpanan harus terjadi sebelum objek dibuang.

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

// Create new
using var prs = new Presentation();
prs.Save("new.pptx", SaveFormat.Pptx);
// Open existing
using var prs = new Presentation("input.pptx");
prs.Save("output.pptx", SaveFormat.Pptx);

Langkah 3: Simpan Setelah Semua Modifikasi

Letakkan Save() panggilan setelah semua modifikasi selesai, sebelum using ruang lingkup berakhir.

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation();
var slide = prs.Slides[0];
var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 300, 100);
shape.AddTextFrame("Hello, World!");
prs.Save("output.pptx", SaveFormat.Pptx);

Langkah 4: Simpan ke Jalur yang Berbeda

Berikan jalur output yang berbeda untuk membuat file baru tanpa mengubah yang asli:

using var prs = new Presentation("template.pptx");
// modify ...
prs.Save("customized.pptx", SaveFormat.Pptx);

The template.pptx file tidak dimodifikasi; customized.pptx dibuat (atau ditimpa jika sudah ada).


Langkah 5: Simpan ke Stream

The Presentation.Save metode juga menerima sebuah Stream:

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation();
using var stream = new MemoryStream();
prs.Save(stream, SaveFormat.Pptx);
byte[] pptxBytes = stream.ToArray();
Console.WriteLine($"Size: {pptxBytes.Length} bytes");

Langkah 6: Verifikasi Output

Setelah menyimpan ke file, periksa apakah file tersebut ada:

var info = new FileInfo("output.pptx");
Console.WriteLine($"Saved: {info.Exists}, size: {info.Length} bytes");

Format Penyimpanan yang Didukung

FormatNilai EnumDidukung
PPTX (Office Open XML)SaveFormat.PptxYa
PDFN/ATidak
HTMLN/ATidak
SVGN/ATidak
PNG / JPEGN/ATidak
ODP (OpenDocument)N/ATidak

Hanya PPTX yang didukung. Parameter format saat ini diabaikan; semua presentasi disimpan sebagai PPTX terlepas dari SaveFormat yang ditentukan.


Masalah Umum dan Solusinya

IOException: The process cannot access the file

File output terbuka di aplikasi lain (misalnya, PowerPoint memiliki file terbuka). Tutup file di aplikasi lain sebelum menyimpan.

File dibuat tetapi tampak kosong atau rusak

Pastikan prs.Save() dipanggil sebelum objek dibuang. Setelah Dispose() berjalan, panggilan berikutnya akan gagal atau menghasilkan output yang rusak.

Format output yang tidak terduga saat menyimpan

Melewatkan apa pun SaveFormat nilai selain SaveFormat.Pptx tidak melempar pengecualian — parameter format diabaikan secara diam-diam dan file selalu disimpan sebagai PPTX. Tidak ada NotSupportedException untuk nilai format yang tidak dikenali.


Pertanyaan yang Sering Diajukan

Apakah saya dapat menyimpan ke file yang sama yang saya buka?

Ya. Menyimpan ke jalur yang sama akan menimpa file asli:

using var prs = new Presentation("deck.pptx");
// modify ...
prs.Save("deck.pptx", SaveFormat.Pptx);  // overwrites original

Apakah penyimpanan mempertahankan konten yang belum saya ubah?

Ya. Bagian XML yang tidak dikenal dari file asli dipertahankan apa adanya. Perpustakaan hanya men-serialisasi bagian-bagian model dokumen yang dipahaminya, dan meneruskan semua XML yang tidak dikenalnya.


Lihat Juga

 Bahasa Indonesia